2017-11-17 11 views
0

私たちは、OLTPデータを保持する「レガシー」SQL Serverベースのアプリケーションを持っているが:OLTPデータ構造が カサンドラと集計されたデータ

  • 非常に複雑である

    • それでも我々はのためのソースとしてそれを維持する必要がありますOLTP構造の上に
    • レポートは
    • だから、我々は準備し、実際の「OLAP」-views、たとえば、一日あたりの売上高を維持する非常に遅い報告し、各ビューは、実際にMS SQLデータベース内のテーブルである

    主な問題:新しいビューが必要な場合、既存のすべてのOLTPデータをスキャンするのに多くの時間がかかります。

    今、私たちは、カサンドラに移行したい、我々は同じ目標をachiveする同じアプローチを使用する必要がありますか:

    • は、私たちはより良いスパーク/麒麟のようなツールを使用することが、彼らはこのようなことを行うことができてもいいですか?
    • 何とかアプローチを変えることができますか?
  • 答えて

    2

    あなたが探したい回答ではないかもしれません。しかし、私はちょうど私たちの経験をカッサンドラと集計したデータと共有したいと思います。私たちのプロジェクトでは、世界中のサーバーからデータを収集し、それに応じて集計を行う必要があります。メトリックの中には、サーバごと、地理的領域ごとなどのメッセージがあります。新しいデータが入ったら、バッチ処理を自動的に開始して集約を実行したり、複数のテーブル/ビューにデータを挿入したりします。さらに処理エンジンとしてapache-sparkを使用しています。さらに、具体的な使用例に基づいて、materialized view,secondary index,custom triggerなどのいくつかの概念を使用しています。データモデルを設計する際の重要な点の1つは、NFを忘れることです。基本的には、NoSQLでは一般的にこれを必要としません。

    つまり、従来のデータベースからNoSQLデータベースへの移行は、最初は面倒だったかもしれません。しかし、最終的な結果は、パフォーマンスと可用性の点では非常に満足です。

    +0

    あなたの経験を共有してくれてありがとう。私が見ているように、私たちは多かれ少なかれ同じことを、「自動的にバッチ処理を開始して集約を実行する」という言葉で行うべきです。マテリアライズド・ビューは優れた機能ですが、私たちのデータ構造は複雑すぎます。 –