2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQLの検索エンジンの話

Last updated at Posted at 2017-10-17

MySQL/MarinaDBのOSSって無料で使えるのがいいところと思っていましたが、大変お恥ずかしい。
本質的には、データベースの心臓部”ストレージエンジン”を選択できるところ、更にはそれをテーブルごとに選択できるのが特徴なのです。

What's ストレージエンジン

  1. データベースエンジンがクライアントからSQL文を受け取ると、まずそのSQL文の解釈を行います。これをSQL文のパースと呼びます。
  2. 次にどのようにデータを処理するかを決めます。プランナやオプティマイザと呼ぶ機能がこの仕事を行います。
  3. データの処理方法が決まると、はじめて実データへのアクセス処理が開始されます。ストレージエンジンは、実データがどのような形式で、ディスク上にどのように格納されているかといった情報を判別した上で処理を実行する。

What's kind of Engine

ざっくり下記種類があって、検索系(オンメモリ、ストレージ)orバックログ系など、様々な用途があり、目的に応じたストレージエンジンの選択が必要。
https://thinkit.co.jp/cert/article/0608/1/1/2.htm

ストレージエンジン 概要
MyISAM MySQL標準のストレージエンジンとして使用される
InnoDB 行ロックとトランザクションをサポートする
Memory メモリ上にテーブルを配置する
Merge 複数のMyISAMテーブルを統合する
Archive 圧縮したデータベースを使用する
Federated リモートのデータベースを参照する
NDB クラスター構成にて使用される
CSV データファイルにCSVを使用する
Blackhole ダミーテーブルを使用する

公式サイトにより詳細な情報がのってました。
https://mariadb.com/kb/ja/choosing-the-right-storage-engine/

My comment

仕事ではOracle使ってるし最近AWSやら便利なのがでてきて、あんまりこういったレイヤーを意識することがなくなってきてしまいました。
昨今は、”インフラを意識せずアプリに注力していこう”といった大きな潮流がありますが、そのいった中でもしっかり土台を理解していきたいですね。

Thanks,

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?