db tech showcase

dbtsブログ

このエントリーをはてなブックマークに追加

【dbts2024 レポート】徹底解説!Insight SQL Testingを活用したデータベース移行の実践ポイント

クラウド ユーザー事例 運用ノウハウ
【dbts2024 レポート】徹底解説!Insight SQL Testingを活用したデータベース移行の実践ポイント

こんにちは、コンサルティング本部の新卒1年目の石坂です。
db tech showcase 2024 1日目のC6セッションである「徹底解説!Insight SQL Testingを活用したデータベース移行の実践ポイント 」のレポートをお届けします。

セッション概要

ココナラスキルマーケットの基幹データベースに対して、3つの目的(EOL対応、SLO99.96%の実現、IOPSの限界脱却)を実現するために移行を計画していました。
限られた時間の中で8億を超えるSQLを網羅したテストを実施することで、移行後のアプリケーションへの影響を未然に防ぐことを検討していたときに、Insight SQL Testingと出会いました。

試行錯誤してテストを行ったノウハウや、その結果としてどのような効果を得られたか?をご紹介します。

スピーカー名:株式会社ココナラ
システムプラットフォーム部
部長 / Head of Information
川崎 雄太 様

株式会社ココナラ
システムプラットフォームグループ
インフラ・SREチーム
片桐 英斗 様

はじめに

ココナラでは、Amazon RDSからAmazon Auroraへの移行にあたって、対象となるSQLの量が8億を優に超えていたそうです。移行のためのSQLテストを社内の2人のエンジニアが担当することになりましたが、そのまま推進していくと膨大な量の工数がかかってしまいます。

そこで、そのテスト工数を最小化したいという思いから選んだテストツールが、Insight SQL Testingでした。

弊社製品であるInsight SQL Testingの使用事例を、実際のユーザーの立場で紹介していただきました。

セッション内容まとめ

  1. なぜ移行が必要であったのか
    1. ココナラはオンラインでサービスを売買するスキルのマーケットプレイスを提供しており、日々データが蓄積されていく。データベース移行は必須であるという認識は存在していたが、成長するものに資金投入する方が優先されていた。
    2. Amazon RDS for MySQL 5.7を利用していたが、2024年2月にサービスが終了するため期限内に移行が必要であった。AmazonRDS for MySQLはSLAが99.95%であり、社内で定めた99.96%以上の基準に達していなかった。

  2. Insight SQL Testingを導入した理由
    1. Amazon RDS for MySQL 5.7をMySQL 8.0と互換性のあるAmazon Aurora MySQLバージョン3に移行することを決定し、テスト環境で進めていくが、8億を超えるSQL文を対処するには工数が異常にかかることが判明し、いずれかのテストツールの導入を勘案した。
    2. PoCの機会をもらって様々な製品と比較した結果、テスト結果やクエリ時間、エラー内容がわかりやすくCSVでも取得できるInsight SQL Testingの導入を決定した。

  3. Insight SQL Testingの利活用
    1. クエリログのサイズが大きいと取り込みの失敗をするなどトラブルが起こることもあったが、Insight SQL Testingの提供会社であるインサイトテクノロジーのサポートによる回避策やパッチを適用することで無事SQLテストを終了し、移行を完了することができた。
    2. 結果的に8億を超えるSQL文があったにもかかわらず、影響調査が必要だったのは200本、事前改修は30本のみにとどまった。

聴講した感想

データベースの移行というのは数年に1度訪れるものでありながらも、常に社内にデータベースの専門性を身に付けている人が必ずいるかと言われればそうではないのが現実です。急速に成長している会社にとっては、それらに時間や資金を投入することが躊躇われることもあるかと思います。

その中で、聴講する前には想像していなかったような億単位にものぼるSQL文のテストをしていくには、何かしらの打開策が必要です。結果的に、Insight SQL Testingの導入によって影響調査が必要だと判明したのは200本、事前改修が必要だったのは30本のみであり、そのおかげで無事に移行が成功したというのは驚異的な数字であると感じました。

データベースの知見が豊富とは言えない者にとってはデータベースの移行というもののハードさと難しさが事前には実感しづらかったのですが、数字を提示されることによってより理解しやすく勉強になりました。

一覧に戻る