web-dev-qa-db-ja.com

MySQLで通常行うように、「単一で小さい」Cassandraサーバーから始めませんか?

始めたばかりのどのWebサイトでも、最初は負荷が最小で、最初は遅いペースで増加します。人々は通常、MySQLベースのサイトで開始し、アプリサーバーとDBサーバーの両方として実行されている単一のサーバー(*** VPSは専用サーバーではありません)を使用します。通常、この設定を使いすぎて、必要性を感じた場合のみです。アプリサーバーからDBを分離し、別個のVPSサーバーを提供します。これは、新興企業が資源調達について計画する際にそうなることを期待するものです。

しかし、これまでのところ、Cassandraとは非常に異なっています。人々は通常、多くのRAMを備えた(専用サーバー上の)少なくとも3ノードのクラスターから始めることをお勧めします。 4GBまたは8GB RAMは、彼らが最初に提案するものです。それで、Cassandraは、MySQLと比較して、より多くのハードウェアリソースを必要とします。パフォーマンス、同様の負荷/トラフィック、および同じ量のデータを提供します。レプリケーションによるCassandra)のより高いストレージ要件について理解していますが、他のハードウェアリソースについてはどうですか?

MySQLのようにCassandraベースのアプリから始めることはできません。1または2 VPSから始めて、必要なときにいつでも追加できますか?

編集:

リンゴとオレンジを比較したくない。単一ノードのVPSベースのcassandraインストールと単一ノードのVPSベースのMySQLインストールを使用して開始したときに、どれほど危険な状況になるかを知りたいだけです。これら2つの状況の違い。 cassandraサーバーはMySQLサーバーよりも利用できなくなる傾向がありますか?TomcatもCassandraと一緒に配置すると、単一のサーバーでLAMPスタックを使用するため、何が悪いのでしょうか。

27
Rajat Gupta

TL; DR;
単一のノードから開始することもできますが、c =の高可用性係数が失われます。

Cassandraは、大量のデータ、テラバイト、および 場合によってはペタバイト sを処理するシステム用に構築されています。多くのユーザーは、通常、MySQL(および他の多くのRDBMS)からCassandra)に切り替えます。現在のDBシステムがデータの負荷を効率的に処理できないことが判明すると(クエリが遅くなり、ストレージの管理が困難になるなど) 。)


4〜8 GBのRAMを使用する理由

4〜8 GBのRAMは、効率的なガベージコレクションでのJVMとRAMのサイズに関係しています。アドバイスは、8 GBから始めるべきだということではありませんが、帽子です 8 GBを超えるべきではありません

これは、Cassandra=を使用して非常に基本的なマシンで単一のノードを起動することができないことを意味するわけではありません(実際には、cassandra Raspberry Pi )。


なぜ3つのノードを推奨するのですか?

Availabilityは、cassandraの主なセールスポイントの1つです。 RF = 2の2つのノードがある場合、単一のノードがダウンすると書き込みを実行できません。 3つのノードがある場合でも、読み取りと書き込みの両方を実行できます。

19
Lyuben Todorov

簡単に言えば、あなたは絶対にcan単一の小さなノードから始めます。

他の人があなたがそうしないことを提案していると私が思うことは、あなたがあなたのシステムをどのように構成するかによって異なることを学ぶということです。

単一のノードは高可用性を備えていませんが、Cassandraで実験を始めたばかりの場合、それはおそらく問題ではありません。バックアップの方法にあまり触れないでしょう。物事を調整し、明らかにフェイルオーバーする方法...しかし、あなたの場合、あなたはおそらく気にしません。

あなたは意志とCassandraを使ったコーディングについて学習できます。また、従来のRDBMSを使用している場合、それははるかに大きくて重要なハードルです。

データモデルが気に入ったかどうかを確認します。スキーマフリー設計が好きかどうかを確認してください。すべてを乗り越えたら、スケールアップの方法について心配することができます。

他の質問へのWRT:単一のノードCassandraクラスタ、たとえ小さなマシンで実行している場合でも、そのマシンを他のサービスと共有することは、MySQLを同様の構成で実行するよりも「危険」ではないはずです。

15
Brian Tarbox

人々は通常、多くのRAMを備えた(専用サーバー上の)少なくとも3ノードのクラスターから始めることをお勧めします。 4GBまたは8GB RAMは、彼らが最初に提案するものです。

Cassandraのハードウェアに関する推奨事項は、通常、数百GBのデータを持つユーザー向けです。データ量が少ない場合は、少ない方でも問題はありません。 cassandra-env.shで512 MBまたは1 GBのヒープのみを使用するようにJVMを調整できます。

MySQLのようなCassandraベースのアプリから始めることはできません。1または2 VPSから始めて、必要に応じてさらに追加しますか?

はい、できます。しかし、Cassandra=を最大限に活用したい場合は、少なくとも2台のサーバーで開始する必要があります。一貫性のためにQUORUMを使用できる必要がある場合は3台、1つのノードのサポートを継続します。ダウン。

これほど小さいサーバーで運用システムを実行したことはありませんが、4 GB RAMおよび2コア)のVMで継続的に利用可能なQAクラスターを実行しました。また、小さなデータサイズの場合、他のユーザーが実行するのを見ましたわずか2 GBのRAM上のクラスター。

Cassandraの良い点は、必要な場合に新しいノードをクラスターに追加するのが非常に簡単であることです。クラスターをより強力なハードウェアに移動する場合は、さらに追加すると、新しい大きなボックスを簡単に追加してから、古い小さなボックスを削除できます。

更新:
64 MBヒープで実行するためのCassandraの取得に関する最近のブログ投稿は次のとおりです:

11
Zanson

質問の最後の部分に応じて

「Cassandraベースのアプリから始めることはできません。1または2 VPSから始めて、必要なときにいつでも追加できますか?」

Cassandraでアプリを作成することから始めましょう。私はcassandraの上に銀行アプリケーションを構築し、それはうまく機能しました。6ノードのクラスターがあり、Cassandra 1.1を使用しました。Cassandraは調整可能なデータの整合性が異なります非常に強い一貫性(トランザクションサポート)と最終的な一貫性から。

1つのVPSから始めて、必要に応じてスケールアップできます。 Cassandraはスケーラブルであり、新しいノードを追加するとパフォーマンスが直線的に向上します。

詳細については、このビデオを見ることができます:

http://www.youtube.com/watch?v=5qEoEAfAer8

便利なリンク :

http://www.datastax.com/docs/1.1/initialize/cluster_init

http://www.datastax.com/2012/01/how-to-set-up-and-monitor-a-multi-node-cassandra-cluster-on-linux

0
navin