ジョージア工科大学のフルスタックWeb開発コーディングブートキャンプに参加したことは、私がこれまでに下した最良の決断のひとつです。 予想以上に楽しく、活気があることがわかりました。 最も重要なのは、毎日新しいことを学んでいることです。
ブートキャンプのクラスセッションで、SQLとNoSQL : MySQLとMongoDBの違いを説明するように求められましたので、簡単に説明します。 リレーショナルデータベースでは、一般的にテーブルと呼ばれるリレーションを使用してデータを格納し、データセット内の共通の特徴を使用してそのデータを照合します。
NoSQLデータベースとは、ドキュメントベースのデータベースで、様々なデータモデルを利用した高性能な非リレーショナルデータベースを指します。
NoSQLデータベースは、ドキュメントベースで、様々なデータモデルを利用した高性能な非リレーショナルデータベースを指します。 NoSQLデータベースの例としては、MongoDB、BigTable、RavenDB Cassandra、HBase、Neo4j、CouchDBなどがあります。
MySQL vs MongoDB
MySQLは、データを「テーブル」に格納するオープンソースのリレーショナルデータベースで、データベースへのアクセスには構造化問い合わせ言語(SQL)を使用します。 MySQLでは、要件に基づいてデータベーススキーマを事前に定義し、テーブル内のフィールド間の関係を管理するためのルールを設定します。
一方、MongoDBは、データをBSON(Binary JSON)と呼ばれるバイナリ表現の「ドキュメント」として保存する非リレーショナルデータベースです。
一方、MongoDBは、データをBSON(Binary JSON)というバイナリ表現の「ドキュメント」として保存する非リレーショナルデータベースです。フィールドはドキュメントごとに異なりますが、ドキュメントの構造をシステムに宣言する必要はなく、ドキュメントは自己記述的です。
つまり、非リレーショナルデータベースにはテーブルモデルは存在せず、データは1つのドキュメントファイルに格納され、リレーショナルデータベースのテーブルは構造データのフィールドを定義された列に整理します。