MySQL AB

Similar documents
MySQL AB

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

自己紹介 1982 年 4 月に日商エレクトロニクス株式会社入社 Sybase を使った銀行系システムの開発 保守を担当 Oracle データベースを使ったアプリケーション設計 開発 保守 およびパフォーマンス チューニングなどのコンサルティング業務を担当 Oracle データベースのデータ移行 再

Microsoft PowerPoint - MySQL-backup.ppt

Microsoft Word - JP-AppLabs-MySQL_Update.doc

スライド 1

東芝 MAGNIA R3320b での SSD 性能の検証 2012 年 8 月 株式会社東芝 クラウド & ソリューション事業統括部 目次 1. はじめに ソリッドステートドライブの概要 使用機器一覧 単体性能について サーバー用途別のテスト

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

平成20年度成果報告書

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

OPENSQUARE

目次 はじめに Introduction Analyzing Big Data Vectorwise and Hadoop Environments Vectorwise Hadoop Connector Perform

MySQL Cluster

PowerPoint プレゼンテーション

April 2014 Flash-aware MySQL フラッシュが MySQL を変える Takeshi Hasegawa Senior Sales Engineer APAC Japan Fusion-io

はじめに Dell PowerVault DL2000 Powered by Symantec Backup Exec は シンプルで管理しやすいデータ保護機能を提供する 柔軟かつ経済的なバックアップソリューションです 本ホワイトペーパーでは PowerVault DL2000 の バリューシリーズ

PowerPoint Presentation

スライド 1

今さら聞けない!? Oracle入門 ~前編~

Microsoft Word LenovoSystemx.docx

MySQL Server 5.0 Load Data ベンチマーク

スライド 1

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

Postgres Plus Advanced Server 9.3パーティションテーブルの特徴と性能検証レポート

今さら聞けない!?大規模テーブルのパフォーマンスチューニング ~パーティショニング~

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

スライド 1

スライド 1

hpc141_shirahata.pdf

PowerPoint Presentation

性能を強化した 第 12 世代 Dell PowerEdge サーバの RAID コントローラ Dell PERC H800 と PERC H810 の OLTP ワークロード性能比較 ソリューション性能分析グループ Luis Acosta アドバンストストレージエンジニアリング Joe Noyol

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

スライド 1

スライド 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

mysql56_load_r2

スライド 1

SRA OSS, Inc. のご紹介 1999 年より PostgreSQL サポートを中心に OSS ビジネスを開始 2005 年に現在の形に至る 主なビジネス PostgreSQL, Zabbix などの OSS のサポート コンサルティング 導入構築 PowerGres ファミリーの開発 販売

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

データベース暗号化ツール「D’Amo」性能検証

Microsoft PowerPoint VIOPS.ppt

スライド 1

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

今さら聞けない!? Oracle入門 ~後編~

記憶域スペースダイレクト (S2D) を活用したハイパーコンバージドインフラ技術解説ガイド 概要本ドキュメントは Windows Server 2016 で構築したハイパーコンバージドインフラ (Hyper-Converged Infrastructure:HCI) を技術的な観点から解説したガイド

平成20年度成果報告書

10年オンプレで運用したmixiをAWSに移行した10の理由

サンプル:OSDL DBT-3によるPostgreSQLの性能評価(SATA HDD&SATA SSD編)

ソフト活用事例③自動Rawデータ管理システム

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

MAGNIA Storage Server Configuration Guide

Japanese.p65

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

PowerPoint Presentation

計算機概論

untitled

ホワイト ペーパー EMC VFCache により Microsoft SQL Server を高速化 EMC VFCache EMC VNX Microsoft SQL Server 2008 VFCache による SQL Server のパフォーマンスの大幅な向上 VNX によるデータ保護 E

<4D F736F F D2091B28BC68CA48B8695F18D908F912E646F63>

PowerPoint プレゼンテーション

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

PowerPoint_template_v1.3.pptx / パワーポイントテンプレート

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

MaxGauge_診断分析プロセス

MySQL研修コース & 資格のご案内

