問題タブ [nosql]
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.
sql - リレーショナル データベースを使用しない正当な理由はありますか?
代替のデータ ストレージ ツールを指摘し、古き良きリレーショナル データベースの代わりにそれらを使用する正当な理由を教えてください。私の意見では、ほとんどのアプリケーションが SQL の能力をフルに活用することはめったにありません。SQL を使用しないアプリケーションを構築する方法を見るのは興味深いことです。
sql - 次世代データベース
私は従来のリレーショナル データベース ( PostgreSQLを使用) を学習しており、いくつかの新しいタイプのデータベースに出くわしたいくつかの調査を行っています。CouchDB、Drizzle、およびScalarisなどがありますが、次に対処するデータベース テクノロジは何でしょうか?
database - CouchDB でトランザクションとロックを行うことはできますか?
トランザクション (開始、コミット、またはロールバック)、ロック (更新の選択) を行う必要があります。ドキュメントモデルデータベースでそれを行うにはどうすればよいですか?
編集:
ケースはこれです:
- オークションサイトを運営したい
- 直接購入する方法もあると思います。
- 直接購入では、アイテム レコードの数量フィールドを減らす必要がありますが、数量がゼロより大きい場合のみです。そのため、ロックとトランザクションが必要です。
- ロックやトランザクションなしでそれに対処する方法がわかりません。
これを CouchDB で解決できますか?
database - ドキュメントベースのデータベースとリレーショナルデータベースの長所/短所
私は、ドキュメントベースのデータベース(この場合はCouchDB)でいくつかの要件を達成できるかどうかを確認しようとしてきました。2つの一般的な要件:
- 一意のインデックスを持ついくつかのフィールドを持つエンティティのCRUD
- eBayのようなeコマースウェブアプリ(より良い説明はここにあります)。
そして私は、ドキュメントベースのデータベースがこれらの要件に対処するための最良の選択ではないと考え始めています。さらに、ドキュメントベースのデータベースの使用を想像することはできません(おそらく私の想像力はあまりにも限られています)。
これらの要件にドキュメント指向データベースを使用しようとしたときに、ニレに梨を求めているかどうかを説明してもらえますか?
sql - リレーショナル データベースを使用すべきでない場合
google/bigtable のシナリオ以外で、リレーショナル データベースを使用すべきでないのはどのような場合ですか? その理由と、何を使用する必要がありますか? (「難しい方法」を学びましたか?)
json - JSON のクエリ言語はありますか?
JSON を照会するための (大まかに) SQL または XQuery のような言語はありますか?
「Y > 3 である X のすべての値は何ですか」などのクエリに簡単に答えたり、通常の SUM / COUNT 型の操作を実行したりできると便利な、JSON に適切にマップされる非常に小さなデータセットを考えています。
完全に構成された例として、次のようなものがあります。
これは、クライアント側とサーバー側の両方で機能し、結果が適切な言語固有のデータ構造に変換される (またはおそらく JSON として保持される) と考えています。
簡単なグーグル検索は、人々がそれについて考え、いくつかのもの ( JAQL ) を実装したことを示唆していますが、標準的な使用法やライブラリーのセットはまだ出現していないようです。各機能を単独で実装するのはかなり簡単ですが、誰かがすでに正しく実装している場合、私は車輪を再発明したくありません。
助言がありますか?
編集:これは確かに悪い考えかもしれません.JSONは私が考えているフォーマットにはあまりにも一般的かもしれません.必要に応じて合計/etc関数を直接実行するのではなく、クエリ言語が必要な理由は、私が構築したいからです.ユーザー入力に基づいて動的にクエリを実行します。「SQLは必要ない、必要な関数を書けばいい」という議論のようなものです。最終的には、それが手に負えなくなるか、SQL をさらに推し進めるにつれて独自のバージョンの SQL を作成することになります。(わかりました、それが少しばかげた議論であることは知っていますが、あなたはその考えを理解しています..)
database - NoSQLとは何ですか、どのように機能し、どのようなメリットがありますか?
私はNoSQLについて聞いてきましたが、DBの相互作用がWebの速度のボトルネックになることが多いため、最終的にはSQLDBストレージメソッドの代わりになる可能性があります。
だから私はいくつか質問があります:
正確には何ですか?
それはどのように機能しますか?
SQLデータベースを使用するよりも優れているのはなぜですか?そして、それはどれくらい良いですか?
テクノロジーはまだ実装を開始するには新しすぎるのでしょうか、それとも調査する価値がありますか?
nosql - NOSQL について - RDBMS の代替
私は最近、RDBMS の代替案のようなものに頻繁に出くわしました...そして、私はオープンソースの実装のいくつかに従っています..
私が理解しているのは、大規模なWebアプリ(GoogleやAmazonなど)に最適です..それらは主に非常に大規模な分散データストアに集中していました..
これは、既存の高価な代替データ ストアを探している小規模なスタートアップにどのように役立つでしょうか..そして、これは本当に小さなアプリケーションのパフォーマンスとメンテナンスの両方を向上させるのでしょうか?
私はこの議論を始めたばかりで、ここにいる誰かがすでにこれらの新しいアプローチを以前に試みて同じフラストレーションを感じており、その中で経験を積んでいると信じています..これは私たちのようなスタートアップに役立つかもしれません..
database - 非リレーショナルデータベースの設計
非リレーショナル「nosql」データベースで使用した設計戦略、つまり、従来のリレーショナル設計やSQLを使用しない(ほとんど新しい)クラスのデータストア(Hypertable、CouchDB、 SimpleDB、Google App Engineデータストア、Voldemort、Cassandra、SQL Data Servicesなど)。これらは「キー/値ストア」とも呼ばれ、基本的には巨大な分散型永続ハッシュテーブルのように機能します。
具体的には、これらの新しいデータベースとの概念的なデータ設計の違いについて学びたいと思います。何が簡単で、何が難しく、何がまったくできないのでしょうか。
非リレーショナルの世界ではるかにうまく機能する代替デザインを思いついたことがありますか?
不可能と思われるものに頭をぶつけたことはありますか?
たとえば、一方から他方に変換するために、ギャップをデザインパターンで埋めましたか?
現在、明示的なデータモデル(UMLなど)をまったく実行していませんか、それとも半構造化/ドキュメント指向のデータブロブを完全に支持していますか?
リレーショナル整合性、任意に複雑なトランザクションサポート、トリガーなど、RDBMSが提供する主要な追加サービスのいずれかを見逃していませんか?
私はSQLリレーショナルDBのバックグラウンドを持っているので、正規化は私の血の中にあります。とは言うものの、私は単純さとスケーリングのために非リレーショナルデータベースの利点を享受しており、私の直感は、設計機能のより豊富な重複が必要であると私に教えてくれます。あなたは何をした?
参考までに、ここで同様のトピックに関するStackOverflowの議論がありました:
performance - 優れたパフォーマンスを提供するスキーマレス データストアはどれですか?
最近、を使用する Web アプリを作成しましたcouchdb
。私はcouchdbが好きで、動的な動作が多く、couchdbからJSONを直接プルするだけのアプリに適していました。ブラウザ経由で画像をアップロードできるのは便利で、ドキュメント データを微調整するのも簡単です。アプリはカウチアプリであるため、複製によって展開も簡単になり、展開に必要なのは運用サーバーへの複製だけです。
しかし、私が考えている新しいアプリ (ブログのようなものだと考えてください) では、良いパフォーマンスが必要であり、これは、couchdb が強くないと思う領域の 1 つです。アプリは主に読み取り指向になります (90% から 10 % 書き込み)。
単一サーバーのシナリオで最高のパフォーマンスを提供するデータストアはどれですか? これについて人々の経験を聞くことに非常に興味があります...