はじめに
前回に続いて、2023年に公開された論文「Firestore: The NoSQL Serverless Database for the Application Developer」に基づいて、Google Cloudで提供されるNoSQLデータベースサービス「Firestore」のアーキテクチャーを解説していきます。今回は、内部アーキテクチャーを理解する前提となる、Firestoreのデータモデルについて説明した上で、Firestoreのアーキテクチャーの全体像を紹介します。
Firestoreのデータモデル
Firestoreでは、「ドキュメント」の単位でデータを保存します。1つのドキュメントは、「restaurants/one/ratings/2」のように「/」区切りのドキュメントパスで指定されて、最後の「/」より前の部分は、複数のドキュメントをまとめる「コレクション」として機能します。つまり、「restaurants/one/ratings/2」は、コレクション「restaurants/one/ratings」に属する「2」という名前のドキュメントになります。この際、「restaurants/one」など、親パスをドキュメントパスとするドキュメントを持つこともできます。この場合、「restaurants/one」はドキュメントを指し示すと同時に、そのドキュメントを親とするサブコレクションを表すことになります。イメージとしては、図1のように、はじめにコレクションのツリーが定義されており、ツリーの各ノードに、同じドキュメントパスで指定されるドキュメントが用意されると考えるとよいでしょう。この際、すべてのノードが対応するドキュメントを持つ必要はありません。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。

