銀の弾丸ソリューションのようなものはありません。すべてが特定の問題を解決するために構築されており、独自の長所と短所があります。決定するのはあなた次第です - あなたが持っている問題ステートメントと、あなたの問題に合った最善の解決策は何ですか. Cassandra (NoSQL) または MySQL (RDBMS) のどちらを使用する場合でも、すべてシステムの要件によって決まります。以下は、データベースを決定する際により良い決定を下すのに役立つ情報です。
NoSQL を使用する理由
RDBMS データベースの場合、MySQL、Oracle、MS SQL、PostgreSQL など、このカテゴリのほとんどすべてのデータベースが、ACID プロパティを指向したほぼ同じ種類のソリューションを提供するため、選択は非常に簡単です。NoSQL に関しては、NoSQL データベースごとに異なるソリューションが提供されており、アプリやシステムの要件に最適なソリューションを理解する必要があるため、決定が難しくなります。たとえば、MongoDB は、システムがスキーマのないドキュメント ストアを必要とするユース ケースに適しています。HBase は、検索エンジン、ログ データの分析、巨大な 2 次元の結合のないテーブルのスキャンが必要なあらゆる場所に適している可能性があります。Redis は、ツリー、キュー、リンク リストなどのさまざまなデータ構造のインメモリ検索を提供するように構築されており、リアルタイム リーダー ボード、pub-sub のようなシステムを作成するのに適しています。同様に、このカテゴリには、さまざまな問題に適合する他のデータベース (Cassandra を含む) があります。それでは、元の質問に移り、1 つずつ答えていきましょう。
Cassandra を使用する場合
Cassandra は NoSQL ファミリーの一部であり、非常に重い書き込みシステムが必要であり、保存されたデータの上に非常に応答性の高いレポート システムが必要な場合の問題に対するソリューションを提供します。リクエストごとにログ データが保存される Web 分析のユース ケースを検討し、その周りに分析プラットフォームを構築して、時間別、ブラウザ別、IP 別などのヒット数をリアルタイムでカウントします。ブログ投稿 ( http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/ ) を参照して、Cassandra が適しているユースケースについて詳しく理解してください。の。
Cassandra/NoSQL の代わりに RDMS を使用する場合
Cassandra は NoSQL データベースに基づいており、ACID およびリレーショナル データ プロパティを提供しません。ACID プロパティ (たとえば、財務データ) の強い要件がある場合、Cassandra はその場合には適していません。明らかに、それを解決することはできますが、ACID プロパティを処理するために大量のアプリケーション コードを記述することになり、市場投入までの時間が大幅に短縮されます。また、Cassandra でそのようなシステムを管理するのは、複雑で面倒です。