問題タブ [distributed-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.
mysql - MySQL Cluster 7.3 はどのようにして 99,999% の可用性を達成できますか? CAP定理へのアンチテーゼ
"Guide to Scaling Web Databases with MySQL Cluster"によると、MySQL Cluster 7.3 は、同期更新レプリケーションを使用しながら 99,999% の可用性を達成できます。これは、分散システムでは完全な可用性 (99,999% と見なすことができますよね?) と一貫性は達成できないと述べているCAP 定理に対するアンチテーゼです。
レプリカを担当するデータノードに到達できない場合、クラスターは更新に対してどのように反応しますか? 同期更新レプリケーションの場合、ブロックする必要があり、可用性に影響します。
ガイドには次のように記載されています。
- データ ノード内のデータは、ノード グループ内のすべてのノードに同期的に複製されます。データ ノードに障害が発生した場合、同じ情報を格納している他のデータ ノードが少なくとも 1 つ存在します。
- データ ノードに障害が発生した場合、MySQL サーバーまたはアプリケーション ノードは、ノード グループ内の他のデータ ノードを使用してトランザクションを実行できます。アプリケーションはトランザクションを再試行するだけで、残りのデータ ノードは要求を正常に満たします。
しかし、ノード グループが 2 つのノードで構成され、1 つのノードがクラッシュした場合 (例はこちら)、これはどのように機能するのでしょうか? 私が理解している限り、同期更新レプリケーションを使用しているときに更新を失敗させるものに更新をレプリケートするノードはありませんか?! レプリカを書き込むノードが存在しない間、レプリケーションは一時停止されていますか?
guid - Windows Azure モバイル サービスで GUID をサポートする方法
WAMS が SQL Azure で動作するには int ID 列が必要であることが特に言及されています。ただし、分散データベースを介してエンタープライズ アプリを開発する場合は、GUID を主キーとして使用することをお勧めします。int ID 列を回避して GUID をサポートするにはどうすればよいですか?
それができない場合、WAMS を使用するアプリが実行されているさまざまなタブレット/モバイル上の複数のスタンドアロン データベースからクラウド上のデータを同期するにはどうすればよいでしょうか?
database - フォールト トレラントな書き込み専用の高度に分散されたデータベース
シナリオ:信頼できないリンクを介して、地理的に分散した一連のクライアントからの書き込みを受け入れるデータベースがあります。クライアントは書き込み操作のみを行い、最後の 2 ~ 3 回の書き込み操作のデータを読み取る可能性があります。古いデータはデータ ウェアハウスにアーカイブされます。
問題: クライアントは、信頼性の低いネットワークを介してデータベースに接続し、クライアントとサーバー間のデータ リンクがダウンしている場合、書き込みができません。クライアントは本質的にデータ入力ツールであるため、これは大量の工数の浪費につながります。ネットワークの接続性を改善することはできません。
考えられる解決策: データ リンクがダウンしているときに書き込みをローカルにキャッシュするキャッシュ データベース プロキシを各クライアント ノードで実行します。リンクが復旧すると、すべての書き込みがメイン データベースにプッシュされます。
質問: そのようなシステムは存在しますか (存在する場合、どのデータベースに対して)、それとも独自にそのようなシステムを作成することに行き詰っていますか?
注:
- データベースは本質的にリレーショナルです。それを NoSQL ベースの構造に変更することは可能かもしれませんが、その努力によってプロジェクトは少なくとも 6 か月遅れることになります。
- 同じことが、分散メッセージ キュー システムの使用にも当てはまります。
免責事項: Google F1へのリンクを提供する以外に、Google は何の助けにもなりませんでした。
mongodb - mongodb シャード クラスターを作成するツール
mongodb のクラスターを管理するためのツールが必要です。機械の数が増えるにつれて、工具なしで各機械を維持することは困難です。
詳細:
データベースは 1 日あたり約 50 MB 増加するため、1 か月あたり約 1.5 GB になります。クラスター内のマシンを増やすだけでサイズの問題が解決されるため、mongodb はこれに最適です。問題は、この変更にはホスト構成を入力して手動で変更する必要があることです。たとえば、スクリプトの実行と保存など、リモート実行を可能にするツールを使用して、チームの時間を最適化したいと考えています。
nosql - 大規模なキー値ストアは、ドキュメント データベースよりも水平方向のスケーリングが優れているのは誰ですか?
このプレゼンテーションでは、データが大きくなるにつれて、次の水平スケーラビリティの上限を示すグラフがありました。
キー値 > 列ファミリー > ドキュメント データベース > グラフ データベース
http://youtu.be/UodTzseLh04?t=13m36s
言い換えれば、データがより接続される (つまり、複雑になる) ほど、データベースを拡張できる限界が低くなります。
キー値ストアと比較して、ドキュメント データベースのデータ サイズがスケーラブルでないのはなぜですか? 「データを接続する自由度が高いほど、データの分割が難しくなる」と言って、私自身の質問に答えたことがありますか?
(誰もが通常尋ねる「私がやろうとしていること」の部分:私はほとんどツリーのようなスキーマを持つデータベースを持っていますが、時々2つの親を持つノードがあります.私はプロトタイプでNeo4jを使用しましたが、生産規模のためにアプリ パーティショニングについてもっと考える必要があります. グラフ データベースは簡単にパーティショニングできないため、Mongo DB を使用する必要があり、Mongo DB で「複数の親」関係のコードを記述するのは難しくなります.さらに一歩進んでキー値ストア (または少なくとも列ファミリー ストア) を使用する価値があるかどうか疑問に思っています)。
sql-server - データベースから別のサーバーへのバックアップの作成
サーバー上にホストがあり、そこには SQL Server データベースが含まれています。別の国に別のサーバーがあり、5分ごとにデータベースからバックアップするか、各トランザクションの後に別のデータベースに新しい行を挿入するだけです。linkedservers
いくつかの調査の結果、この目標に使用できることがわかりました。この操作を行うために、この手順は有効ですか?
c++ - C/C++ の分散キー/値ストアとプラグ可能なストレージ
独自のメモリ内ストレージ エンジンをプラグインできるように十分にクリーンな設計の C/C++ ベースの分散キー/値ストアを探しています。それを行うためにコードを変更しなければならない場合でも問題ありません。
誰かお勧めはありますか?または、これを行う際の同様の経験はありますか?Java ベースのプロジェクト Voldemort ( http://www.project-voldemort.com/voldemort/ ) は良い例ですが、Java で書かれており、C++ または C で何かを探しています。