1

Microsoft および .NET ファミリからオープン ソースに完全に移行することで、製品をオーバーホールしています (理由の 1 つは、コスト削減とデータの指数関数的な増加です)。

データ モデルを SQL Server (リレーショナル データ) から Hadoop (有名なキーと値のペアのエコシステム) に完全に移行する予定です。

最初は、両方のバージョン (1.0 と新しい v2.0 など) をサポートしたいと考えています。データの一貫性を維持するために、両方のシステム間でデータを同期することを計画していますが、これはかなり困難な作業であり、エラーが発生しやすいものですが、他に選択肢はありません。

どこから始めればよいか少し混乱していますが、私は専門家のコミュニティを尊敬しています。戦略/既存の文献、またはこの方向のその他の種類のガイダンスは非常に役立ちます。

4

2 に答える 2

1

コードがどのように構造化されているかは完全にはわかりませんが、現在データまたは永続化レイヤー、または少なくともすべての SQL が実行されるデータベース アクセス クラスがある場合は、保存関数をオーバーライドして両方のデータベースに変更を書き込むことができます。データ レイヤーがない場合は、移行を開始する前にデータ レイヤーを作成することを検討してください。

それ以外の場合は、MSSQL にトリガーを追加して Hadoop を更新できますが、MSSQL の同期を維持するために Hadoop で何ができるかわかりません。

または、x 分ごとに実行され、2 つのデータベースを手動で同期するプロセスを作成することもできます。

個人的には、記録の 2 つのデータベースを維持しようとすることは避けたいと思います。新しい実験的なデータベースから安定したデータベースに変更を移動するのは危険に思えます。安定したシステムを破壊する可能性があります。代わりに、リレーショナル DB から Hadoop にデータを移動するコンバーターを作成します。その後、毎晩、Hadoop にデータをコピーし、新しいシステムの開発とテストに使用します。ベータ版は単なるテストの場であり、実際の製品には影響しないと言えば、テスト ユーザーは理解してくれると思います。UI に大幅な変更を加える予定で、2.0 への移行を望まない人がいるのではないかと心配している場合は、一度に多くのことに取り組みすぎている可能性があります。

これらは私が思いついた解決策です...頑張ってください!

于 2011-06-15T14:06:52.110 に答える
0

Flume (http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/) のようなキューイング ツールを使用して、両方のシステム間で入力を分割することを検討してください。

于 2011-06-15T14:06:41.860 に答える