1

タイトルがはっきりしていなくて申し訳ありませんが、私はそれをよりよく言うことができませんでした。

現在、ジョブキューとして従来のDB(oracle)を使用しており、これらの「ジョブ」はいくつかのノード(マシン)によって消費されます。そのため、DBサーバーはこれらのノードに見舞われ、このデータベースサーバーのソフトウェアとハ​​ードウェアに多額の費用を支払う必要があります。

さて、先日、私はそれを思いついた。

1)システムにはすでに複数のノードがあります
。2)ノードの障害が原因で「ジョブ」が失われることはありませんが、セカンダリストレージに配置する必要がある理由はありません(メモリに常駐できなかった理由はありません。それらが失われない限り)

これを考えると、これらのジョブをメモリ内に保持して、このジョブの少なくともn個のコピーがクラスター全体に存在することを確認し、それによってDBサーバーを取り除くことはできませんか?

そのような技術は利用できますか?

4

3 に答える 3

1

ギガスペースを見ましたか?インターネット規模では、永続化する必要はまったくありません。十分な数のコピーがあることを知っておく必要があります。同じパワーグリッド上にない(またはバッテリー電源がある)場所への低遅延接続がある場合は、トランザクションを複製にプッシュするだけで十分です。

于 2011-01-20T22:36:24.787 に答える
1

最大数テラバイトのデータの格納のみを検討しており、冗長性とディスクのリカバリ性を検討している場合は、OracleCoherenceを確認してください。例えば:

  • 弾性。ノードを追加するだけです。自動検出。自動負荷分散。データの損失はありません。中断なし。ノードを追加するたびに、より多くのデータ容量とスループットが得られます。
  • RAMとフラッシュの両方を使用します。透過的に。Coherenceノードごとに数十ギガバイトまたは数百ギガバイトを簡単に処理できます(たとえば、物理サーバーごとに最大TB以上)。
  • 自動高可用性(HA)。データを失うことなく、プロセスを強制終了します。データを失うことなく、サーバーを強制終了します。
  • データセンターの継続的な可用性(CA)。データセンターを強制終了します。データが失われることはありません。

完全に開示するために、私はOracleで働いています。この投稿で表明された意見や見解は私自身のものであり、必ずしも私の雇用主の意見や見解を反映しているわけではありません。

于 2013-08-11T22:22:55.920 に答える
0

それは、これらのテクノロジーがあなたのためにどれだけ期待するかによります。基本的なインメモリデータベース(SQLite、Redisなど)が多数あり、複数のデータセンターに複数のスレーブがある通常のデータベースレプリケーション手法を使用して、永続性のない耐久性をほぼ確保できます。

メモリに格納している場合、スペースが不足し、水平分割(シャーディング)が必要になる可能性があります。SQLを使い続けたい場合は、 VoltDBのようなものをチェックすることをお勧めします。

于 2011-01-20T22:10:16.420 に答える