PowerPoint プレゼンテーション

ORACLE PARTITIONING

_55wSCS.ppt

ディスクの管理

Windows Server 2016 Hyper-V ストレージQoS機能の強化

PowerPoint Presentation

White Paper 高速部分画像検索キット(FPGA アクセラレーション)

サンのオープンソースへの 取り組み

提案書

Oracle Data Pumpのパラレル機能

DataKeeper for Windows リリースノート

Slide 1

PowerPoint プレゼンテーション

InterSec/LB400k システム構成ガイド 2019 年 01 月第 3 版

キャッシュポイズニング攻撃対策

2 データをコピーするフォーマットするダウンしたら資料困ったときにはお使いになる前にもくじお使いになる前に...3 フォーマットする...4 macos ~ OS X の場合 5 OS X 以前の場合 7 データをコピーする...9

概要 ここでは先程デモを行った OpenStack の中で仮想マシンのデータがどのように管理されているかをご紹介致します OpenStack の中でデータがどのように配置され 管理されているかを知ることは 可用性を検討する上で非常に重要になります 2

MySQL+ioDrive2+LifeKeeper検証結果資料

PassSureExam Best Exam Questions & Valid Exam Torrent & Pass for Sure

使用する前に

Hadoop LZO圧縮機能の検証

アジェンダ WG1( 性能ワーキンググループ ) の今年度テーマ 今年度の成果物 実施体制 活動報告 1: 定点観測 ( スケールアップ検証 ) 活動報告 2: パーティショニング検証 活動報告 3: ハードウェア活用 (SSD) 検証 活動報告 4: スケールアウト検証 (Postgres-XC)

DataBase17-10.pptx

PowerPoint プレゼンテーション

Microsoft Word - gori_web原稿:TrusSPSにおけるNAS OSのパフォーマンス評価.docx

はじめに NEC と日本オラクル社は NEC のブレードサーバーシステム SIGMABLADE-H を利用し Linux プラットフォーム上で OracleRAC11g Release2 との組み合わせで線形な性能向上が可能であることを実証しました 本資料ではその検証結果について述べます 今回は 検

富士通株式会社製サーバ「PRIMERGY TX200 S6」とVIRIDENT社製「tachIOn」接続検証結果

目次 1. はじめに SSL 通信を使用する上での課題 SSL アクセラレーターによる解決 SSL アクセラレーターの導入例 SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8

スライド 1

業務用コンピュータサーバーに関する

VXPRO R1400® ご提案資料

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

Transcription:

MySQL のパフォーマンスチューニングとよくある落とし穴 松信嘉範 (MATSUNOBU Yoshinori) Principal MySQL Consultant, Sun Microsystems yoshinori.matsunobu@gmail.com 1

テーマ ハードウェア選定 バージョン選定 ロードなどの更新処理のパフォーマンス改善 今日のセッションのメイン レプリケーション 全文検索 その他 2

ハードウェア選定 バージョン選定 よくある勘違い MySQL のバージョンは古くても良い CPU コア数さえ多ければ メモリサイズやディスクはどうでもいい ディスクは SATA II 7200 回転の 1TB のディスクが 1 本あれば良い 3

MySQL のバージョン選定 バージョンは 5.0 5.1 5.4(beta) の中から選ぶ たとえ4.0までの機能しか使わなくても5.0 以降を選ぶ 5.0と5.1は 8CPUコア程度までスケールする 5.4は16CPUコア程度までスケールする 4.1 以下は 2CPUコア程度までしかスケールしない 4.0 とかそれ以前のバージョンは化石 サポート対象外であり バグフィックスも行なわれない InnoDB のデータフォーマットの効率が悪く より多くのデータサイズを消費する 一貫性のあるバックアップを取る手段が限られている データ消失を防ぐことのできる手段が限られている 4

64ビット機が主流 メモリサイズは極めて重要 ハードウェア選定 参照だけでなく 更新処理でも重要 Linux を選択する場合は I/O スケジューラやファイルシステムに注意 noop, deadline, cfq, anticipatory ext3, xfs (nobarrier) 5

