単一ノードPostgreSQLに代わるものとして、複数のノードを持つカサンドラは良い選択ですか?格納されるデータは時系列である。すでに数十ギガバイトで、成長が見込まれています。データベースはパイプラインに統合され、ソースとしてapache sparkが付いていて、場合によっては結果の宛先になるはずです。冗長
1):1つのノードの障害は、システムを停止するべきではありません(すべてのデータが利用可能であるべきである)
2)速度:必要なのは 複数のノード - 単一のインサートあたりの少ない時間/ 1クライアント
3を選択)並行処理:複数のノード - 同時挿入のためのより良いスピード/あなたのポイントのために異なるクライアントからPostgreSQLの代わりにCassandra
答えて
を選択:
1)これは、鍵空間複製因子RFとの整合性レベルCLを選択しながら、あなた次第です質問ですあなたの挿入物の選択と選択。利用可能で一貫性を持たせるには、1つのノードのハンドオフ損失のためにあなたのRF = 3とCL.QUORUMが必要です(クォーラムの場合、RF/2 + 1ノードはオンライン、3/2 + 1 = 2 - RF = 5の場合、5/2 + 1 = 3ノードをオンラインにする必要があるため、2)の損失を処理できます。
2)単一の要求は、クラスタ内のコーディネータとして単一のノードによって処理されます。ここでは、単一の同期要求と同期要求ではあまりパフォーマンスは得られません。リクエストを発行して非同期を使用すると、より多くのノードにリクエストが分割され、パフォーマンスが向上します。
3)多くのクライアントでは、同じ効果があります。コーディネーターはランダムに選択されます(適切なコーディネーターを選ぶTokenAwarePolicyがあります)。
あなたは時系列データを使用すると述べました。 1.もちろん、レプリケーションファクタと整合性レベルを変更することができます。だから、カサンドラは代わりとして良いだろう。
2. Cassandraが最初にメモリを書き込むので、挿入物が本当に速くなります。だから、カサンドラは代わりとして良いだろう。
3. Cassandraは、線形水平スケーラビリティを持ちます。だから、カサンドラは代わりとして良いだろう。
欠点は、Cassandraがキー値ストレージであることです。だから、クエリの周りのテーブル構造をモデル化する必要があります。 RDBMSとしてのPostgreSQLは、一連のSQL操作をサポートするように柔軟性があります。
時系列データhereとhereでカッサンドラを使用する際のいくつかの賛否両論についてもっと読むことができます。
- 1. postgresqlのtrunc関数の代わりに
- 2. whereステートメントのwhere文節の代わりにCassandra
- 3. セロリ:RabbitMQの代わりにPostgreSQLを使用
- 4. の代わりに
- 5. SSOの代わりにSelenium Webdriverの代わりに
- 6. MySQLの代わりにCOUNT(*)OVER(PARTITION BY mct.MasterTableid)の代わりに
- 7. java印刷の代わりに0の代わりに
- 8. asp.netの代わりにasp.netの代わりにmvc
- 9. 、代わりの
- 10. 代わりにevent.srcElement.id
- 11. 代わりにgroup_concat
- 12. Entirerow.Clearcontentsに代わり
- 13. 代わりにギャラリーウィジェット
- 14. が、代わりに
- 15. 代わりにクラス
- 16. SpinWait.SpinUntilに代わり
- 17. 代わりに幅
- 18. MySQLの代わりにPostgreSQLを使ってArtifactoryを設定するには?
- 19. 現代のフレームの代わりに?
- 20. 古代の "マーキー"タグの代わりに?
- 21. PostgreSQLの機能:最後の文が返すbigint型の代わりに整数
- 22. PostgreSQLのトリガー代わりに、インサートのは、このコードが動作する
- 23. PostgreSQLの文字列定数の代わりに関数パラメータを使用
- 24. 代わりに、コードの下
- 25. ポップアップメニューの代わりにプレハニカム
- 26. デバッグの代わりにログ?
- 27. 注釈の代わりに?
- 28. ボタンの代わりにピッカー
- 29. オペレータの代わりにmysql
- 30. Application.DoEvents()の代わりに