2

NoSQL データベースと Oracle (特に Oracle RAC について話している) のデータにアクセスするためのベンチマークを行った人がいるかどうか知りたいです。このプロジェクトでは、少なくとも 1,000 万以上のレコードを操作し、それらを検索する必要があります (ただし、リアルタイムである必要はありません)。読み取りは速度にとって非常に重要であり、HA と信頼性を保証することも非常に重要です (レコードを失うことはありません) !!!) Cassandra/MongoDB の方が適している可能性があることはわかります (1,000 万レコードを超えると、キー値ストレージは SQL よりも高速な読み取りを提供するため) が、それらすべてをうまく表現するのは難しいと思います。リンクはありますか?提案?箇条書き?ありがとう!

4

2 に答える 2

5

1,000 万件のレコード。1 レコードあたり 250 バイトと想定します。これは約 2.5 Gb のデータであり、基本的なデスクトップ/ラップトップ PC の容量に十分収まります。データ ボリュームは重要ではありません (画像やオーディオなど、各レコードのサイズが Mb である場合を除きます)。

話し合う必要があるのは、トランザクション ボリューム (読み取りと書き込みに分かれています) と、HA と見なすものです。読み取り専用 HA は、「読み書き HA」に比べて簡単です。地理的に異なる場所にある複数のサーバーに読み取り専用のデータ セットをレプリケートし、クエリのワークロードを分散するのは簡単なことです。

更新の重いワークロードをスケールアウトするのははるかに困難です。そのため、大きなコンサートのチケットがリリースされたときにシステムがメルトダウンするという話をよく耳にします。簡単に言えば、座席数は固定されており、10 の重複したシステムをそれぞれが利用できると考えるものを販売することはできません。つまり、ボトルネック (および潜在的に単一障害点) を意味します。

HA の側面では、RAC は共有ストレージ テクノロジーであり、一般に RAC ノードが近接していることを意味します。これにより、建物の火災や電気通信の故障などの局所的なイベントに対して脆弱になる可能性があります. Data Guard は、オフサイトのレプリケーションとフェイルオーバーに関連する Oracle テクノロジです。

于 2011-02-10T00:18:54.300 に答える
0

ほとんどの場合、NoSQL と SQL を比較する場合、両者の非常に重要な違いを理解する必要があります。NoSQLのデータは、HA を達成するためのコストの順序に一貫性がない場合があります

一貫性がない とはどういう意味ですか? 状況によって異なりますが、通常、ノードの周りにデータを伝播するのに約 3 ~ 5 秒かかります。NoSQL データベースは、それを管理および排除するメカニズムを提供しますが、すべてのデータをリアルタイムで一貫性を持たせたい場合は、Oracle RAC などの従来の SQL を使用するだけです。

速度の比較に戻ります。ネットワーク インフラストラクチャ、コンピューティング パワー、データベース モデルなどの要因を中継するため、どちらが速いかは単純に比較できません。NoSQLに切り替える必要があります。

于 2013-02-18T12:01:55.497 に答える