ストレージ ハードウェア RAID を使い バッテリーバックアップつきライトキャッシュを搭載する 書き込み性能が大幅に向上する IOPS (I/O per second) を意識する SAS HDD 15,000 回転で 4~8 本程度が主流 1 本のディスクではせいぜい数百 iops しか出ない RAID5 はそれほど遅いわけではない サイズに制約が無ければ RAID1+0 が推奨される SSD の効果は絶大 2 本の RAID 1 SSD で HDD8 本くらいの効果がある 誰か人柱になってください 6

更新性能 7

よくある勘違い INSERT 件数 ( 投入データサイズ ) が 10 倍になれば 所要時間も 10 倍になると思っている INSERT は書き込みしかしないのでメモリサイズは小さくても良いと思っている インデックスが多くなると更新性能が落ちるが たいしたことは無いので気にしなくて良いと思っている 履歴系 ログ系などの 蓄積主体のテーブルは MyISAM の方が InnoDB よりも良いと思っている 更新性能を高めるには インデックスやストレージエンジンの特性をよく理解して IOPS を減らす努力をすることが大切 8

INSERT すると何が起こるのか INSERT INTO tbl (key1) VALUES (61) Leaf Block 1 key1 RowID 1 10000 2 5 3 15321 60 431 Leaf Block 1 key1 RowID 1 10000 2 5 3 15321 60 431 Leaf Block 2 key1 RowID 61 15322 Empty Leaf がいっぱいになる 新しいブロックが割り当てられる 9

シーケンシャルな INSERT INSERT INTO tbl (key1) VALUES (current_date()) Leaf Block 1 key1 RowID 2008-08-01 1 2008-08-02 2 2008-08-03 3 2008-10-29 60 Leaf Block 1 Leaf Block 2 key1 RowID key1 RowID 2008-08-01 1 2008-10-29 61 2008-08-02 2 2008-08-03 3 Empty 2008-10-29 60 auto_incrementやcurrent_datetimeなど インデックスに対してシーケンシャルに格納される フラグメンテーションが発生しない インデックスのサイズが小さくなる InnoDB PRIMARY KEYでは強く推奨される すべてのアクセスがここに集中する : キャッシュされる 10

ランダムな INSERT INSERT INTO message_table (user_id) VALUES (31) Leaf Block 1 user_id RowID 1 10000 2 5 3 15321 60 431 Leaf Block 1 user_id RowID 1 10000 30 333 Empty Leaf Block 2 user_id RowID 31 345 60 431 Empty 通常 INSERT の順序はインデックスに対してランダム (i.e. message テーブルの user_id) 断片化しやすい 各ブロックのエントリ数が少なくなる インデックスサイズが大きくなり キャッシュされにくくなる 大量のリーフブロックが更新の対象になる 11

ランダムな INSERT は read() を必要とする INSERT INTO message (user_id) VALUES (31) RDBMSのリーフブロックバッファプール user_id RowID 1 10000 2 5 3 15321 1. インデックスがキャッシュされているかどうかをチェック 3. インデックスを更新する 60 431 2. pread() ( キャッシュされていない場合 ) ディスク バッファプールにキャッシュされていなければ ディスクから読まなければいけない シーケンシャルなインデックス (AUTO_INC, datetime, etc) はこの影響を受けない メモリサイズを増やしたり SSD を使うことで大きく改善される 12

Insert buffer InnoDB の独自機能 : Insert Buffer 非一意インデックスにおいて 更新対象のブロック InnoDB バッファプール上に無い場合 InnoDB はディスクから対象ブロックを読むのではなく Insert Buffer という専用領域に書き込む Insert Buffer はメモリ上と SYSTEM テーブルスペース上に作られる Optimized i/o 段階的にインデックス本体に統合される ( マージ ) 長所 :I/Oオーバーヘッドの削減 ランダムI/Oの多くを ( 高速な ) シーケンシャルI/Oにできる 短所 : 検索処理は本体インデックスと insert buffer の両方を読まなければいけないのでオーバーヘッドが増える マージ処理に時間がかかる ( 再起動後も行なわれる場合がある ) 13

