sql >> データベース >  >> RDS >> Mysql

MySQL Clusterは、SELECTクエリを検索するデータノードをどのように決定しますか?

    痛い..それはMySQLクラスターの仕組みではありません。

    デフォルトでは、MySQLClusterはPRIMARYKEYでデータを分割します。ただし、PRIMARYKEYの一部でユーザー定義のパーティショニングとパーティショニングを使用することは可能です。これは、関連するデータをグループ化し、1つのパーティション内のデータの局所性を確保するのに非常に役立ちます。関連するデータが1つのパーティションに保持されるため、パフォーマンスを犠牲にすることなく2から48のデータノードに拡張できます。これは一定です。詳細については、 http://dev.mysql.com/doc/refman/5.5/en/partitioning-key.html

    デフォルトでは、APIはPRIMARY KEY(または主キーの使用済み定義部分)でハッシュ(md5を使用するLH3 *アルゴリズムを使用)を計算して、クエリを送信するパーティションを決定します。計算されるハッシュは128ビットで、64ビットがパーティションを決定し、64ビットがパーティション上のハッシュインデックス内の場所を決定します。ユーザーとして、データを持っているノード(またはデータを保存するノード)を正確に把握することはできませんが、実際には重要ではありません。

    1つのMySQLクラスターを2つのクラウドに分散し、データをパーティション化することに関する最初の質問について。データノードは相互に信頼性の高い低遅延アクセスを必要とするため、ノードが互いに50〜100マイル以内にない限り、ノードを分散させたくないでしょう。



    1. GitLabCIでスクリプトをテストする前にmysqlコマンドを実行します

    2. TNS-12505:TNS:listenerは現在、接続記述子で指定されたSIDを認識していません

    3. MySQLテーブル名のアンダースコアは問題を引き起こしますか?

    4. Mysqlでddlスキーマ生成を使用すると、ONDELETECASCADEオプションが生成されません