9

Amazon Dynamo DB や Mongo DB などの nosql データベースで動作するように、既存の Java ショッピング カート アプリを変更したいのですが、従来の MySQL データベースはリレーショナル データベースであり、複合キー/主キー/外部キーを備えています対照的に、Amazon Dynamo DB には、単一の主キー、または 2 つのフィールドで構成される複合主キーのいずれかがあります...

リレーショナル データベースの詳細なデータ モデルがあります...Dynamo DB でアプリケーションを動作させることができる Amazon Dynamo DB のデータベースを作成するには、どのように変換すればよいでしょうか (つまり、Sql データベースはありません)。これを行う際に留意する必要があるベストプラクティス/予防策はありますか? これには、アプリケーション コードの書き直しも多くの作業が必要ですか? または、アプリのロジックを変更せずに、データベース レベル自体ですべての変更を処理できますか? また、この作業の大部分/大部分を行うツールはありますか?

4

2 に答える 2

2

ここから始めましょう: http://mongify.com/これは「完全に自動化された」ソリューションではありませんが、SQl アプリをリバース エンジニアリングして、 MongoDB アプリ。

于 2012-09-28T01:02:15.807 に答える
2

これを自動化する方法はありません。MongoDB のような NoSQL データベースは、MySQL と同じ方法でデータ構造をマッピングしません。さまざまなパフォーマンス特性と、データを格納するさまざまな方法があります。場合によっては、2 つの SQL テーブルを 1 つのコレクションに結合し、結合されたデータを同じドキュメントに含めるだけです。

どのように、いつそれを行うかは、データを論理的にグループ化する方法にすべて依存しますが、データにかけるワークロードの種類にも同様に依存します。たとえば、読み取りが多く書き込みが少ない場合は、書き込みが多く読み取りが少ない場合とは異なる方法でデータを保存することがあります。

アプリケーションからデータベースへのインターフェイスをやり直す必要があるだけでなく、データ モデルを再構築する必要もあります。これは、SQL 構造を設計するのと同じくらいの作業になりますが、SQLでどのように行うかを考えなくてもうまくいきます。NoSQL と SQL はまったく異なる 2 つの獣であり、同じように扱う必要があります。

于 2012-05-01T09:22:42.803 に答える