問題タブ [document-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.
c# - RavenDB と複合パターン
私がそのような構造を持っているとしましょう
Field クラスは合成することができ、クラスから派生した他の Field も含めることができるField
ので、ある種の階層構造を持っています。フォームはしっかりしたドキュメントとして RavenDB に永続化され、正常に動作します。RavenDB からインスタンスを取得することについて疑問に思っていForm
ます。Raven に適切なクラス (クラスから派生したField
クラス) を作成してもらいたいのです。では、2 つの派生クラスがFieldDerived1
あり、それらを取得した後にそれらを のコレクションにFieldDerived2
入れる場合、実際の型を持つ 2 つの要素と、これらのクラスに追加したすべての追加プロパティが必要だとしましょう。Fields
Form
FieldDerived1
FieldDerived2
c# - クエリオブジェクトを構築するための同じドキュメントセットでのRavendbマルチマッピング?
私はRavendDbをプロジェクトで使用し、何かをしようとして学習しています。SQL /リレーショナルデータベースの経験がないので、mapreduceとドキュメントデータベースを使用する方が簡単だと思います。
4つの静的インデックスを作成して4つのデータベースクエリの結果を組み合わせるのではなく、1つの静的インデックスを作成して4つの条件フィールドの出現回数を保持するオブジェクトを作成しようとしています。
静的インデックスは次のとおりです。
単体テストでインデックスをコンパイルしてデプロイするために、selectnewステートメントごとに4つの変数を追加しました。いくつかの例で見たように、AddMap(...)関数を使用できないようです(Map変数を上書きしているだけだとわかります)。10年代または100年代にはそれほど多くのクライアントはありませんが、おそらくクライアントあたり1000年代には多くの製品があります。
このインデックスの意図を構築するための簡潔な方法はありますか?または、フィールドごとに1つのマップを削減し、その結果を呼び出し元コードで組み合わせるのがより良い方法ですか?
database - リレーショナル データベース / ORM またはドキュメント データベース / ODM を使用する動機
プロジェクトを最初から作成していないのは久しぶりで、ドキュメント指向データベース(および ODM) が非常に普及したため、やみくもにリレーショナル ルートに進む前に、それらについて検討する必要があります。
いずれかの選択につながる可能性のある動機/プロジェクトの基準をリストアップしようとする人はいますか?
nosql - いつどのデータベースを使用しますか?つまり、使用するデータベースを選択するときに確認する必要のあるパラメータは何ですか?
複数のモジュールを持つシステムを開発していますが、
- ソーシャルメディアユーザーの人口統計-(ドキュメント)-名前、場所、興味、仕事、教育
- ソーシャルメディアユーザー接続-(グラフ)-友達
- CRM-(行と列)-テレコム+銀行など
いくつか例を挙げると。私はすでにそれらのそれぞれで何百万ものレコードを超えたことがあると確信しています。
選択するNoSqlデータベースを探すとき、各カテゴリに少なくとも10個あります。ドキュメントデータベースの場合、からMongoDB
までの配列リストがありますDjonDB
。グラフデータベースなどを探すときも同じです。また、http://nosql-database.org/で、他のキーバリューストアデータベース、列指向データベースなどをいくつか挙げています。
したがって、列指向DBが最適化されている場合、キー値ストアが最適なデータのタイプなど、これらのデータベースから選択するために従う必要のある一般的な経験則があるかどうかを知りたいと思いました。
どのタイプのデータに最適なデータベースとその理由は何ですか?そして最も重要なのは、どのタイプのデータに最も適したデータベースとその理由を教えてください。
ありがとう
postgresql - Postgresをドキュメントデータベースとして使用できますか?
Webサイトまたはモバイルアプリからの分析を保存するためのDBを構築しているとしましょう。トランザクションは重要ではなく(ドロップしてもかまいません)、速度を落とすだけで、同時呼び出しの数だけサポートされ、一貫性が最終的に発生する可能性があり、データの一部が非構造化されます(つまり、ユーザーはランダムなJSON BLOBを渡すことができます)分析ログ呼び出しのパラメーターとして、DBに保存します)。
上記の要件のほとんどを満たしているので、Mongoのようなものがこれに適しています。ただし、多くの異なる役割を満たすようにカスタマイズできるPostgresの機能についてよく耳にします。トランザクションなどを無効にできると思います。
私はPostgresの設定にあまり詳しくないので、質問する必要があります。実際、上記の要件に合うようにPostgresを適応させることは可能ですか?
c# - すべてのドキュメントを取得するために RavenDB クエリを最適化するにはどうすればよいですか?
私は RavenDB の使用方法を学ぼうとしており、そのために基本的な例を作成しました。ストアの初期化とクエリには膨大な時間がかかるようです!
これにより、次の出力が生成されます。
この大まかな例から、次のことがわかります。
- ストアの初期化には膨大な時間がかかります!!
- 最初のエンティティ (10 個のうち) を格納するには、かなりの時間がかかります。
- すべてのエンティティのクエリには、最初は時間がかかりますが、2 回目はまったく時間がかかりません。
特定のタイプ (EntityA) のすべてのドキュメントについて DB に適切にクエリを実行するにはどうすればよいですか? 確かに、RavenDB がすべてのクエリにインデックスを必要とするわけではありませんか? 特に基準のないクエリではありませんか?
(注: デスクトップ アプリケーションに埋め込まれた DB を使用するつもりです。この場合、すべてのドキュメントを一覧表示して DB の内容を表示します。)
json - データ構造の設計
趣味のWebアプリケーションを書いています。現在、JSONオブジェクトをクライアントに送信し、クライアントはそれらをブログ投稿に作成します。現在、JSONオブジェクトは次のようになっています。
時々順序が重要になり始めます。たとえば、ブログ投稿の表示のランダムな順序を作成したい場合。post_ids
現在、のように見える別の配列を使用して["id1", "id2", ...]
おり、その値は上記のJSONオブジェクトのキーとして使用されています。
明らかに、私のオブジェクトは次のようになります。
しかし、IDでインデックスを作成する機能が失われ、毎回データをトラバースする必要があります。
時々私はオブジェクトも持っていて、そのIDを取得したいです。IDを最初のオブジェクトに含めることができます。
これらのCouchDB/MongoDBスタイルのドキュメントを含むデータ構造を設計するための標準的な方法は何ですか?
mongodb - Windows XP 32 ビット用ドキュメント DB
以下の要件を満たす、Windows XP 32 ビットをサポートするドキュメント DB を探しています。
- サポートを中止してはなりません。つまり、DB の最新バージョンをインストールできるようにしたいのです。MongoDB は XP のサポートを中止したため適合せず、CouchDB は Windows 32 ビットのサポートを中止したため適合しません。
- 比較的単純なはずです。明らかに、アプリケーションはエンタープライズ向けではないため、Cassandra のような複雑な DB は出ていません。実際、列データベースは企業レベルの問題を解決するために存在すると考えられるため、避けたいと思いますが、ここではそうではありません。一方で、新しいフィールドが追加される (そして追加される予定である) たびに DB のアップグレードを避けたいので、リレーショナル DB は必要ありません。
- MongoDB のように、ドキュメントの一部のインデックス作成をサポートする必要があります。hsqldb のようなリレーショナル DB を使用して、データを json 文字列として保存できます。これにより、新しいフィールドを簡単に追加できます。スキーマを変更する必要はありません。しかし、これらのフィールドはデータベースによってインデックス付けできません。繰り返しますが、MongoDB とは異なります。
- 最後に、DB はアプリケーション自体と同じマシンで実行されます。MongoDB の場合はもう 1 つダウンします。これにより、すべての RAM がアプリケーションから自身に奪われます。
ある意味では、MongoDB のようなものを探していますが、Windows XP 32 ビットをサポートしています。
何かアドバイスはありますか?
PS
Windows XP は、MS がサポートを終了するまであと 1 年あることを私は知っています。ただし、とにかく XP をサポートする必要があります。