問題タブ [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 投票する
2 に答える
2148 参照

database - 階層的で順序付けられたキー値ストア?

次の機能を持つデータベース システムを探しています。

  1. 階層 (多次元) キー
  2. 各次元でのキーの順序

したがって、私のキーが次のようApp > User > Itemなクエリを実行できる場合、「このユーザーの次のアイテムは何ですか?」というようなクエリを実行できます。または「このアプリの次のユーザーは?」

基本的に多次元ツリーが必要です。GTMを見つけました。このような製品が他にないかどうか疑問に思っています。

0 投票する
3 に答える
413 参照

python - ツイスト用の非リレーショナルデータベース

非同期モードでツイストを操作するためのKey-Valueデータベースの実装を探しています。私が持っているアイデアの1つは、MemcacheDBでTwistedMemcacheAPIを使用することです。

これは他の解決策ですか?

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

database - 提案: noob のための非 RDBMS データベース

Erlang や Python に基づく新しいアプリケーションの場合、RDBMS 以外のデータベースを試してみることを考えています (念のため)。私が調査したデータベースには、Mongodb、CouchDB、Cassandra、Redis、Riak、Scalaris などがあります)。簡単な要件のリストを次に示します。

  1. 開発の容易さ - 簡単な概念実証デモを作成する必要があります。したがって、データベースには、Eralang と Python 用の優れたアダプターが必要です。
  2. 「接続された」データがたくさんある新しいアプリケーションに取り組んでいます。誰かが、グラフのようなデータに Neo4j を推奨しました。それに関するアイデアはありますか?
  3. スケーラブル - 分散アーキテクチャを検討しているため、スケーラビリティが重要です。
  4. 現時点では、(どのような形であれ) パフォーマンスが私のリストの一番上にあるわけではなく、上記のデータベースのいずれかの限界にすぐに達することはないと思います.

非 RDBMS データベースの開始点を探しています。推奨事項はありますか?

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

google-app-engine - Google App EngineとDjango-nonrel:データベースの移行

GAEとDjango-nonrelで「HelloWorld」アプリを起動しました。リレーショナルデータベースで純粋なDjangoを使用することと、Django-nonrelを使用することの間にいくつかの違いがありました。最も悲しいのは、非リレーショナルデータベースでの南の移行システムの機能不全です。GAEを使用してモデルをデータベースに移行する方法はありますか?そうでない場合、この場合に推奨するモデル開発の戦略は何ですか?

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

database - 非リレーショナルデータベースを使用したいのはなぜですか?

データベースの最新の流行は、非リレーショナルデータベースに集中しているようです。なんで?それは一種の逆効果のようです。たとえば、データをリレーショナルな方法で表現する方がはるかに理にかなっています(Djangoのサンプルコード+テーブルのSQL):

SQL:

SQLの力は、この情報を非常に多くの方法で表現できること です。確かに、オブジェクトリレーショナルマッピングの問題全体が存在しますが、私はそれを問題ではなく機能として見ています。SQLを使用すると、昨日より古い特定の投稿のすべての個別のコメントをフェッチし、それらすべてを照合して、統計を生成できます。非リレーショナルデータベースについても同じことができますか?

また、MongoDBのような非リレーショナルデータベースを使用すると、最低限必要なものではなく、オブジェクトグラフ全体をすぐに取得できるため、パフォーマンスに大きな影響を与えるように思われます。

非リレーショナルデータベースを使用することの利点を誰かが私に説明できますか?

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

node.js - MongoDb は私のアプリケーションに適していますか?

ユーザーと製品が多対多の関係にある node.js でアプリケーションを構築しています (1 人のユーザーが多くの製品を持ち、同じ製品が複数のユーザーに属している可能性があります)。各ユーザーには位置情報もあります。

ほとんどの場合、ユーザーの最初の訪問で多くの書き込みを行う必要があり (次の訪問ではいくつかの書き込み)、次に、たとえば、共通の製品の数が最も多く、同じ製品を共通に返すユーザーを一致させる必要があります。 . ユーザーを場所で照合したい場合もあります (または、一致する場所で並べ替えます)。

私は現在postgresを使用していますが、長期的にはmongoを使用したほうがよいと思います。問題は、私がNOSQL DBに取り組んだことがないことです(恐れはありません;))

問題は、次の「スキーマ」が上記に適しているかどうかです。

要件があるため、埋め込みよりもこの方法の方が優れていると思います。私は正しいですか?products_id をユーザー ドキュメントに保存する必要があると思いますか?

ありがとう!!

0 投票する
4 に答える
1043 参照

sql - 動的データベース/キー-値/エンティティ-キー値Dillemma

私は長年リレーショナルデータベースをプログラミングしてきましたが、今では珍しくてトリッキーな問題に遭遇しました。

私は、(ユーザーが)非常に迅速かつ簡単に定義できるエンティティを必要とするアプリケーションを構築しています。これらのエンティティのインスタンスは、作成、更新、削除などが可能です。

私が考えることができる2つのオプションがあります。

オプション1-動的に作成されたテーブル

