このセクションでは、MySQL をドキュメントストアとして使用する際に導入される概念について説明します。
JSON ドキュメントは、キーと値のペアで構成されるデータ構造であり、MySQL をドキュメントストアとして使用するための基本的な構造です。 たとえば、world_x スキーマ (この章の後半でインストール) には次のドキュメントが含まれています:
{
"GNP": .6,
"IndepYear": 1967,
"Name": "Sealand",
"_id": "SEA",
"demographics": {
"LifeExpectancy": 79,
"Population": 27
},
"geography": {
"Continent": "Europe",
"Region": "British Islands",
"SurfaceArea": 193
},
"government": {
"GovernmentForm": "Monarchy",
"HeadOfState": "Michael Bates"
}
}
このドキュメントでは、キーの値は整数や文字列などの単純なデータ型にできますが、他のドキュメント、配列およびドキュメントのリストを含めることもできます。 たとえば、geography
キー値は複数のキーと値のペアで構成されます。 JSON ドキュメントは、JSON
MySQL データ型を介して、MySQL バイナリ JSON オブジェクトを使用して内部的に表されます。
ドキュメントと従来のリレーショナルデータベースから認識されるテーブルの最も重要な違いは、ドキュメントの構造を事前に定義する必要がなく、コレクションに異なる構造を持つ複数のドキュメントを含めることができることです。 一方、リレーショナルテーブルでは構造を定義する必要があり、テーブルのすべての行に同じカラムが含まれている必要があります。
コレクションは、JSON ドキュメントを MySQL データベースに格納するために使用されるコンテナです。 アプリケーションは通常、特定のドキュメントを検索するなど、ドキュメントのコレクションに対して操作を実行します。