問題タブ [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.
nosql - 中小規模のアプリケーション向けの非リレーショナルデータベース(NoSQL)
非リレーショナルデータベース(キーと値のペアのストレージなど)の利点は、大規模なデータセット(google、facebook、linkedin)で使用した場合に明らかです。中小規模のアプリケーションは、非リレーショナルデータベースを使用することでどのようにメリットがあると思いますか?
python - GoogleAppEngineに簡単に移行できるように設計
間もなくWebアプリの設計を開始します。SQLの世界で多くの経験を積んでいますが、すぐ近くでGAEに移行するために、何を考慮に入れる必要があるのかわかりません。将来。
または、最初からGAE用のアプリを設計することもできますが、その場合、どのような違いを考慮する必要がありますか?言い換えれば、過去のリレーショナルデータベースから得られた、GAE用のアプリを作成する際の推奨事項と禁止事項は何ですか。
database - 私のニーズに最適なデータベースは何ですか?
現在MSSQLServer 2008を使用していますが、この特定のタスクに最適なシステムかどうかはわかりません。
私はそのような単一のテーブルを持っています:
一般的なクエリは
このテーブルには約10億行あり、1日あたり500万行が挿入されています。
SQL Serverに関する私の主な問題は、データファイルをシャーディングまたは分散するのが簡単ではないことです。また、エクスポートは1秒あたり1000行(約1MB /秒)で最大になるようですが、これは非常に遅いようです。
私が抱えているもう1つの問題は、SQL Serverで、新しいLookupColを追加したい場合、ログファイルが非常に大きくなり、タップ時にめったに使用されない大量の空き領域が必要になることです。
この問題に対する明らかなより良い解決策はありますか?
nosql - (非リレーショナル)DBMS設計リソース
個人的なプロジェクトとして、私は基本的なDBMSを構築することを目指しています。Elmasri&Navathe(5ed)の関連するセクションを読みましたが、E&Nが非常に深くなっただけなので、より焦点を絞ったテキストを使用できます。
摩擦は、私が新しい非リレーショナルデータモデルで遊びたいということです。多くのE&Nは、特に実装の詳細のインデックス作成に優れていましたが、より高度なDBMS実装は、リレーショナルモデルのみを対象としていました。
より良い基盤が得られるまで、可能であれば、DBMSソースを見つめるのをしばらく延期したいと思います。何か案は?
scala - クラウドで scala をデプロイしてホストしていますか?
最優先事項の 1 つとしてスケーラビリティを考慮して、Web アプリを開始しています。これの利点は何ですか: cassandra scala lift
クラウド上の従来の LAMP と比較して? 私が読んだことから、私を修正してください、クラウド自体はスケーラブルです
クラウドに scala をデプロイする人を見たことがありません。プラットフォームを学習する価値はありますか? 本番環境で使用する準備はできていますか?
database-design - リレーショナル データベースと次元データベースの違いは何ですか?
OLAP とデータ ウェアハウジングについて学習しようとしていますが、リレーショナル モデリングとディメンション モデリングの違いについて混乱しています。ディメンション モデリングは基本的にリレーショナル モデリングですか?
たとえば、(製品、都市、売上高) に関する過去の売上データがあるとします。以下はリレーショナルな観点であることを理解しています。
以下は、より次元的な視点です。
しかし、それにもかかわらず、両方の観点が同一のスター スキーマに実装されるようです。
そして、違いが現れ始めるのは、各次元に追加の詳細を追加し始めるまではありません. たとえば、地域も追跡したい場合、リレーショナル データベースは、すべてを正規化するために、別の地域テーブルを持つ傾向があります。
次元データベースでは、データのスライスを容易にするために、非正規化によって地域データを都市次元内に保持できます。
これは正しいです?
non-relational-database - どのデータベースが私に合っていますか?
現在mysqlを使用しています。スキーマが信じられないほど複雑になっていることがわかりました。私は自分のニーズに合った新しいデータベースを見つけようとしています:
ニュース アグリゲーター (複数の Web サイトからニュースを収集する) を構築しているとします。次にアルゴリズムを実行して、異なるサイトからの 2 つのニュースが実際に同じトピックを参照しているかどうかを判断します。このアルゴリズムを実行して、ニュースをまとめます。関係を以下に示します。
そして、魔法をかけて各単語の重要度を判断します。各単語の重要性をすべて合計すると、ニュース記事の重要性がわかります。各ニュース記事の重要性を合計すると、クラスターの重要性がわかります。
クラスターの上には、サブグループ (地域ごとの分割など) とカテゴリ (スポーツなど) もあり、特定の日自体の重要性を判断する必要があることに注意してください。
過去にビューを使用してそうしましたが、ビューが非常に遅いことに気付きました。したがって、通常は実際のテーブルに挿入し、パフォーマンスを向上させるためにインデックスを作成します。ご覧のとおり、これにより、(クラスター、重要度)、(ニュース、重要度)、(単語、重要度) などの複数のテーブルが派生し、かなり面倒になります。
また、「重要度」の指標も変わります。テーブルを変更し、データを更新し (TRUNCATE TABLE を使用しています)、null から挿入することがますます難しくなっています。
現在、Mongodb のようなスキーマのないものを検討しています。分散性は必要ありません。適度に高速で (インデックスを作成できる)、従来の RDMBS よりもはるかに柔軟なものが必要です。
新着
いろいろな方からのリクエストに応じて、このデータベースに私の使用法を投稿します (ここにいるすべての人が理解できることを願っているため、実際の SQL クエリではありません)。
TABLE_word に追加の news_id 列があることに気付くかもしれません。これは、TABLE_word_importance 列に対応するものです。これは、同じ単語でも記事によって重要度が異なる可能性があるためです (tfidf に精通している場合、これは基本的にそのようなものです)。
すべての「重要度」テーブルは、その下にあるすべてのサブエンティティの重要度を平均して、各エンティティの重要度を計算するようになりました。これは、各クラスターの重要性がその中のすべてのニュースによって決定され、各ニュースの重要性がその中のすべての単語によって決定されることを意味します。
ご覧のとおり、私は各レイヤーから多くのスコアを取得しており、誰かがこの目的のためにマテリアライズド ビューを使用するように言っています (これは postgresql でサポートされています)。ただし、ご覧のとおり、この単純なスキーマは既に 8 つのテーブルで構成されています (私の実際のデータベースは 26 のテーブルで構成されており、メンテナンスのために非常に多くの複雑なレイヤーが追加されています)。
これは全文検索に関するものではないことに注意してください。
orm - 戦略的な問題: リレーショナル データベースと非リレーショナル データベースを混在させますか?
Cassandra、CouchDB、Hypertable、MongoDB、Project Voldemort、BigTableなど、反革命的な NoSQL データベースについて多くのことが語られてきました。私に関する限り、最も強力な長所はスケーラビリティ、パフォーマンス、シンプルさです。
次のプロジェクトで非リレーショナル データベースを使用することを提案することを真剣に検討しています。ただし、一部のチームは RDBMS 狂信者で構成されているため、場合によっては、感情的な理由だけでハード スイッチングを納得させることができない場合があります。また、複雑なデータ モデルに関しては、個人的には、低レベルの一貫性を強制するメカニズムを備えた RDBMS の威力を今でも信じています。
ここで私の質問があります: 誰かが新しいプロジェクトで RDBMSと非リレーショナル DB の両方を使用することを真剣に検討できるかどうか疑問に思っていました: 複雑ではあるがパフォーマンスが重要ではないデータ モデルは、リレーショナル モデルとデータベースを使用して実装されますすべてのパフォーマンスが重要ですが、単純なモデルは非リレーショナル データベースで実装されます。さらに、このようなソフトなパラダイム シフトは、ハードなパラダイム シフトよりも、非常に感情的なチーム メンバーに売り込むのがはるかに簡単です。
誰かがそのようなアプローチを推奨しますか? それとも白黒、つまりリレーショナルまたは非リレーショナル アプローチのどちらをお勧めしますか? すべてのコメントは大歓迎です!
PS: そのような混同が Spring と Hibernate/JPA でうまく機能するかどうか、何か考えはありますか?
database - 主に Write once/Read Many 操作に使用するデータベースはどれですか?
一度書き込まれ、もう変更されていない大量のデータを照会する必要があるアプリケーションを構築しています。そのために MySQL を使用する必要がありますか、それとも SimpleDB や BigTable などを使用する必要がありますか? (一度書き、何度も読む必要があります)
ありがとうございました。
編集:Herokuを使いたいのですが、私にとっては5MB以上です。「数千行」は5MB以上かかります。そのため、Heroku が請求する 15 ドルを支払わないためには、CouchDB、SimpleDB、または MongoDB のどれを使用するべきかを考えています。これを克服するための提案はありますか?コメントありがとうございます!