インデックス戦略と INSERT 性能の影響 数億レコードを INSERT するベンチマーク Twitter のメッセージなどを想定 100 万レコードを INSERT する時間を測定 3 つのインデックス ランダムに入れる場合 vs シーケンシャルに入れる場合 Random: INSERT.. VALUES (id, rand(), rand(), rand()); Sequential: INSERT.. VALUES (id, id, id, id) 主キーは AUTO INCREMENT InnoDB vs MyISAM InnoDB: buffer pool=5g, O_DIRECT, trx_commit=1 MyISAM: key buffer=2g, filesystem cache=5g インデックス数 (3 vs 1) バッファプールサイズの変更 MySQL 5.1 のパーティショニング機能の活用 14

Benchmarks (1) : Sequential order vs random order Time to insert 1 million records (InnoDB, HDD) Seconds 600 500 400 300 200 100 0 1 13 25 37 49 61 73 85 97 109 121 133 145 Existing records (millions) 2,000 rows/s Sequential order Random order 10,000 rows/s インデックスサイズがバッファプールサイズを上回る バッファプールサイズにおさまっている状態では INSERT 時間が安定 バッファプールを超えてからは徐々に時間がかかるようになる (read() 時のヒット率が下がるため ) シーケンシャル INSERT では常にバッファプール内におさまるので安定 データ量が増えても更新性能が落ちないのは すべてのインデックスがシーケンシャル順に INSERT される場合だけ 15

Benchmarks (2) : InnoDB vs MyISAM (HDD) Time to insert 1 million records (HDD) Seconds 5000 4000 3000 2000 1000 0 1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 136 145 Existing records (millions) 250 rows/s innodb myisam MyISAM は InnoDB の insert buffer に相当する最適化機構が何も無く OS やストレージに強く依存する ディスクのシークや回転待ちは HDD では深刻になる 16

Benchmarks(3) : MyISAM vs InnoDB (SSD) Time to insert 1million records (SSD) Seconds 600 500 400 300 200 100 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 Existing records (millions) 2,000 rows/s InnoDB MyISAM 5,000 rows/s ンデックサイズがバッファプールサイズを超えるインデックスサイズがファイルシステムキャッシュサイズを超える MyISAM は 単に HDD を SSD に置き換えるだけで InnoDB よりも速くなったという例 17

Benchmarks (4) : SSD vs HDD (MyISAM) Time to insert 1 million records (MyISAM) Seconds 6000 5000 4000 3000 2000 1000 0 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 Existing records (millions) MyISAM(SSD) MyISAM(HDD) MyISAM の INSERT 性能は SSD と HDD で非常に大きい ディスクシークや回転待ちは SSD では発生しない 18

Benchmarks (5) : SSD vs HDD (InnoDB) Time to insert 1 million records (InnoDB) Seconds 600 500 400 300 200 100 0 1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 136 Existing records (millions) InnoDB (SSD) InnoDB (HDD) MyISAM に比べると違いは大きくない InnoDB の Insert buffer による影響が大きい Insert buffer のマージ処理に要する時間は SSD と HDD で相当に差があった (SSD:15min / HDD:42min) 19

Benchmarks (6) : Three indexes vs Single index 600 Time to insert 1 million records (InnoDB-HDD) Seconds 400 200 three indexes one index 0 1 41 81 121 161 201 241 281 321 361 401 Existing records (millions) インデックスサイズがバッファプールを超える インデックスが 1 個の場合は インデックスサイズが小さくなるのでパフォーマンスが遅くなる点も先延ばしにできる 1 レコードの INSERT あたりに必要なランダムリード回数も小さくなる ベストプラクティス : インデックスの数は可能な限り小さくする 20

Benchmarks (7) : Increasing RAM (InnoDB) 600 Time to insert 1 million records (InnoDB-HDD) Seconds 400 200 buffer pool=5g buffer pool=10g 0 1 21 41 61 81 101 121 141 161 181 201 Existing records (millions) メモリサイズの増大 ( より多くの領域をバッファプールに割り当てる ) は 損益分岐点を高める効果がある ベストプラクティス : インデックスサイズは小さくする 21

