問題タブ [multi-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.
database - SAAS マルチテナント アプリ + 異なるデータベースの接続の問題
Laravel を使用して SAAS アプリケーションを開発しています。1 つのマスター データベースと複数のテナント データベースがあります。私は管理者なので、テナントのパフォーマンスとテナントの詳細を確認したいと考えています。例の場合。ベースキャンプ。テナント アプリで作成されたアカウントの数と、登録されているプロジェクトの数、およびテナント アプリのユーザーを無効/有効にするオプションを確認したいと考えています。
私の考えは、これらのテナント レポートを表示することです。これらのレポートに対してのみテナント データベースに接続/切り替えて、処理を行います。しかし、1000 のテナントがある場合、すべてのレポートを頻繁に表示するには 1000 のデータベースに接続する必要があります。それは良いプロセスですか、またはそれを実装する方法に関する提案はありますか?
ruby-on-rails - Rails でマルチデータベースを移行する方法
Rails でマルチデータベース環境を構築するにはどうすればよいですか?
もちろん、「 Establish_connection 」を使用すると、指定したデータベースに接続できますが、移行には適していません。
最良の状態では、「rake db:migrate」を実行すると、該当するデータベースに各テーブルが作成されます。
私の環境は以下です。
ルビー 2.1.1
レール 4.1
MySQL 5.6.13
spring - XML マルチデータベース構成に相当する Spring Boot
2 つのプロジェクトを Spring Boot 1.1.6 に移植したいと考えています。それぞれがより大きなプロジェクトの一部です。どちらも、Web リクエスト ベースのリージョンごとに 7 つの実稼働データベースのうちの 1 つに SQL 接続を確立する必要があります。そのうちの 1 つは、構成設定を Mongo データベースに永続化します。どちらも現時点では機能していますが、SQL 構成は XML ベースで、Mongo は application.properties ベースです。保守を簡素化するために、リリース前に xml または注釈のいずれかに移行したいと考えています。
これはこのフォーラムでの私の最初の試みです。その分野でもガイダンスが必要になる場合があります。そこにマルチデータベースタグを付けました。それらのほとんどは、同時に開いている 2 つの接続を処理します。ここで一つだけ、URLだけが変わります。スキーマと残りは同じです。
XML 形式では ...
要求が行われるたびに、必要なサービスの新しいインスタンスが適切なデータベース接続で作成されます。
スプリング ブートの世界で、TomcatDataSourceConfiguration を拡張した 1 つの記事に出くわしました。 http://xantorohara.blogspot.com/2013/11/spring-boot-jdbc-with-multiple.html少なくとも Java 構成クラスを作成することができましたが、プレフィックスを変更する方法を思い付くことができません上記の XML で行っているように、リクエストごとの ConfigurationProperties。複数の構成クラスをセットアップできますが、DAO の @Qualifier("00002") は静的な値でなければなりません。//注釈属性 Qualifier.value の値は定数式でなければなりません
Mongo 側では、configurationProperties クラスで変数を定義できます。適切な application.properties ファイルに一致するエントリがあれば、ファイル内の値で上書きします。そうでない場合は、コード内の値を使用します。これは JDBC 側では機能しません。構成クラスで変数を定義すると、その値が使用されます。(ええ.. mondoUrl と表示されていることは知っています)
今日、私を少し近づけた質問がありました。Spring Boot application.properties の値が設定されていません 答えは、少なくとも @Value を機能させる方法を示しました。これで、@Value を取得する dbConfigProperties クラスをセットアップできます。唯一の問題は、@Value によって取得された値が、プログラムの最初の起動時にのみ使用できることです。プログラムの起動時にコンソールログに表示される以外に、それを使用する方法がわかりません。私が今知っていることは、ある時点で、dbConfigProperties クラスの @Autowired で、適切な値が返されるということです。私がそれを使いたい時までに、値の代わりに ${spring.datasource.url} を返しています。
わかりました...誰か@Valueが私の唯一の選択肢ではないことを教えてください。次のコードをコントローラーに入れました。1 つの値を確実に取得できます。この関数の引数に、プロパティ ファイルから可能な各プロパティ名をハード コードして、クラスに入力することができると思います。私は明らかに何か間違ったことをしています。
これは最高でした... ついにいくつかの進歩。ConfigurationProperties の変更と @Value の使用をあきらめていると思います。この人の答えで、起動時に作成された Bean にアクセスできます。そもそもなぜ私がしなかったのか疑問に思っていたかもしれません... まだ学んでいます。私は彼をぶつけています。それは私のベーコンを救った。https://stackoverflow.com/a/24595685/4028704
現在の計画は、次のように、リージョンごとに JdbcTemplate を生成する Bean を作成することです。
サービスを呼び出すときは、次のようなものを使用します。
より良い方法や予見可能な問題への洞察などにはまだオープンですが、この方法は私の現在のXMLベースの方法とほぼ同等のようです. 考え?
c# - 1 つの ASP アプリケーションで 2 つ以上のデータベースを使用し、接続文字列を切り替える
ASP アプリケーションが 1 つあり、それを 2 つ (またはそれ以上) の場所に使用したいのですが、それぞれに Database があります。ユーザーのログイン時に接続文字列を変更する方法はありますか? とにかく各ユーザーのデータベースを変更するには?
私は前にこの質問を見ました
しかし、私はそれがどのように機能するのか理解できませんでした!
私を助けてください
編集:
この問題を解決する方法を見つけました。各ユーザーの接続文字列をデータベースに保存しました。識別後、このユーザーの接続文字列を特定し、それをデータ ソースに割り当てます...
保存された接続文字列
ASP
C#
Linq to SQL の場合
この問題を抱えている他の人に役立つことを願っています
python - SQLAlchemy - 複数のデータベースの問題
SQLAlchemy を使用してゲームサーバーを作成しています。
ゲームサーバーは非常に高速である必要があるため、ユーザー ID (整数) に応じてデータベースを分離することにしました。
たとえば、次のように成功しました。
次のコードは複数のデータベースを作成します。
test1 ~ test10 のデータベースがあります。
次のコードは、10 個の個別のエンジンを作成します。
get_engine() 関数は、ユーザー ID に応じてエンジンを提供します。
(ユーザーIDは整数)
prepare 関数を実行すると、BuddyModel クラスが準備され、エンジンにマッピングされます。
** 次のコードは、私がやりたいことを正確に実行します **
しかし、問題は、複数のスレッドで実行するとエラーが発生することです
エラーメッセージは...
だから..私の質問は、SQLAlchemyを使用して上記のアーキテクチャのように複数のデータベースを実行するにはどうすればよいですか?