2016-10-31 9 views
0

私はいくつかの時点でデータレコードを含むいくつかのMySQLデータベースを持っています。単一の親データベースを使用するデータベース間のUID管理?

データベースは、この質問に関係のないいくつかの理由で別のサーバーに保持されています。 明らかに、MySQLには、これらのレコードに一意の識別子を割り当てるために使用できる自動増分機能があります。

データは単一のデータベースに格納されないため、データベース全体のすべてのレコードに対してUIDを作成して返す「親」データベースが必要です。そのため、UIDの重複が防止されます。私は「親」のデータベースを使用することによって予見でき

短所は以下のとおりです。

- >追加のSQL INSERTとは、潜在的にクエリの速度に影響を与えることができ、クエリを選択します。

- >このような量の同時接続を処理するにはかなり高いスペックが必要となる '親'サーバーのコスト。

これらの事実を考えれば、このアプローチをとっている他の条件はありますか?このシステム設計は一般的に使用されていますか?ただ、たとえば、それをベースに、

1)各DBサーバに個別のUIDを生成し、マシンのMACまたは何か他のマシン固有:

答えて

0

は、私はより良いフィットするように見える2つのデザインを考えることができます。

2)拡張を計画していない場合は、シフトだけでIDとして自動インクリメントを使用できます。クラスタリングのように、3つのサーバーがあります。最初のIDは3番目のID、2番目のID、すべての2番目のIDなどを取得します。同様に、同じ方法でIDに基づいてデータを取得できます。逆も同様です。

関連する問題