1 個の巨大なテーブル ( インデックス ) インデックスサイズを小さくする Partition 1 Partition 2 Partition 3 Partition 4 すべての ( アクセス対象の ) インデックスがメモリにおさまる場合 INSERT は高速 インデックスサイズを小さくするためのプラクティスに従う ( データ型の最適化等 ) アプリケーションパーティショニング (Sharding) MySQL 5.1 のレンジパーティショニング パーティショニングのキーを シーケンシャルに投入される列にする (auto_increment や登録時刻など ) インデックスもパーティショニングの対象になる (Local Index) INSERT 主体のテーブルでは 最新のパーティションだけがアクセス対象になる SELECT が頻発する場合はパーティションプルーニングを考慮 22

Benchmarks(8) : Using 5.1 Range Partitioning (InnoDB) Time to insert 1 million records (InnoDB-HDD) Seconds 600 400 200 0 1 17 33 49 65 81 97 113 129 145 Existing records (millions) Normal table Range-partitioned table PARTITION BY RANGE(id) ( PARTITION p1 VALUES LESS THAN (10000000), PARTITION p2 VALUES LESS THAN (20000000),. INSERT 主体のテーブルでは 直近のパーティションしか更新されないのでread() 範囲が非常に限定される 23

Benchmarks(9) : Using 5.1 Range Partitioning (MyISAM) Time to insert 1 million records (MyISAM-HDD) Seconds 5000 4000 3000 2000 1000 0 1 21 41 61 81 101 121 141 161 181 Existing records (millions) Normal table Range-partitioned table MyISAM でも同様 24

Benchmarks (10) : Linux I/O Scheduler (MyISAM-HDD) Time to insert 1 million records (HDD) Seconds 5000 4000 3000 2000 1000 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 Existing records (millions) queue size=100000 queie size=128 (default) MyISAMは InnoDBのようなI/O 処理最適化のメカニズムが無い OSとストレージに大きく依存する LinuxのI/Oスケジューラには I/Oキュー というものがある キュー内のI/Oリクエストをソートし 最適になるように並べ替える キューサイズは変更可能 # echo 100000 > /sys/block/sdx/queue/nr_requests 25

Benchmarks (11) : Linux I/O Scheduler (MyISAM-SSD) 400 Time to insert 1 million records (SSD) Seconds 300 200 100 queue size=100000 queue size=128 (default) 0 1 9 17 25 33 41 49 57 65 73 81 89 97 Existing records (millions) SSD では大きな違いが無い 26

レプリケーション スレーブの遅延をどのように防ぐか 27

レプリケーション R R R W R W W Master W Master R R R W W W Slave R R R W W W Slave 参照処理のスケールアウトに有効 更新処理のスケールアウトにはならない 28

スレーブの遅延にどう対処するか (1) レプリケーションはシングルスレッドで動く 1 本の I/O スレッドと 1 本の SQL スレッド マスターの負荷が高い場合やネットワーク回線が遅い場合 I/O スレッドがボトルネックになることがある どちらかというと SQL スレッドがボトルネックになる方が大半 レプリケーションはトランザクション単位 1 個のトランザクションが非常に長ければ スレーブに伝達されるのが遅くなり その分が遅延になる LOAD DATA などで大量にレコードを処理するような場合 コミット単位を小さく切るのが効果的 これはクラッシュ時のリカバリを短時間で終わらせる場合にも有効 29

スレーブの遅延にどう対処するか (2) Master Server Slave Server 記録 反映 SELECT 文に変換 先行実行 ( キャッシュされる ) レプリケーション ( 時間差 ) mysqlbinlog で読む I/O スレッド SQL スレッドともにシングルスレッドなので 複数の CPU コアを活かしきれない I/O スレッドは高速に転送するが SQL スレッドによる実行に時間がかかることが多い mysqlbinlog でリレーログファイルを読み それを SELECT 文に変換して実行 結果がキャッシュに乗るので INSERT/UPDATE/DELETE が高速になる 30

キャッシュ効率を意識した振り分け 関東地方のユーザ東北 北海道のユーザ中部 近畿のユーザ西日本 九州のユーザ スレーブ スレーブ スレーブ スレーブ 関東地方の地理データがキャッシュされる 東北 北海道の地理データがキャッシュされる 中部 近畿の地理データがキャッシュされる 西日本 九州の地理データがキャッシュされる レプリケーション マスター 関東のユーザは関東の地理データにアクセスすることが多い など アクセスパターンに偏りがあれば 単純にロードバランサーやラウンドロビンで振り分けるよりもキャッシュ効率がずっと良い 全スレーブが全データを持つようにすれば 関東と中部地方にまたがった検索などにも対処できる 31

スレーブのハードウェア ストレージエンジン選定 ハードウェア選定 CPU のコア数よりもクロック数を優先する メモリサイズは相変わらず重要 ディスクは本数よりも 1 本あたりの IOPS を重視 HDD なら 15,000 回転が望ましい SSD は非常に有力な候補になる マスターとスレーブ間のネットワーク回線は GbE を推奨 ストレージエンジン マスター InnoDB スレーブ MyISAM という形はよく見かけるが MyISAM はそれほど高速ではないということと MyISAM はテーブルロックかつ参照と更新が競合するので 集計クエリなどが長時間走ると レプリケーション遅延が起こることに注意 マスターを Blackhole にするのは有効 マスターにはデータが残らず 制約違反等の検知もできない 32

全文検索 バージョンごとに選択肢がある MySQL デフォルトの全文検索機能は 日本語に対応していない MySQL 5.0 Tritonn/Senna 住商情報システムと未来検索ブラジルによるサポート提供 最も実績がある MySQL 5.1 以降 Sphinx http://www.sphinxsearch.com/ MySQL のストレージエンジンとして動作し UTF-8 であれば Bi-gram 方式により 日本語の全文検索が可能 分散検索エンジン 非常に高速 Craigslist など 海外の大規模サイトでの実績が多数 利用方法がやや特殊 Fulltext Parser Plugin http://mysqlftppc.wiki.sourceforge.net/home-j mroonga/groonga Senna の後継にあたる 現在開発中 33

本体にはまだ取り込まれていないが 強力な機能 ( パッチは完成済み ) バイナリログのスケーラビリティ改善 バイナリログを有効にしているとき 同時に更新するスレッド数が増えても更新性能が伸びない ( グループコミットがきかない ) 点の修正 数十倍のレベルで高速化 sync_binlog=1 の高速化 耐障害性の最も高い sync-binlog=1 の性能改善 これも数倍のレベルで高速化 監査ログ機能 いつ どこから誰がログイン / ログアウトし どのクエリを実行したかを特定する プラグイン形式になっており 任意にカスタマイズできる General Log に比べて非常に高速 UTF-8 の 4 バイト文字のサポート 34

Custom Build / Early Adopter Program Custom Build パッチは存在しているがまだ本家にはマージされていない 機能をバックポートし プレミアム価格でサポートするメニュー Early Adopter Program まだ社内の QA 基準をクリアしていないが 非常に有望な機能を持ったバージョンについて リリース前にそれを利用する機会を提供 希望した有償顧客に対して応相談 35

宣伝 (1) 新書籍 高性能 無停止 Linux-DB 構築 ( 仮 ) 9 月下旬発売予定 LVM, Heartbeat, DRBD, mon による高可用構成 MySQL Cluster レプリケーション等による超高可用構成 RAID やライトキャッシュなど DB サーバの性能を引き出すハードウェア戦略 ファイルシステムや I/O スケジューラの影響 パフォーマンスを引き出すインデックス戦略 DB サーバの負荷テストの要点やケーススタディ SSD による DB サーバへの性能の変化 また DB アーキテクチャはどのように変わるかの考察 36

ありがとうございました 37