最初のオプションは、テーブルを動的に生成するエンジンを作成し、それらにデータを挿入することです。ただし、すべてのクエリも動的であるか、少なくとも動的に作成されたストアドプロシージャなどである必要があるため、これは非常に注意が必要です。

オプション2-エンティティ-キー-値パターン

これは私が考えることができる唯一の現実的なオプションであり、5つのテーブル構造があります。

EntityTypes

EntityTypeID int

EntityTypeName nvarchar(50)

エンティティ

EntityID int

EntityTypeID int

FieldTypes

FieldTypeID int

FieldTypeName nvarchar(50)

SQLtype int

FieldValues

EntityID int

FIeldID int

値nvarchar(MAX)

田畑

FieldID int

FieldName nvarchar(50)

FieldTypeID int

「FieldValues」テーブルはデータウェアハウスのファクトテーブルのように機能し、すべての挿入/更新は「Key / Value」テーブル値パラメーターを入力してこれをSPROCに渡すことで機能します(複数の挿入/更新を回避するため)。

すべてのテーブルに高度なインデックスが付けられ、データを取得するために多くの自己結合を実行することになります。

Key / Valueデータベースの悪さについて多くのことを読みましたが、この問題については、それでも最善のようです。

今私の質問!

  • 誰かがこれらの2つのオプション以外の別のアプローチまたはパターンを提案できますか?
  • オプション2は、中規模のデータセット(最大100万行)で実行可能でしょうか?
  • 使用できるオプション2のさらなる最適化はありますか?

どんな方向性やアドバイスも大歓迎です!

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

database - 属性値データベースの最も成熟した高性能オプションは何ですか?

私は電子医療記録の分野で働いていますが、私が使用している標準 (http://www.openehr.org) は、リレーショナル データベースを使用しようとすると、多くのユース ケースで深刻な不一致を引き起こします。

リレーショナル データベースを使用して大部分のツリー構造を処理するかなり成功した方法をいくつか開発することができましたが、キーと値のタイプのストレージを使用していれば、もっとうまくできたはずです。

問題は、RDMS の概念が市場で非常に優勢になっているため、成熟度はほとんどリレーショナル データベースに関連していることです。特に最近では、誰かがリレーショナル スペースからの移行を検討するたびに、NOSQL の歌が流れ始めます。ほとんどの NOSQL オプションは新しすぎるため、機密性の高い医療データを処理するためにそれらに投資するのは難しいでしょう。

そこで私は、非リレーショナル スペースで成熟したオープン ソースの高性能オプション、特にキー値型の操作に便利なオプションを探しています。たとえば、BerkeleyDB はそのようなオプションの 1 つですが、Oracle の現在のライセンス条項は私には当てはまりません。

SQL は必要ありません。いずれにせよ、カスタム クエリ言語を実装する必要があります (openEHR 仕様の一部として既に定義されています)。私のデータはすべてツリー構造なので、テーブルは必要ありません。成熟度、安定性、パフォーマンス、ACID コンプライアンス、スケーラビリティ、そしてオープン ソースが必要です。これらの目標を達成するために、さまざまな成熟した Java フレームワークをまとめることも検討し、ここで質問しましたが、現実的なアプローチではなかったようです。

私が見逃している隠された、またはおそらく明らかな宝石はありますか?

0 投票する
3 に答える
6574 参照

php - Yiiに既知のユーザーからドロップダウンリストを生成させるにはどうすればよいですか?

私はyiiの使い方を学び始めたばかりで、すでにいくつかの基本的なことを行うことができました。

2つの単純なテーブルがあるとします。「users」と「projects」で、関係は1対多です(1人のユーザーが多くのプロジェクトを持つことができます)。

GIIを使用してCRUDを生成しましたが、「ユーザーページの作成/編集」では、ドロップダウンは表示されず、ユーザーIDを入力する必要があるテキストフィールドのみが表示されます。

プロジェクトを編集するときに、ユーザーを選択できるドロップダウンリストが必要です(したがって、要素にはユーザー名のリストが表示されます)。

GIIはコントローラーを生成できず、このためのコードを表示できないと思います

これを行うためのベストプラクティスは何でしょうか?

http://www.yiiframework.com/doc/guide/1.1/en/database.arrで指示されているように、私はすでに関係を宣言しています。

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

django - 2つのフィールドでDjango 1.3の非リレーショナルモデルに参加する方法

参加する必要がある非リレーショナル (外部キーなし) の 2 つの既存のモデルがあります。これらは他の開発者によって作成されたものであり、私が変更することはできません。

それらの簡単な説明は次のとおりです。

モデル プロセス

  • フィールド ファイル名
  • フィールドパス
  • 何か別のフィールド
  • フィールドバー

モデルサービス

  • フィールド ファイル名
  • フィールドパス
  • フィールド サービス名
  • フィールドフー

これら 2 つのモデルのすべてのインスタンスをファイル名とパスの列で結合する必要があります。この結合が発生する前に、それぞれに適用する必要がある既存のフィルターがあります。

例:

A = Process.objects.filter(somethingelse=231)

B = Service.objects.filter(foo='abc')

結果 = A.filter(ファイル名=B.ファイル名、パス=B.パス)