CLOSE

インフラコース データベース(全1記事)

2023.01.25

Brand Topics

PR

「安全にDDLが実施できる」をコンセプトに「SafeDDL」を開発 すべてのデータベースの運用・管理を行う、LINEのデータベース室

提供:LINE株式会社

LINEで働くエンジニアが、各職種別に日々の業務内容や開発体制、働く環境、今後の展望などについて話す「LINE 新卒採用 技術職 コース別説明会」。ここでデータベース室の北川氏が登壇。データベース室の主な業務、現在の課題と取り組みについて話します。

データベース室の構成

北川健太郎氏(以下、北川):データベース室の発表をします。MySQL1チームでマネージャーをしています。北川といいます。よろしくお願いします。

データベース室ですが、先ほど説明があったとおり、IT Service Centerの下にVerda室、システム室、ネットワーク室と同様にデータベース室があります。

データベース室の中はそれぞれ担当するソリューションごとにチームが分かれていて、MySQL1チーム、MySQL2チーム、MongoDBチーム、HBaseチームというかたちで分かれています。

MySQL1チームとMySQL2チームの違いは、1チームは私が所属する組織ですが、主に日本のサービスに向けた開発者を担当するMySQLのチーム(です)。2チームはグローバルサービスを担当しているかたちで分かれています。

サポートしているDBMS

サポートしているDBMS(data base management system)としては、先ほどのチームにも出てしまっていますが、MySQL、Redis、Oracle Database、MongoDB。あとはSQL Server、HBase、CUBRIDといったデータベースをサポートしています。

データベース室の主な業務

サービスといえば必ずデータベースだったりデータストアを利用していると思います。そのサービスをすべて横断して、すべてのデータベースの運用と管理をデータベース室で行っています。

主な業務として大きく分けて3つ。コンサルティング、オペレーション、あとはリサーチ&デベロップメント。この3つに分かれていて、こちらについて説明していきます。

コンサルティング。これは主にサービス固有の問題を解決します。テーブル設計のレビューだったり、クエリレビュー。例えば開発者からテーブル設計に問題はないかとか、更新をした時にロックの競合は問題ないかとか。そういった、開発者がデータベースを使う上で不安に思うことを解決する。そういった仕事になります。

あとはオペレーション。こちらはMySQL全体に対する共通のお仕事です。DDL(Data Definition Language)の実行も我々DBA(Database Administrator)が担当しています。また、バックアップ・リカバリの管理、あとはトラブルシューティングだったりマイグレーションの作業も行っています。

3つ目として、リサーチ&デベロップメントです。こちらはMySQLのソースコードを解析したり、パッチを当てたり、新たにMySQLのストレージエンジンを開発したり、MySQLに対するより深い調査であったり。あとは、オペレーションに対する自動化の開発も進めています。新しいソリューションの調査として、今はTiDBのようなNewSQLの調査というのも進めています。

チームのメンバーとして全員がすべてできるわけではなく、やはりソースコードの解析は難しいので、それぞれロールを持って、チームのメンバーそれぞれが得意なことを進めています。

チーム間の協業として、データベース室は主にサービス開発者とのやり取りが多いです。先ほど説明したコンサルティングやオペレーションを提供しているし、リサーチ&デベロップメントも提供しています。システムチーム、Verdaチーム、ネットワークチーム、セキュリティチームとは支援を依頼して、いろいろ協業しています。

LINEのMySQLの状況

LINEのMySQLは日々増えていて、2022年11月現在ではだいたい6,000インスタンスほどMySQLが動いています。バージョンにおいては5.6が6パーセント、5.7が56パーセント、8.0が38パーセントとなっています。MySQL5.6はもうEOL(End Of Life)なので、こちらはすべてバージョンアップする予定が近々あります。

現在のチームの課題

現在のチームの課題。これはいくつかあって、先ほど説明したようにMySQLはどんどん増えていっています。そのため、オペレーションのコストが増えていたり、開発者とのコミュニケーションコストも増えています。

あとは、メンバーの限られたリソースの中でMySQLをもっと深く研究していったり、新しいソリューションの調査の時間の確保もすごく難しくなっています。

そのため(スライドの)下に書いている、コンサルティングとオペレーションとリサーチ&デベロップメント。今、それぞれだいたいどれぐらいの割合で仕事をしているかというものですが、コンサルティングで20パーセント、オペレーションで60パーセント、リサーチ&デベロップメントで20パーセントです。

なので、オペレーションのコストを下げてコンサルティングの量を増やす。あとは、リサーチ&デベロップメントを増やす。こういったことを考えています。オペレーションのコストを下げるために、オペレーションの自動化を強く進めています。

オペレーションの中でもデータベースマイグレーションはすごく大きな作業で、LINEだったらMySQLのバージョンアップ、MySQLのバージョンのEOLだったりCentOSのEOSだったり。あとはIDC(Internet Data Center)ルームの移動とか、そういったけっこうな頻度でマイグレーションが発生します。

その中で我々が(マイグレーションを)実施していましたが、開発者自身でMySQLのマイグレーションを実施できるWebツール(MUH-Prod)を開発して、こちらは10月にリリースしました。

開発者としては単純にクリックしていくだけでマイグレーションが完了する。そういったツールになっています。こういったかたちで、我々の今までのナレッジをツールに落とし込んで開発者に提供することをより強く進めています。

現在の取り組み

現在の取り組みとしては、「SafeDDL」というものも開発していて、これを開発者に提供予定です。現在、DDL作業はDBAが実施しています。DDLを実施すると、トラフィックによってはロック競合やロックの待ちでサービス障害になることもあるので、「安全にDDLが実施できる」コンセプトをもとに開発しています。

あとはアラートの一次対応のBot。こちらはたとえば、レプリケーションの遅延が発生した時に、アラートの内容を分析して、現在のMySQLの状態をチェック。そのまま自動復旧だったり解決案をBotが提供するツールを考えています。

それと、ヤフーとLINEでMySQLストレージエンジンの共同研究も行われていて、この次(のセッション)に大塚さんという方が登場するんですけれど、その方はストレージエンジンの開発に向けていろいろ動いています。こちらはTech-Verseでも発表があるので、興味がある方はぜひ見てみてください。ではありがとうございました。

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

LINE株式会社

関連タグ:

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • お互い疑心暗鬼になりがちな、経営企画と事業部の壁 組織に「分断」が生まれる要因と打開策

人気の記事

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!