ハッシュアルゴリズムに基づくMySQLテーブルパーティション

ハッシュアルゴリズムに基づくMySQLテーブルパーティション

以下に紹介する Mysql テーブルのパーティショニング プロセスは、ハッシュ アルゴリズムに基づいています。Mysql テーブルのパーティショニング プロセスを理解する前に、まずハッシュ アルゴリズムを理解しましょう。

ハッシュ テーブルは、特別なハッシュ アルゴリズムによって計算された値です。この値は一意である必要があり、計算された値を使用して必要な値を見つけることができます。これをハッシュ テーブルと呼びます。

サブテーブルで使用するハッシュ アルゴリズムもこの考え方に似ています。特定のハッシュ アルゴリズムを使用して、元のターゲットの ID または名前からデータ ストレージ テーブルのテーブル名を計算し、対応するテーブルにアクセスします。

上記の Tieba を続けると、各 Tieba にはセクション名とセクション ID があります。これら 2 つの値は固定かつ一意であるため、これら 2 つの値のいずれかに対して何らかの操作を実行することで、対象テーブルの名前を取得することを検討できます。

ここで、Tieba システムについて考えてみましょう。システムで許可されるデータは最大 1 億個で、各テーブルには 100 万件のレコードが格納されると仮定すると、システム全体を 100 個以下のテーブルに収容できます。この標準に従って、Tieba のフォーラム ID をハッシュし、テーブル名であるキー値を取得して、対応するテーブルにアクセスすることを想定しています。

単純なハッシュアルゴリズムを構築します。

関数 get_hash($id){
文字列を bin2hex に変換します。
$ハッシュ = substr($str, 0, 4);
(strlen($hash)<4)の場合{
$ハッシュ = str_pad($ハッシュ、4、"0");
}
$hash を返します。
}

アルゴリズムは基本的にセクション ID 値を渡し、関数は 4 桁の文字列を返します。文字列の長さが足りない場合は、0 が埋め込まれます。

たとえば、get_hash(1) は「3100」を出力し、get_hash(23819) を入力すると 3233 が返されます。その後、テーブル プレフィックスと組み合わせるだけでテーブルにアクセスできます。次に、ID 1 のコンテンツにアクセスする必要がある場合、結合されたテーブルは topic_3100、reply_3100 となり、ターゲット テーブルに直接アクセスできます。

もちろん、ハッシュ アルゴリズムを使用した後、一部のデータが同じテーブルに存在する可能性があります。これはハッシュ テーブルとは異なります。ハッシュ テーブルは競合を解決しようとしますが、ここでは必要ありません。もちろん、テーブル データが格納される可能性のあるテーブル名を予測して分析する必要もあります。

より多くのデータを保存する必要がある場合は、バイナリを16進数に変換するなど、セクション名をハッシュすることもできます。漢字は数字や文字よりもはるかに多いため、重複の可能性は低くなりますが、組み合わせることができるテーブルが増えるため、それに応じて他の問題を考慮する必要があります。

最終的に、ハッシュ方式を使用する場合は、より多くのテーブルを生成し、データをより速くクエリするために、適切なハッシュ アルゴリズムを選択する必要があります。

【編集者のおすすめ】

MySQLサーバーの内部ロック

Mysql マージテーブルの利点

MySQL と SQL Server の 25 の違い

MySQLの一時テーブルについてさらに詳しく知るには

MySQL の概要 ステートメントの使用方法を表示

<<:  ドイツのハッカーはレンタルしたコンピュータリソースを使ってハッシュアルゴリズムを攻撃する

>>:  SQL Server の時間アルゴリズム

ブログ    
ブログ    
ブログ    

推薦する

...

マッキンゼーのパートナー:中国は医療AIでリードしているが、将来的には5つの重要な課題がある

[[235958]] 「医師はAIに取って代わられるか?」という質問に対し、鼎祥源の創業者李天天氏は...

陳丹奇チームの新しい研究: Llama-2 コンテキストが 128k に拡張され、メモリが 1/6 でスループットが 10 倍に

Chen Danqi のチームは、新しい LLMコンテキスト ウィンドウ拡張メソッドをリリースしまし...

ものづくりを変える6つのAI活用法!

1. 欠陥検出のためのディープラーニング[[391865]]製造業では、生産ラインにおける欠陥検出...

Github 年次レポートレビュー: TensorFlow が間違いなく最大の勝者です!

現在、世界中の何百万もの開発者が GitHub を使用してコードを共有し、ビジネスを構築しており、多...

...

百度の商用グレードの無人バス「アポロ」が一般公開され、試乗が可能に

百度は第1回デジタルチャイナサミットで、中国の商用グレードの無人バス「アポロ」の試乗を一般公開すると...

量子コンピュータの公開:まだ多くのボトルネックがあり、最初の課題は機械学習の加速です

編集者注: 量子コンピューティングと機械学習の融合は、急成長している研究分野となっています。人々の期...

人工知能によるモザイク除去ディープ CNN デノイザーと多層隣接コンポーネント埋め込みによるモザイク除去

モザイク除去のための人工知能、ディープ CNN デノイザーとモザイク除去のための多層隣接コンポーネン...

AIがスタートアップの成功にどのように役立つか

人工知能は現在、あらゆる規模のビジネスの運営方法に大きな影響を与えています。スタートアップ企業も A...

...

AI の洞察: インテリジェント ビデオはエッジをどのように形成するのか?

ビデオの需要と視覚データの理解のための AI の使用が増加するにつれて、カメラの数と生成されるデータ...

AIインタラクションエクスペリエンスを向上させるにはどうすればよいでしょうか?まずこの三元理論を理解しましょう

概要:人工知能製品が徐々に人々の仕事、生活、娯楽に浸透し、あらゆる分野に革命的な変化をもたらすことは...

人工知能が普及しつつある今、将来はロボットの時代になるのでしょうか?

今は特に人工知能が普及していますが、将来はロボットの時代になることは絶対にありません。なぜなら、機械...