GAE/JのBigTable(ビッグテーブル)について

BigTable(ビッグテーブル)とはGoogle検索、Google App Engineなどのプロジェクトの基盤として利用されています。
プログラミング言語の連想配列やMapと同様に「Key(キー)」と「Value(値)」のペアからなる、ごくシンプルなデータモデルに基づくデータストア(分散Key-Value Store)です。
BigTableでは、OracleやMySQLといったリレーショナルデータベースの様にテーブルをテーブルのJOIN(結合)して取得ことはできません。
しかし、BigTableは、各データ項目を任意の数のコレクション形式(データ項目を配列のように)にできます。

BigTable(ビッグテーブル)のパフォーマンスについて

BigTable(ビッグテーブル)は、保存されているエンティティが1件でも、1000件でもパフォーマンスに差はありません。
参照処理はとても速いです。
しかし、エンティティの更新処理はとても遅いです。
パフォーマンスを決めるのは、更新処理の実装方法です。
エンティティグループを個別して、同時に並列処理したり、リクエスト処理ではmemcacheに書き込み、Task Queueのバックグラウンド処理でエンティティに更新するなどすればパフォーマンスが向上します。

inserted by FC2 system