chatGPTの登場によってMySQLおじさんの職は奪われてしまうのか?

技術本部 サービスリライアビリティグループ(SRG)の鬼海(@fat47)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
本記事は、SRG 内にある DBWG(DBワーキンググループ)が全社内向けに提供しているデータベースに関する資料を公開します。
なにかの役に立てば幸いです。
 

はじめに


流行りにのったような主語の大きいタイトルですみません。
今回の記事では、ChatGPTやBingAIなどにmy.cnfの内容を与えて設定のチューニングなどのアドバイスをしてもらい、現時点でどれだけ実用的なのかを考えてみたいと思います。
💡
chatGPT等は入力内容が学習に使われてしまう場合があります。 個人情報や機密情報などは入力しないようにしましょう。
 

質問内容


「下記はMySQL5.7で利用しているmy.cnf設定ファイルです。 問題となりそうな項目をすべて教えてください。 このタスクで最高の結果を出すために追加の情報が必要であれば質問をしてください。」
 

設定ファイルに散りばめた罠


設定の不備だったり、AIが指摘してくれたら嬉しいなと思うパラメータは以下の通りです。
設定項目名説明
大きいサイズのbufer_poolの場合分割するのが望ましい。
デフォルトではONだがあえて無効にしている。
MySQL5.7.10以降は常にONにされている
MySQL5.7からBarracudaがデフォルトに。MySQL5.7では非推奨パラメータ。
InnoDBログへの書き込み頻度を落としている設定。
utf8(utf8mb3)ではなくutf8mb4が望ましい。
 

回答


chatGPT無料版(GPT-3.5)

7項目指摘
で無効にするのは定石となっている設定ですが、そこについての補足情報はありませんでした。
には気がついてもらえませんでした。

Bing AI(GPT-4)

7項目指摘
についての補足情報がありました。
その他の項目も設定の推奨値を参考に出してくれているのは良さそうです。

ChatGPT Plus(GPT-4)

10項目指摘。
についてより詳細に情報をくれました。
その他の項目についての情報量も多いです。
そもそもMySQL5.7よりもっと新しいものを使えという助言も(笑)
 

3つ試してみて比較表


× = 項目への指摘がなかった
= 項目への指摘があったが内容があっているか怪しい
= 指摘もあるし内容も概ね正しそう
設定項目名chatGPT(GPT-3.5)BingAI(GPT-4)ChatGPT Plus(GPT-4)
innodb_buffer_pool_instances = 1×
innodb_doublewrite=0
innodb_support_xa = OFF
innodb_file_format×××
innodb_flush_log_at_trx_commit = 0
character-set-server = utf8×××
はOFFにしてもMySQL5.7.10以降は強制的にONにされますが、それについて指摘してくれるところはありませんでした。
はMySQL5.7で非推奨パラメータとなっていますが、それについて指摘してくれるところはありませんでした。
は設定上は問題ないので指摘してくれるところはありませんでした。

終わりに


今回試してみて、指摘内容に物足りないところはありますが、チューニングのとっかかりとしては役に立つ場面もありそうだなと思いました。
現時点ではまだまだMySQLおじさんの知見は必要そうなので一安心(?)ですが、これからのAIの進化に期待しています。
 
SRG では一緒に働く仲間を募集しています。 ご興味ありましたらぜひこちらからご連絡ください。
 
このエントリーをはてなブックマークに追加