8

私はリレーショナル データベース設計の理論と実践に精通しています。

何が機能し、何が機能しないか、何がパフォーマンスが高く、何が保守可能かを知っています (ほとんどの場合、実際のデータを取得し始めると、微調整する場所が常にあります)。

Google の Bigtable (Google アプリ エンジン用のアプリを作成するため) などの分散型スケーラブル データベースに関する実質的な知識を見つけることができないようです。何が機能し、何が機能しないか、何が拡張され、なぜ拡張されないのか?

確かに、いくつかのブログ投稿や記事はありますが、bigtable や同様のデータベース パラダイム用のデータベースの設計に関する本や学術研究論文はありますか?

4

4 に答える 4

14

... bigtable および同様のデータベース パラダイム用のデータベースの設計に関する本や学術研究論文はありますか?

Bigtable は基本的にデータベースそのものなので、Bigtable のようなデータベースでスキーマをモデル化し、ある程度設計する方法についての質問だと思います。具体的には、Google の App Engine でこれを行う方法を知りたいと考えています。

GAE では、Datastore API を使用します。これにより、Bigtable に重要な抽象レイヤーが追加されます。そのため、HBase などを使用している場合のように、低レベルの詳細について心配する必要はある程度ありません。SO に関する投稿がいくつかあります (これは、GAE チームの一員であると私が考える Google エンジニアによる優れた回答です)。この新しいタイプのデータベース システムにアプローチする方法についてガイドし、ヒントを提供します。

役立つ情報:

  1. HBaseは、Google のBigtable ( Alternate Link ) ペーパーに触発されました。
  2. Hypertableも Bigtable の論文に触発されました
  3. Cassandraデータ モデルは、Bigtable の論文に触発されました
  4. Hadoopは、Google のGFSMapReduceの論文に触発されました。
于 2009-09-30T07:58:09.207 に答える
13

私が知っている非リレーショナルデータベースの設計に関する最近の文献はあまりありませんが、リレーショナルパラダイムが「勝つ」前の古い論文を掘り下げることで貴重な洞察を得ることができるかもしれません。

もちろん、Bigtableのようなデータベースの基本的な洞察は、Webアプリやその他の読み取りが多いアプリケーションでは、安価なディスクストレージが利用できることを考えると、読み取りを最適化し、書き込みでより多くの作業を行うことが最善のアプローチであるということです。正規化は逆のことを行います。つまり、ディスク上のデータの複製を最小限に抑えることで、書き込みをより簡単かつ安価にしますが、読み取りはより困難になります。リレーショナルデータベースの設計とのほとんどすべての違いは、この単一の事実から生じています。

もう1つの結果(より注意を払う可能性があります)は、読み取りを最適化するときに、どのタイプの読み取りを実行するかを事前に知っておく必要がありますが、正規化された構造は多かれ少なかれ読み取りに依存しません。

于 2009-09-30T08:51:11.440 に答える
1

念のために言っておきますが、bigtableに関する Google の論文を読みましたよね?

Hadoop などのテクノロジーは、この最初の論文に基づいています。

于 2009-09-30T07:20:06.967 に答える
1

検索語は、列指向のデータベース/datastoresです。

ウィキペディア

最初に、データベースを構築する方法についての議論がありました。行指向が勝ちました。

ただし、列指向は「復活」段階にあります。大規模な読み取り専用の分散シナリオに最適です。

列指向のデータベース/ストアを検索すると、多くの理論が見つかります。

于 2009-09-30T07:12:06.857 に答える