私が直面している問題は、何百万ものログをかなり高速に保存および取得することに関連しています。私は、ファイアウォール、侵入検知および防止システム、アプリケーション ログ、ユーザー アクティビティなどから毎日のログを収集し、それらをデータベースに保存し、リアルタイムでレポートを実行し、それらを関連付けて侵入を特定するなどの作業を行っています。およびmysql 現時点でのボトルネックはデータベースであることがわかりました。リレーショナル データベースのみの経験があります。一方、私は存在するすべてのテクノロジーについて完全に迷っており、データベース分野で知識を得ました。
では、NoSQL データベース (mongo、cassandra など) は従来のデータベース (MySQL、Oracle、MSSQL など) よりも優れており、パフォーマンスが優れていますか? 私が今まで読んだことから、集計機能がないため、レポートは実行できません。そうですか?
Dataware Houses は私のニーズに適していますか? レポートには使用されますが、リアルタイムには使用されないことは知っています。それは本当ですか、または許容できるかもしれないほぼリアルタイムをサポートする実装が今日ありますか? これは多かれ少なかれ異なるデータベース スキーマの設計方法であり、従来のデータベースがその優れた候補になる可能性があることがわかりました。これは本当ですか?
また、データベースに存在するデータベース機能を使用せずに、テーブル パーティションを作成することも提案されました。アイデアは、おそらくサイズに基づいて個別のテーブルを使用し、個別のテーブルのインデックスを保存および更新するプロシージャを作成し、一般的にそれらを操作して、結合または集計を実行する必要があるときはいつでも処理を高速化することです。誰かがこれに似たものを聞いたり使用したりしましたか? 最初は、そのような解決策はまったく当てはまらないように思えたからです。
最終的に、上記のテクノロジーのいくつかを移行して、より優れたバランスの取れた結果を得ることができますか?
私はそれが大きな問題であることを知っています。ただし、RDBMS に関する私の最新の知識と経験では、問題を解決するには不十分であることがわかりました。そして、テクノロジーは非常に多いので、意見を聞き、議論し、過去に経験を積んだ人々の指導を受ける必要があります。また、特定のアプローチの長所と短所についても説明します。私に役立つ可能性のある提案できるフォーラムはありますか? 最後にもう 1 つ、データ ボリュームの測定ランクはペタバイトではなくテラバイトになるため、hadoop などの一部のテクノロジが除外される可能性があります。