グーグルのクラウドを支えるテクノロジー > 第7回 スケーラビリティと一貫性を両立した分散データストアMegastore(パート1)

よろしければこちらもご覧ください

CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第7回 スケーラビリティと一貫性を両立した分散データストアMegastore(パート1) 」を公開しました。

はじめに
 今回からは、2011年に公開された論文「Megastore: Providing Scalable, Highly Available Storage for Interactive Services」をもとにして、分散データストア「Megastore」を紹介していきます。Google Cloud Platform(GCP)では、Cloud Datastoreというデータストアを利用することができますが、Cloud Datastoreは、内部的にMegastoreを用いて実装されています。Megastoreに機能を追加して、より簡単に使えるようにしたものがCloud Datastoreだと考えて構わないでしょう。
 Megastore、あるいは、Cloud Datastoreは、スケールアウト型の構造を持っており、1台のサーバーでは対応できないような大量のデータを取り扱うことができます。また、Megastoreの内部構造を知ることにより、Cloud Datastoreの特徴であるエンティティグループやAncestorクエリー、あるいは、インデックスの使い方をスッキリと理解することが可能になります。今回は、Megastoreの仕組みを理解する準備として、まずは、Cloud Datastoreの概要とこれらの特徴を整理しておきます。

Cloud Datastoreの概要
 Cloud Datastoreは、一般に、分散キーバリューストア、あるいは、NoSQLなどに分類されるデータストアです。「Kind」とよばれる複数のテーブルに「エンティティ」とよばれるデータを保存していきます。Kindは、スプレッドシートにおける1枚のシートに相当するもので、各行が個別のエンティティに対応すると考えるとよいでしょう。そして、シートの列に相当するのが「プロパティ」です。各エンティティには、自身を特定する識別子(「ID」+「Parent」)があり、それぞれのKindに固有のプロパティに対して実際のデータを保存していきます。
 図1は、ユーザーが所有する書籍の情報を登録する「本棚アプリ」のデータを想定した例です。ユーザーのプロファイル情報を保存するKind「User」と、それぞれの書籍の情報を保存するKind「Book」があります。

この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai2/nakai207.html

よろしければこちらもご覧ください
この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

Web業界の転職情報

もっと見る
Sponsored by

今日の用語

リンケラティ
リンクを張ってくれるひとたちを指す造語。 SEOにおいてリンクは重要な要素 ...→用語集へ

連載/特集コーナーから探す

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]