5

主キーと状態を保持する 2 番目の列の 2 つの列だけを持つ 10,000 行のテーブルがあります。問題は、この状態を米国内の 3 つの物理的な場所 (約 2000 マイル離れた場所) にほぼリアルタイムで、またはネットワークを介して実際に可能な限り高速に複製する必要があることです。3 つの場所のいずれでも、このテーブルの特定の行の状態を更新できます。これは、ほぼリアルタイムで他の 2 つの場所に複製される必要があります。

私たちがやろうとしていることを達成するのに役立つオープンソースまたは商用の軽量インメモリデータベースはありますか? ここでは、ディスクの永続性はそれほど重要ではありません。

4

4 に答える 4

4

Redisをチェックしてください。これがレプリケーションのハウツーです。

また、DB がインメモリである必要はなく、ただ高速である必要があると判断した場合は、CouchDBを検討することをお勧めします。基本的に即時の連続レプリケーションを実行でき、すべてのノードがマスターです。よく考え抜かれた競合の検出と解決のメカニズムがあります。このブログ投稿は、最新かつ最高の CouchDB レプリケーション機能の優れた紹介です。

于 2010-03-24T22:31:27.320 に答える
1

レプリケーションサポートは組み込まれていませんが、インメモリSQLiteデータベースでトリガーを使用できます。トリガー内で、カスタム関数を使用して変更を他のサイトに伝達します。

于 2010-03-24T22:43:05.207 に答える
1

Altibaseをチェックしてみてください。彼らは、世界最速のインメモリ データベースを持っていると述べました。彼らは、ほとんどのインメモリ DBMS よりも 5 倍から 10 倍高速であると述べており、サイトでは無料の試用版も提供しています。

于 2013-03-20T15:40:59.883 に答える
0

Websphere Server で 6000 行を超える複雑な SQL を 10000 回実行しています。総正味実行時間は次のようになります。

          Derby (In Memory)   Oracle(standard DB) SQLite (In Memory)  HSQLDb (In Memory)
          nano sec.  second    nano sec.  second  nano sec.  second   nano sec. second
1. try    58000000    0,058   6149976000   6,1    1141988000   1,14   999403000    1,00
2. try    78560000    0,078   5268477000   5,2    1182621000   1,18   1338705000   1,34
3. try    58849000    0,058   5200898000   5,2    1133003000   1,13   2239527000   2,24
4. try    60901000    0,06    5435216000   5,4    1205442000   1,21   1370711000   1,37
5. try    58798000    0,058   6501929000   6,5    1186734000   1,19   1001800000   1,00
6. try    62928000    0,062   5913053000   5,9    1224470000   1,22   1066736000   1,07
7. try    71171000    0,071   5111207000   5,1    1200769000   1,20   1304524000   1,30
8. try    66913000    0,066   5517989000   5,5    1173495000   1,17   1299230000   1,30
9. try    58777000    0,058   7209555000   7,2    1179013000   1,18   1031795000   1,03
10. try   75299000    0,075   5356514000   5,3    1182715000   1,18   1368461000   1,37
average   65019600    0,064   5766481400   5,7    1181025000   1,18   1302089200   1,30

私は明らかに Derby、SQLite、HSQLDB を比較しています。Oracleはメモリ内データベースではありません。しかし、メモリ内データベースと通常のデータベースの速度の違いを示すため、結果を表に示しました。

PS: SQLite と HSQLDB の結果は安定していません。だから私は100回の試行で10個の安定した結果を選びます。HSQLDB は SQLite よりも高速な場合があります。性能は同じだと思います。

于 2013-12-04T15:41:32.823 に答える