私は NoSQL のコンテキストでこれを求めています。これは、費用をかけずにスケーラビリティとパフォーマンスを実現します。
では、データベース間で大規模な並列分散コンピューティングを実現する必要があるとしたら、現在 (RDBMS パラダイム内で) 高いスケーラビリティを備えた分散コンピューティングを実現するために利用できるさまざまな方法論は何ですか?
データベースのクラスタリングとミラーリングは、分散コンピューティングに何らかの形で貢献しますか?
私は NoSQL のコンテキストでこれを求めています。これは、費用をかけずにスケーラビリティとパフォーマンスを実現します。
では、データベース間で大規模な並列分散コンピューティングを実現する必要があるとしたら、現在 (RDBMS パラダイム内で) 高いスケーラビリティを備えた分散コンピューティングを実現するために利用できるさまざまな方法論は何ですか?
データベースのクラスタリングとミラーリングは、分散コンピューティングに何らかの形で貢献しますか?
RDBMS データベースのスケーラビリティについて質問されていると思います。( amazon dynamo、BigTable ) に基づく NoSQL データベースについて話すことは、まったく別のトピックです。私はHBase、Cassandraなどについて話しています。大雑把に言えば、分散キャッシュとキー値ストアに似たOracle Coherenceのような商用製品もあります。
rdbmsに戻り、
カスタム シャーディングを実行できる RDBMS をスケーリングするためのシャーディング。シャーディングは、複数のテーブルが複数のホストである可能性がある手法です。次に、特定の行を特定のテーブルに割り当てる方法を決定します。たとえば、行 1 ~ 1M は table1 に移動し、1M ~ 2M は table2 に移動するなどと言うことができます。しかし、これは管理の観点からは難しいプロセスです。多くの大規模な Web サイトは、シャーディングに依存してスケーリングします。言及する価値のあるその他の手法は、パーティショニング、mysql フェデレーション、および mysql クラスターです。
MPP データベース 次に、分散とスケーリングを行う RDBMS というデータベースがあります。Terradata は、これらの企業の中で最も成功しています。彼らはある時点でpostgresコアコードを使用したと思います。多くのフォーチュン 500 企業と多くの航空会社が Terradata を使用しています。しかし、それは途方もなく高価です。greenplum、vertica、netezza などの新しい会社もあります。
極端なスケーラビリティ要件を持つ大企業でない限り、同一の RDBMS インスタンスのクラスターを構築し、それらを JTA トランザクションと同期することで、DB を水平に ACID スケールアップできます。
この Java/JDBC ベースの記事を参照してください。JEPLayerフレームワークが使用されていますが、そのままの JDBC および JTA コードを使用できます。
RDBMS パラダイム内: シャーディング。
RDBMS パラダイムの外: キー値ストア。
私の選択: (私は RDBMS のバックグラウンドから来ました) テーブル型のキー値ストア - HBase。
RDBMS パラダイム内では、シャーディングはうまくいきません。
RDBMS パラダイムを使用してモデルを設計し、プロジェクトを立ち上げて実行します。
表形式のキー値ストアを使用して SCALE OUT します。
シャーディング:
シャーディングについて考える良い方法は、それをユーザー アカウント指向の
DB 設計と見なすことです。
ユーザー アカウントが扱うすべてのスキーマ エンティティは、1 つのホストに保持されます。
ホストへのユーザーの割り当ては、ユーザーがアカウントを作成するときに発生します。
最も負荷の低いホストがそのユーザーを取得します。
そのユーザーがアカウント作成後にサインオンすると
、データを持つホストに接続されます。
各ホストには一連のユーザー アカウントがあります。
このアプローチの問題点は、ホストが停止すると
、一部のユーザーが停電することです。
これに対する解決策は、プライマリ ホストで問題が発生したときにプライマリになる レプリケートされたスタンバイ ホストを用意することです。
また、設計が
大幅に変更されないプロセスでは、かなり厳格な設定です。
ユーザーの観点から見ると、シャード DB バックエンドを備えた Web サイトは
、プラットフォーム上でさまざまなビジネス モデルを作成するため
に「1 セント硬貨をオンにする」ほど迅速ではないことに気付きました。
これを、真に分散された
キー値ストアを持つ Web サイトと比較してください。これらの企業は、あらゆる範囲の
サービスをホストできます。彼らのプラットフォームはまさにそれです - プラットフォームです。
リレーショナルではなく、API インターフェイスを備えていますが、機能している
ようです。