問題タブ [non-relational-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1949 参照

python - Django MongoDB エンジンの外部キー リストを設計する

Django MongoDB エンジンを使用して ManyToManyField を実装すると、以下のように設計できます。

上記のものは、フィールド「メンバー」をmongodb IDリストとしてmongodbに保存します。お気に入り"members" : [ ObjectId("4e46434741b6994c70000000") ]

MongoDB ID を文字列として保存することもできます。

上記のものは、フィールド「メンバー」を文字列リストとしてmongodbに保存します。お気に入り "members" : [ "4e46434741b6994c70000000" ]

私の質問は、これらの構造のどれがmongodbクエリにとってより効率的ですか?

0 投票する
2 に答える
1613 参照

python - 私のプロジェクトのエラーは何ですか?

djangoフレームワークを使用してpython(2.7)プロジェクトにmongodbを使用しています。pythonmanage.pyrunserverを指定すると機能しますが、db(python manage.py syncdb)を同期すると、ターミナルに次のエラーが表示されます。

この問題を解決する方法は?

0 投票する
1 に答える
849 参照

database-design - さまざまな並べ替えクエリ用の NoSQL データベース (DynamoDB) のモデル化

必要なクエリを処理できるように、DynamoDB テーブルをモデル化する方法について、具体的な質問があります。

私のアプリケーションは、「イベント」のアイデアを中心にしています。すべてのイベントには属性 (名前、場所、時間、参加者数など) があります。イベントは、それらが配置されている都市に関連付けられています。get / query リクエスト (おそらく一連の get / query リクエスト) を実行して、特定の都市の参加者が最も多い上位 25 のイベントを取得する方法を見つけようとしています。

私はリレーショナル データベースのバックグラウンドを持っており、これは非常に単純なクエリになります (select * from events where city = x order by出席者制限 25)。しかし、非リレーショナル データベースで同じことを行う方法を理解するのに苦労しています。ハッシュのマッピングを保存するために追加のテーブルを作成する必要があることはわかっていますが、それを理解できないようです。

私がそれを実装することを考えた1つの方法は、どういうわけか「出席者」(Number型の)を範囲キーにし、都市をハッシュキーにすることです。ただし、これは必ずしも一意のキーではありません。これは、同じ都市の複数のイベントに同じ数の参加者がいる可能性があるためです。また、範囲キーを「更新/アトミックにインクリメント」することさえ可能ですか?

ご助力いただきありがとうございます!

0 投票する
1 に答える
301 参照

amazon-web-services - AWS NoSQL または AWS RDS、ソーシャル グラフを保存する良い方法は何ですか?

最近、いくつかのソーシャル グラフ情報をデータベースに保存したいと考えています。ユーザーは、ソーシャル グラフを持つサーバー側で発生する自動「マッピング」によって新しいソーシャル ノードを発見します。

背景: 新しいクライアントが訪問するたびに、他のソースから既存のソーシャル ノードを保存します。その 1 つの例が Facebook です。そのため、Facebook の友達のリストとそのクライアントの Facebook ID があり、それらをデータベースに保存しています。次にサーバーは、クライアントのフレンド リスト内の各項目を既存のクライアントと照合しようとします。一致する場合、このクライアントには私のサービスを使用している友人がいます。次に、サーバーは一致したリストを返し、エッジの反対側で一致をマークします。次にクライアントの友達が戻ってきたときに、マッチングが完了したという通知も受け取ります。

障害: 私の問題は、このメカニズムではサーバーがクライアントのソーシャル グラフの完全なリストを格納する必要があることです。私の例では、これはクライアントの Facebook の友人の完全なリストです。このソーシャル グラフは任意に大きくなる可能性があるため、1 つのアイテムに格納することはできませんが、クライアント ID とフレンド ID のペアを使用して、複数のアイテムまたは行にまたがります。この方法で保存すると、キーがかなり不均一に分散される可能性があり、DynamoDB を使用できなくなります。ただし、高速アクセスの利点を得るために、一部の AWS NoSQL サービスに保存する可能性を探りたいと考えています。

これらのデータを AWS NoSQL サーバーに保存する良い方法はありますか? または、効率をあまり落とさずに RDS に入れるためにできる最適化は何ですか?

0 投票する
2 に答える
380 参照

ravendb - RavenDB: 十分に効率的ですか?

上司から、RavenDB のような非リレーショナル データベースへの移行を検討するように言われました。私が理解しているように、すべてのストアド プロシージャを C# で書き直す必要があります。RavenDB を使用するのが良い考えかどうか教えてください。それは十分に効率的でしょうか?

ありがとう。

0 投票する
1 に答える
620 参照

python - GAE データストアを使用して契約データベース (複数の買い手または売り手) をモデル化する方法

私はプログラミングが初めてで、GAE データストアの概念を理解しようとしています。契約を簡単に書けるようにするアプリを構築しようとしています (http://contractpy.appspot.com)。知りたいのは、契約を記録するデータベースをモデル化する方法です (契約には複数の人がいる可能性があることを考慮して)トランザクションの同じ側で)?

リレーショナル モデルでは、次のことを行います。人用のテーブルを作成し、次に契約用のテーブルを作成し、その契約に参加した人を参照する 3 つ目のテーブルを作成します。次のようになります(私は推測します):

私の質問は、GAE データストアでこれを行う最善の方法は何ですか? 以下にスケッチを書きましたが、これが GAE データストアの非リレーショナル コンセプトを使用した正しい考え方であるかどうかはわかりません。

Python 2.7 で GAE を使用しています。

ヘルプ/アドバイスをよろしくお願いします!

0 投票する
1 に答える
156 参照

database - Adabas システム日付

データベースのシステム日付が必要です。データベースはadabasです。Attunity を使用してデータベースにアクセスしましたが、Google や公式サイトに情報がありません。

Oracle データベースのようなもの:

0 投票する
2 に答える
856 参照

mapreduce - Couchdb: リレーショナル データベース機能

次のような 239800 個のドキュメントのリストがあるとします。

doc.data.agedoc.data.incomeheightでドキュメントにインデックスをdumplings_consumed付け、各パラメーターの範囲を指定した後にドキュメントのリストを取得できることはわかっていますが、次のようなクエリの結果を取得するにはどうすればよいですか。

年齢が 25 ~ 30 歳で、収入が $10 未満で、身長が 7 フィートを超えるドキュメントのリストは?

複数のインデックスを機能させる方法はありますか?

0 投票する
1 に答える
120 参照

mongodb - Mongodb-イベントのデータ型

私はMongoDBの初心者です。

イベントを保存できるコレクションを作成する必要があります。イベント内のすべてのドキュメントには、FROM_TIMEキーとTO_TIMEキーがあり、その値は次のように変化する可能性があります。

  1. {FROM_TIME: "1939年9月1日"、TO_TIME:"1945年8月"}
  2. {FROM_TIME: "1947年8月15日"、TO_TIME:"1947年8月15日"}
  3. {FROM_TIME: "1857"、TO_TIME: "1858"}
  4. {FROM_TIME: "1944年12月7日11:00"、TO_TIME:"1944年12月7日14:40"}
  5. {FROM_TIME: "1971年1月"、TO_TIME:"1972年11月"}

FROM_TIMEとTO_TIMEがランダムに発生する場合、次のようなイベントを照会することは可能ですか。

  1. 19世紀後半の出来事のリスト
  2. 8月15日などのイベント一覧。

私はMongo(または他の非リレーショナル)DBで非常にナイーブなので、コレクションの構造を再考する必要がある場合に備えて、ここの人々にリードを提供するように依頼します。

***最初の編集はここから始まります

私は次のコードを書きました:

ここでは、文字列を使用して不完全な日付を保存しましたが、1992、2001、2012のような年、または1月、9月、2010年8月のような月をどのように保存する必要がありますか?正しいことを期待しているかどうかわかりません!そのような「不完全な」タイミングをどのように処理しなければならないかについて教えてください。

***最初の編集はここで終了します

0 投票する
1 に答える
1330 参照

xml - 半構造化データ モデルが構造化モデルよりも適切なのはどのような場合ですか?

XML のような半構造化データ モデルと、よく知られているリレーショナル データ モデルのような構造化データ モデルについて考えてみましょう。

リレーショナル dbms ではなく、XML データベースにデータを保存する方がよいのはいつですか?

もちろん、管理したいデータの種類にもよりますが、XML データベースを使用した方が確実に優れている特定の種類のデータはありますか?

XML で確認できる唯一の利点は、属性「タイプ」の値に関してのみ変化する多くの null 値を持つエンティティがある場合にメモリを節約できることです。XML ファイルでは、リレーショナル テーブルに null になる属性を格納しません。

それには他にもたくさんあるように思えますが、私にはわかりません。