ハッシュアルゴリズムに基づく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 の時間アルゴリズム

ブログ    
ブログ    

推薦する

上海交通大学卒業生によるソロ作品! 50年間のゼロ進歩アルゴリズム問題が解決された

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

今年の英語大学入試では、CMUは再構成事前トレーニングを利用してGPT3をはるかに上回る134点という高得点を獲得した。

データの保存方法は、生物学的ニューラル ネットワークから人工ニューラル ネットワークへと変化しており...

860万の超軽量中国語と英語のOCRモデルをオープンソース化し、ワンストップでトレーニングと展開が可能

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

サポートベクターマシンとニューラルネットワークが出会うとき: SVMとGANの距離の関係

SVM は機械学習の分野における古典的なアルゴリズムの 1 つです。 SVM をニューラル ネットワ...

GPT-4 Turboがリリースされ、APIがよりコスト効率化され、128Kコンテキストウィンドウが新時代をリード

1. はじめにGPT-4 をリリースしてからわずか 8 か月後、OpenAI は更新されたモデル G...

2018年に人工知能はどのように発展するでしょうか?専門家の意見

ブロックバスター社の映画には毎年人工知能が満載されており、昨年も例外ではありませんでした。 『ブレー...

OpenAIはMicrosoftに対し、Bingチャットボットのリリースを急がないよう警告したと報じられている

6月14日のニュース:最近、人工知能の新興企業OpenAIとMicrosoftが人工知能の分野で協力...

中国科学院自動化研究所は、科学サブジャーナル「自己組織化バックプロパゲーションがネットワーク学習効率を向上」を出版した。

[[430306]]人工知能の分野では、現在人工ニューラルネットワークで広く使用されているバックプ...

仮病を使って休暇を取る時代は終わり?イスラエルの企業が、45秒で病気を装う従業員を識別できるAIプログラムを開発

海外で流行が猛威を振るう中、多くの企業は従業員にリモートワークをさせざるを得ない状況となっている。そ...

「機械による人代替」が雇用問題を引き起こす。第一線で働く人々の未来はどうなるのか?

人工知能技術の推進により、製造業の変革と高度化が進み、「機械が人に代わる」という波が起こり、その社会...

人工知能の成長がデータセンターの再設計を促している

現在進行中のデータ センターの再設計の主な側面は、AI の大規模で複雑なワークロードと、グラフィック...

Huggingfaceによる大規模モデル進化ガイド:GPT-4を完全に再現する必要はない

ビッグデータダイジェスト制作ChatGPTが人気を博した後、AIコミュニティは「百式戦争」を開始しま...

国産のハイエンドチップはどれくらい強いのか?業界関係者6人がこう考えている

[[440057]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...