2

現在、AmazonSimpleDBを評価しています。SimpleDBは、テーブル(またはドメイン)スキーマを持っている必要がないという意味で非常に柔軟性があります。スキーマは、作成/更新コマンドが流入するにつれて進化します。これはすべて問題ありませんが、モデリングツール(MindScape LightSpeedの評価)を使用している間、ツールがスキーマに基づいてモデルを生成するために、スキーマを事前に必要とします。SimpleDBでドメインを手作りすることはできますが、それは役に立ちますが、そのためには、ドメインに対して少なくとも1つの作成操作を実行する必要があります。ドメインスキーマのみを作成する機能を探しています。手がかりはありますか?

4

2 に答える 2

1

SimpleDBにはスキーマはありません。

これが、NoSQLの人々が、パラダイムをこれらの非リレーショナルデータストアに移行する前に、リレーショナルデータベースを「学習解除」することを提案する理由です。

だから、あなたはあなたが説明することをすることはできません。データがなければ、何もありません。

于 2009-12-14T11:34:28.377 に答える
1

SimpleDB がスキーマをサポートしていないことは事実ですが、数値データまたは日付に対してクエリを実行する場合、一部の型情報を保持することが重要であることがわかります*。ほとんどの NoSQL 製品は、クエリと型の両方を備えているか、またはクエリと型を備えていませんが、SimpleDB はクエリと型を選択していません。

その結果、メイン アプリケーションの外部にあるツールと統合するには、次のいずれかが必要になります。

  1. 重複した型情報を別の場所に保存する
  2. 型情報を格納する独自の単純なスキーマ システムを作成する

オプション 2 のほうがはるかに優れているように思われますが、それを選択することは、一部の人が示唆していることにかかわらず、「自分の考えが正しくない」という意味ではありません。

S3 はこのデータに適したオプションです。ドメインと同じ名前のファイルに保存でき、SimpleDB アカウントと同じ AWS 資格情報を使用してどこからでもアクセスできます。

データを attributename=formatname のリストとして保存することは、私が必要としている範囲です。実際、これらすべてをドメイン内のアイテムに保存できます。唯一の問題は、この特別な項目が、タイプ情報ではなくライブ データを期待しているドメイン クエリから意図せず返される可能性があることです。

私は MindScape LightSpeed に精通していませんが、これは SimpleDB を使用するときに有益であるとわかった一般的な戦略であり、製品が S3 にファイルをロード/保存できる場合はなおさらです。

*注: 明確にするために、車輪の再発明や、SimpleDB をリレーショナル データベースとして使用することについて話しているわけではありません。SimpleDB の文字列ベースのクエリ言語を使用するには、数値データをゼロ パディング (選択した長さまで) とオフセット値 (符号付きか符号なしかに応じて) の両方で格納する必要があるという事実について話しています。 . アプリケーションで使用する形式または一連の形式を決定したら、ソース コード ツールやクエリ ツールでその情報が必要な場合に、その情報をソース ファイルに隠したり散らばらせたりするのは愚かなことです。 、レポート ツール、またはその他のコード。

于 2009-12-14T19:19:44.843 に答える