問題タブ [sharding]
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.
java - 複数のデータベース(シャード)用のJavaデータベース接続プール
シャードを使用するWebアプリケーションにDB接続プールを実装するための最良の手法は何だろうと思っていました。私が言えることから、ほとんど(すべて?)のオープンソース実装は、背後にある単一のデータベースしかサポートしていません。少なくとも、シャードをサポートするものは見つかりませんでした。
また、シャードを使用していても、他のデータベースと同じスキーマがすべてのデータベースにあるわけではありません。それが重要かどうかはわかりません。
これまでに思いついた唯一の解決策は、複数の異なるプールの上に配置されるレイヤーを作成することです。それぞれの個別のプールは、利用可能な単一のデータベース実装のいずれかです。
これに対する解決策はすでにありますか?そうでなければ、最高のテクニックは何でしょうか?
前もって感謝します、
スティーブン。
php - 1000台のサーバーのうちの1台に10桁のcharユーザーIDを割り当てます
データベースをシャーディングし、ユーザーIDに基づいてさまざまなユーザーをさまざまなホームサーバーに割り当てることを検討しています。ユーザーIDは10文字の文字列です(例:「f4gKUKkj91」)...各サーバーのIDは1〜1000です。phpでハッシュ関数を作成して、各ユーザーIDを特定のシャードに一意かつ一貫して割り当てるにはどうすればよいですか。ユーザーIDが整数の場合、私は実行できますuserid % 1000
...しかし、それらは英数字であるため、phpでの分散でこれを実行する方法がわかりません。
ありがとうございました!
mysql - データベースシャーディング戦略
建設中のオンラインマーケットプレイス製品の場合、データベースシャーディングソリューションの実装が必要な状況があります。私はシャーディングに不慣れであり、このフォーラムの投稿を読んだ後、ビジネスエンティティを使用したディレクトリベースのシャーディング戦略が適していると感じています。しかし、そのようなシャーディングされたソリューションで採用する非正規化とデータ同期のベストプラクティスについてはまだはっきりしていません。サプライヤ、顧客、注文の3つのコアエンティティがあります。注文データの処理のほとんどはサプライヤー管理者によって実行されるため、サプライヤーIDに基づいてデータベースをシャーディングすることを計画しています。これにより、サプライヤの注文が単一のdbインスタンスからフェッチされ、クロスdbフェッチが排除されます。ただし、この場合、顧客が注文情報を表示すると、データは複数のdbインスタンスに存在し、マルチデータベースのフェッチが必要になります。このようなシナリオがシャードソリューションで発生した場合に通常行われること。
database - 階層データ構造を持つデータベースのシャーディング
親子関係を保存するためにMySQLを使用しています。データは 1 つのテーブルにあります。
クエリに問題はありません。ただし、テーブルのサイズは劇的に大きくなっています。クエリ (および結合) のパフォーマンスを向上させるために、シャーディングまたはいくつかの手法を使用したいと考えています。どうすればいいですか?
java - Memcached とシャーディング
memcached とシャーディングの両方が初めてです。
私は両方についていくつかの記事を読みました。アプリケーションに両方を実装する必要があります。
私が読んだ記事は良かったのですが、これらのテクノロジーの使い方を教えてくれるものはありませんでした。
実際にそれらを構成してサンプルを実行できるリンクを提案できる人。
最初に memcached を実装し、次にシャーディングを実装してから、両方を一緒に実装したいと考えています。
ご協力いただきありがとうございます。
java - HibernateShardsとJNDIの問題
休止状態のシャードのサンプルプログラムを実行しようとしています。これですべて完了ですが、テストプログラムを実行するたびに例外が発生します
javax.naming.NoInitialContextException: Need to specify class name in environment or system property
グーグルした後、JNDIプロパティを設定する必要があることを知りました。私はこれが好きでした
しかし、それでも物事は機能していません。:-(助けてください。私が行方不明になっているのは何ですか?
コードは次のとおりです。
redis - Predis シャーディング (コンシステント ハッシュ)
Predis は、クライアント側のシャーディング (キーの一貫したハッシュのサポート) を持っていると主張しています。http://github.com/nrk/predis
プロファイル (ノード) の配列への接続を使用してシャーディングを実行できますが、一貫性のあるハッシュではありません。別のノードをプールに追加すると、一部のキーが見つかりません。誰でもこれについて経験がありますか?
php 5.2 (および redis の php 5.2 バージョン) を使用します。
java - 複数のノード間で Java マップを自動的にシャーディングする
最終的なサイズが GB (64GB を超える) になるマップを組み立てる必要があるという問題があり、プログラムのユーザーがこの種のモンスター マシンをぶらぶらしているとは想定できません。適切な解決策は、このマップを多数のマシンに分散して、インスタンスごとのメモリ フットプリントをはるかに抑えることです。
このシャーディングを実行できるライブラリ/ツールスイートを知っている人はいますか? レプリケーションやトランザクションは気にしません。このメモリ要件を広めるだけです。
nhibernate - Sql Azure とシャーディングを使用した NHibernate
Sql Azure で NHibernate を使用して、シャーディングの意味合いを持つ (10 GB の上限があるため) 良い情報源を持っている人はいますか? NH のシャーディング プロジェクトを参照する投稿がインターネット上にあることは知っていますが、それらは 2009 年第 3 四半期のものであり、Google でこれ以上関連性のあるものは見つかりませんでした。
シャーディング プロジェクトがまだ使用できない場合、手動でシャーディングを実装することに関する情報を誰かが持っていますか? シャードごとにセッション ファクトリを作成し、ファクトリのコレクションを保持するのと同じくらい簡単でしょうか? 各ファクトリを介して ISession 呼び出しを再現するのは問題があるようですが、各ファクトリから ISession で呼び出される操作を Funcs として渡すことで実現できると思いますが、間違ったパスが下っているように見えます。