SlideShare a Scribd company logo
1 of 63
Download to read offline
LINEのMySQL運用についてKentaro Kitagawa, IT service center - database department - db1 team
DB Tech Showcase 2018 2018/09/20
 北川 健太郎 / Kentaro Kitagawa
 LINE株式会社
 IT Service Center - Database dept.- DB1 Team
 データベースエンジニア
 MySQL / Oracle Database / Redis
 MySQL道普請: http://gihyo.jp/dev/serial/01/mysql-road-construction-news
Introduction
@keny_lala
• About LINE
• History
• Operation of MySQL
• HA
• Monitoring
• Backup
• Next Step
Agenda
About LINE
LINEのMySQL運用について 修正版
※2018年3月時点
7,600万人 85%
国内ユーザー規模
LINEのMySQL運用について 修正版
About LINE Database
RDBMS
運用しているプロダクト
NOSQL
プロダクトの割合
Redis
43%
MySQL
38%
Cubrid
7%
HBase
5%
MongoDB
5%
SQL Server
1%
Oracle
Database
1%
MySQL
82%
Cubrid
15%
SQLServer
2%
Oracle Database
1%
RDBMS RDBMS + NOSQL
MySQL Versionの割合
5.7
32%
5.6
44%
5.5
21%
5.1
3%
MySQL
 データベース室 全体で17人
DBAについて
DB1 Team ・・Oracle, ElasticSearch
DB2 Team ・・ SQL Server
DB3 Team ・・MongoDB
BigDataPlatformTeam・・Hbase,Hadoop,Cubrid
MySQL
Redis
 MySQL の 構築
 スキーマ管理
 バックアップ・リカバリ
 Database ACL管理
 クエリチューニング
 障害対応
 インデックス設計
 テーブル設計(依頼があれば)
 運用ツールの作成
業務について
History
History
2015
MySQL 500+
DBA 8人
2011
LINE Release
MySQL 100+
DBA 5人
2017
MySQL 2000+
DBA 11人
2016
MySQL 1000+
DBA 10人
2018
MySQL 3000+
現在DBA 17人
History
2015
Redis Cluster
Redis Sentinel
2017
Hbase
Hadoop
2016
MongoDB
2018
Elastic
2011
MySQL
Oracle
Cubrid
SQL Server
 2016年以降、MySQLが年間1000インスタンス規模で増えている
 海外(台湾、タイやインドネシアなど)のサービスも面倒みている
 それらのサービスが急激に増えてきているよう
 管理するプロダクトも増えつづけている
 運用に手一杯の時期があった
 最近、やっと人が増えてきて、新ソリューションの検証や運用ツール作成などに注力できる
History
MySQL Operation
MySQL Operation
 標準化 自動化することで運用を改善
 大規模運用における苦労点
 台数が急激に増えて管理が大変
 サービス数が多く、サービスごとにMySQLのバージョンやサーバスペックが異なる
 手動になっている運用に時間を取られる
 インストール ,Database ACL管理,スキーマ変更
 サービス担当者や開発者とのコミュニケーションコストが高い
 複雑なDB構成によって、属人化して障害対応が24時間体制になってしまう
 1 サーバ当たり1インスタンス
MySQL Operation
 MySQL Enterprise EditionとMySQL Community Editionを併用
 すべてOracle MySQLでフォークした製品はなし
 同じマイナーバージョンで固定
 最新のマイナーバージョンアップは基本なし。
 メジャーバージョンアップは積極的に行う。
 MySQLに最適化されたサーバースペック
 基本的にすべてオンプレで物理サーバ、社内用のシステムには一部VM
 Low Spec ・・ HDD
 Mid Spec ・・ SSD
 High Spec ・・NVMe
MySQL Operation
 マスター/スレーブ/バックアップの3台が最小構成
 すべて同じHA構成
 さまざまな内製ツールを作成して、運用の自動化
 インストール自動化
MySQL Operation
AS-IS
手動インストール
TO-BE
自動インストール
統合管理ツール
 DBAの統合管理ツール (通称 mondb+)
統合管理ツール
 すべてのDBエンジンに対応した内製の一元管理するツール
 WEB画面上で操作
 各自欲しい機能を開発して、組み込む
 以下のような項目が閲覧・設定可能
 サービス/インスタンス情報一覧
 自動インストール
 自動スレーブ追加
 Slow log 情報
 Backup 情報
 Real time QPS 情報
 アラート情報
 などなど…
 サービス/インスタンス情報
 サーバ情報
 MySQLバージョン
 担当者
 ロール(マスターorスレー
ブ)
 などなど
 フェールオーバされれば即時
で反映
統合管理ツール
≈
 Slow log 情報(MySS)
 long_query_time=1
 日単位の合計数を取得
 時間別でも取得可能
統合管理ツール
 Real time QPS 情報
 コネクション数
 Com_xxx
 Slow_logの数
 Io_thread
 SQL_thread
 Second behind
master
 等の情報を閲覧可能
統合管理ツール
 以下情報を定期的に収集し、表示
 show engine innodb status
 show processlist
 show global variables
 show global status
 show slave status
 MySQL Enterprise Backup や xtrabackupの履歴テーブル
 データベースACL
統合管理ツール
 プライベートクラウド
 Verda DBS
 MySQLとRedisを提供
 VM/物理選択可能
 ある程度の権限を開発者に
もたせることで運用コスト削
減
 インスタンス作成
 Database ACL権限
 データベース作成
 sysスキーマの情報
プライベートクラウド
≈
プライベートクラウド
 sys.statement_analysisの情報提供
MySQL Operation
 まとめ
 統合管理ツールや自動化ツールで、運用を楽にしている
 プライベートクラウド
 インストールや権限追加などの運用コストの削減
 sys.statement_analysisでクエリの傾向を提供することやモニタリング画面を提供する
ことで、開発者とのコミュケーションコスト削減
 属人化する対応をなくす
 スペックや構成を標準化したことでアラート対応を当番制へ。
MySQL HA
 とあるツールをベースにカスタマイズして使用中
 本家はすでにメンテナンス終了。。
 VIP付け替え方式
 準同期レプリケーション(semi-sync)
 スタンバイマスターへフェールオーバする
MySQL HA
 自動フェールオーバ(マスターダウン)
 スレーブがスタンバイマスターにchange master
 スタンバイマスターをread_only = off
 スタンバイマスターにVIPに付与
 手動フェールオーバも可能
 MySQL バージョンアップ
 HW障害 / サーバリプレース
 インデックスやカラム追加
 割と安定してるが、課題も多かった
MySQL HA
MySQL HA
 課題
 VIP枯渇問題
 LINEのネットワーク設計の特性により、フェールオーバするサーバ間で物理
的制限がある
 マルチソースレプリケーション未対応
 最近要望が多い。。
 指定した1台のスレーブのみマスター昇格可能
 MHAのようにすべてのスレーブが昇格対象ではない。
 スレーブの数が多いとフェールオーバが遅い
MySQL HA
 現状の解決
 VIP枯渇問題ー>○
 DNS方式に改修することで、解決
 マルチソースレプリケーション未対応ー>○
 対応するように改修
 指定した1台のスレーブのみマスター昇格可能ー>△
 設定ファイルを自動で変更する
 メンテナンスが大変。。HAソリューションの見直し時期!?
 InnoDB Cluster
MySQL HA
 Oracle推奨はMySQL RouterをAPサーバ
と相乗り
 数千?数万?台のAPサーバにMySQL
Routerをインストール…
 すべてのMySQL Routerの面倒を見るの
はちょっとつらい
MySQL HA
 Group Replication + DNS or InnoDB Cluster + DNS
 シングルプライマリーモードで運用
 可用性はGroup Replicationで担保
 マスターの切り替わりを監視するモニターを用意して、DNS Recordを切り替える
 監視モニターにMySQL Routerを入れる
 監視モニターがGroup Replication meta 情報をチェックする
MySQL Monitoring
 MySQL Enterprise Monitor
 商用版のMySQLで使用可能
 MySQLのモニタリングであれ
ばこれを見れば大丈夫
 Query Analyzerとか便利
MySQL Monitoring
 しかし、MySQL Community Edition もあるし、管理してるプロダクトはたくさんある・・
DBONE Project
MySQL
Enterprise
Monitor
Enterprise Monitor
Remin/Relumin
Cloudera
MMS
nPod
 Monitoringツールの乱立問題
 複数のソリューションを統合的にモニタリングする仕組み
 低コストで実現するために、16のOSSの組み合わせ
 変更や新しいソリューションの追加を簡単にする
 サービス担当者にもわかりやすいUI、画面を共有することでコミュケーションコ
ストを下げる
 Slack、メールやLINE notifyにアラート通知する
DBONE Project
Role Solution
Collector Prometheus exporter / td-agent
Stored Prometheus / Elastic Search
Display Grafana
Alert Alertmanager / alerta
≈
DBONE Project
DBONE Project
DBONE for MongoDB
DBONE for MySQL
DBONE for Redis
DBONE Project
 MySQLの監視項目
 percona mysql exporterがベース
DBONE Project
 サーバのリソース監視(CPU / Memory / Disk / NW)
 コネクション数
 QPS
 インスタンス単位
 クラスター単位の合計
 スキーマ単位のテーブルサイズ合計
 InnoDB周り
 Performance_schema_xxx_lost
 たとえば、Performance_schema_digest_lostが増えていれば
events_statements_summary_by_digestに保存されない
 Temporary tablespaceサイズ
MySQL Backup
MySQL Backup
 1st バックアップとして、デイリーでローカルにフルバックアップ取得
 2nd バックアップとして、backup用storageへ転送する仕組み
LINE でのバックアップ
 MySQL Enterprise Backup(MEB)
 商用版のMySQLで使用可能。
 xtrabackup
 percona社が開発したOSS
 xtrabackup2.3以降はinnobackupexでなくてもxtrabackupコマンドでMyISAMの
テーブルも取得してくれる
MySQL Backup
 MEBもxtrabackupもオンラインバックアップ
 稼働中のMySQLに対して、停止することなくバックアップを取得
 アーキテクチャーはほぼ同じ
 トランザクション未対応のストレージエンジンはテーブルロック
MySQL Backup
 数TBの大規模かつ書き込み量が多いデータベースが多数
 1st バックアップのために、IO 帯域を考慮する必要
 2nd バックアップのために、 NW 帯域を考慮する必要
 MEBをメインで使用していたが、インスタンス急増のためxtrabackupも導入
 導入の際にIO制御の微妙な違いでハマった
 MEB
 --sleep オプション
 InnoDB テーブルから特定の量のデータをコピーした後に、スリープするミリ秒数を
指定します。(単位MS)
 すでにsleep=200で設定して運用
MySQL Backup
 xtrabackup
 --throttle オプション
 1MB単位での1秒当たりの入出力操作の数を制限します。(単位IO)
IO制御 オプション
Read/Write (MB) 実行時間
MEB(sleep=200) 76 5:13
throttle=0(no limit) 220 1:51
throttle=1 40 10:40
throttle=4 70 6:15
throttle=10 160 3:19
throttle=50 198 2:10
バックアップ処理時間
MySQLへの更新なし parallel 3, Database size 20G
実行時間
MEB(sleep=200) 5:10
throttle=0(no limit) 2:14
throttle=1 永久に終わらない
throttle=4 永久に終わらない
throttle=10 永久に終わらない
throttle=50 16:06
バックアップ処理時間
MySQLへの更新ありQPS 2000 parallel 3, Database size 20G
why…..
MySQL Backup
1. バックアップ開始
2. InnoDBテーブルのコピー
1. InnoDB log file(トランザクションログ)とInnoDB table file(ibdファイル)をコピーす
る
3. FLUSH TABLES WITH READ LOCK
1. InnoDB以外のテーブルをコピー
4. UNLOCK TABLES
5. バックアップ完了
どのようにバックアップが動くかざっくり説明
MySQL Backup
 MEB
 --sleepオプションはibdファイルのコピーにのみ有効
 xtrabackup
 --throttleオプションはibdファイルとトランザクションログにも有効
IO制御オプションの違った点
 MEB
 ibdファイルとトランザクションログを同時にコピー開始
 xtrabackup
 トランザクションログからコピー開始
 最新の状態に追いつくまでコピーしつづける
 追いついたらibdファイルのコピーを開始する
バックアップ開始時動作で違った点
MySQL Backup
 原因
 throttleオプションでIO量を制限してトランザクションログをコピーするため、更新が
多い環境ではトランザクションログの最新の更新に追いつかない。
 よって、ibdファイルのコピーが開始できずにずっとトランザクションログのコピーを
し続けていた状態であった。
 xtrabackupの場合はOSレイヤーで圧縮するようにしてIO制御することに変更
# xtrabackup --backup --stream=xbstream | pbzip2 -p${PLEVEL} > BACKUPDATA.bz2
Next Step
 MySQL8.0
 導入に向けて、絶賛検証中
 Amazon AWS(RDS)
 データセンターを持たない海外案件の対応
Next Step
 バックアップ統合管理システム開発
 MySQL HA
 Group Replication + DNS
 MySQL Query Replayer 開発
 MySQLのネットワークパケットからクエリを取得し、リプレイする
 メジャーバージョンアップやハードウェアリプレースの負荷テストを目的
Next Step
 Operation
 標準化と自動化することで運用が楽になった
 HA
 現状安定はしているが、今後を考えると新しいソリューションの検討が必要
 Monitoring
 DBONE で統合監視が形になってきている
 Backup
 バックアップ統合管理システム開発
 OSS化に向けた運用ツール開発
 まだまだやりたいことはいっぱいある!
まとめ
LINE DBA 絶賛募集中!
https://linecorp.com/ja/career/position/23
QUESTIONS ?
THANK YOU

More Related Content

What's hot

本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例Akihiro Kuwano
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技yoku0825
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Amazon Web Services Japan
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)Takanori Sejima
 
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法yoku0825
 
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやMySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやyoku0825
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)Tomoaki Uchida
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 

What's hot (20)

本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)
 
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
 
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやMySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 

Similar to LINEのMySQL運用について 修正版

LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -yoyamasaki
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula introIzumi Akiyama
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能Ryusuke Kajiyama
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQLyoyamasaki
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_publicDAISUKE INAGAKI
 
Rakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With XtrabackupRakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With XtrabackupRakuten Group, Inc.
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama Insight Technology, Inc.
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...Suguru Ito
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたSunao Tomita
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~Naoki (Neo) SATO
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517akirahiguchi
 
SQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data PlatformSQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data PlatformDaiyu Hatakeyama
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Yoichi Kawasaki
 

Similar to LINEのMySQL運用について 修正版 (20)

LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula intro
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQL
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
 
Rakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With XtrabackupRakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With Xtrabackup
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517
 
SQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data PlatformSQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data Platform
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
 

More from LINE Corporation

JJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTJJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTLINE Corporation
 
Reduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesReduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesLINE Corporation
 
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたKotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたLINE Corporation
 
Use Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionUse Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionLINE Corporation
 
The Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingThe Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingLINE Corporation
 
UI Automation Test with JUnit5
UI Automation Test with JUnit5UI Automation Test with JUnit5
UI Automation Test with JUnit5LINE Corporation
 
Feature Detection for UI Testing
Feature Detection for UI TestingFeature Detection for UI Testing
Feature Detection for UI TestingLINE Corporation
 
LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE Corporation
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享LINE Corporation
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE Corporation
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享LINE Corporation
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Corporation
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed KubernetesLINE Corporation
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE Corporation
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE Corporation
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Corporation
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Corporation
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Corporation
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發LINE Corporation
 

More from LINE Corporation (20)

JJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTJJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LT
 
Reduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesReduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin Coroutines
 
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたKotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
 
Use Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionUse Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extension
 
The Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingThe Magic of LINE 購物 Testing
The Magic of LINE 購物 Testing
 
GA Test Automation
GA Test AutomationGA Test Automation
GA Test Automation
 
UI Automation Test with JUnit5
UI Automation Test with JUnit5UI Automation Test with JUnit5
UI Automation Test with JUnit5
 
Feature Detection for UI Testing
Feature Detection for UI TestingFeature Detection for UI Testing
Feature Detection for UI Testing
 
LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發
 

Recently uploaded

00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 

Recently uploaded (12)

00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 

LINEのMySQL運用について 修正版

Editor's Notes

  1. LINEのMySQLの運用についてということで、 今までほとんど世に出てなかったLINEのデータベース事情全部公開したいと思います。 一歩的にしゃべてるとテンション下がってくので、途中でどんどん質問してください はい、では始めます。
  2. まず、自己紹介です。北川と申します、LINE株式会社に所属しているデータベースエンジニアです。 担当は主にMySQLとOracle Redisです。Twitterは以下
  3. 本日お話するアジェンダです。 まず、About LINEということで、LINE社についてとLINEでのデータベースやDBAについて紹介します。 その後はDBチームのヒストリー MySQLのオペレーションについて、 どうやってHAやモニタリング、バックアップについて話します。 最後にnext stepとして現在進行中のプロジェクトなどお話したいと思います。
  4. まずは、LINE社ついて、簡単に説明させていただきます。 LINEでは、「CLOSING THE DISTANCE」という言葉をミッションに掲げています。 人と人はもちろんのこと、人と情報、サービス、企業、ブランドなど、 人々が必要とするものとの距離を縮め、心地よいものにするという思いが込められています、
  5. コミュニケーションアプリ「LINE」の国内のユーザー規模です。 月間利用者数は、7,600万人以上となっており、 スマートフォン利用者のほとんどの方に「LINE」をご利用頂いています。 特徴的なのは、エンゲージメントの高さです。 月に1回以上「LINE」を利用する方のうち、85%もの方が毎日「LINE」をご利用頂いています。 日常的に利用頂き、インフラ的なサービスになりつつあります。
  6. LINE社ではLINEを入り口として様々なサービスを展開しています。   LINEが単純な入り口になるだけでなく、それぞれのサービスでスマートフォンでの使いやすさを追求し、 LINE上の人のつながりを活用することで、 ユーザーに支持される、各国でトップクラスのサービスをいくつも創ってまいりました。 我々はこれを「スマートポータル戦略」と呼んでいます。   特に重要な3つの事業 コア事業である「広告」と、戦略事業である「フィンテック」、「AI」となっています。 これらのほとんどのサービスでMySQLを使用しています。
  7. つづいて、LINEのデータベースとチームについて紹介します。
  8. 現在うちのチームで運用しているプロダクトです。LINEマンガやLINEライブやゲームなどほとんどのLINEサービスのRDBMSとNOSQLを管理しています。 RDBMSでいうと。 Cubridって知ってる? 韓国のNavar社で開発されているRDBMSです。 特徴としてautosharding機能を持っていて、簡単にシャードできるというすごいDBです。 パフォーマンス面でやや他のRDBMSと劣る部分があるのと管理できる人が少ないので、直近では積極的に導入はしてないという現状です。 つづいて、NOSQLです。 これらの計8つのプロダクトを管理しています。
  9. つづいて、プロダクトの割合です。 RDBMSだけで見てみると。 RDBMSとNOSQLのインスタンス数ですが、 REDISとMySQLを合わせると81%を占めています。 なんで、LINEのサービスはほとんどがRedisとMySQLで構成されているのがわかります。
  10. MySQL versionの割合です。 MySQL5.7が32%で新規サービスはすべて5.7をインストールしています。 一番多いのMySQL5.6で44%, MySQL5.5 21% 5.1が3%ほど残っていて、現在version upするprojectが進行中です。 あと、LINEはいくつかの会社が合併してできているので、我々の管理していないMySQL群がいくつかあるようで、その中に百台規模のMySQL4.0が眠っているとの噂は聞いたことがあります。
  11. つづいて、DBAについてです。 現在データベース室という部署に所属していて、その中にDBAは17人います 最近チームが分かれました。 DB1 2 3 bigdataplatformと4つのチームがあります。 まず 全チームは共通してMySQLとRedisの運用を行います。 あとはチームごとでそれぞれ異なるプロダクトを管理しています。 私の所属している1 teamはMySQL, Redis と Oracle es 2 teamはプラスでSQL Serverこのチームは韓国に所属してます, 3teamはmongo DB, BIgData は主にHbaseとHadoop。そして、cubridとなっています。
  12. 普段はどういうことしているのかというと、一般的なDBAのタスクをしてます。 テーブル設計は基本的にはサービス開発者側で行われることが多いです。 こういった業務を日々行っています。 10分ぐらい
  13. DBAの人数とMySQLのインスタンス数の推移なんですが、 2011年 - コミュニケーションアプリ LINEがリリースされたとき、DBAが5人でMySQLの100インスタンスたったようです。 情報としては残ってなかったんですが、古き方から聞いた情報です。 そこから飛んで、2015年このへんから情報がありました。 2015年 DBA 8人でMySQL 500インスタンスぐらい 2016年 DBA 10人でMySQL 1000インスタンスぐらい。これくらいのときに私が入社しました 2017年 DBA 11人でMySQL 2000インスタンスぐらい この時期はDBAの人数は増えないんですが、インスタンス数はどんどん増えてる時期です。 2018年 DBA 17人で現時点でMySQL 3000インスタンスぐらい 一人あたり、200インスタンスぐらい管理しています。
  14. うちのチームが管理するようになったプロダクトのヒストリーです。 NOSQLの管理するプロダクトが増えてきています。
  15. 今回調べて驚きました。そんなに増えてるのかと。。 こういった歴史がありました。 3 min
  16. LINEのように台数の多い運用をしていると困ることが多いと思います。 サービスが多いとそれぞれ開発者も異なるので、それぞれ連絡してみたいに、コミュケーションコストが高かったり。 カスケードレプリとかreplication do –tableであったり、 そういったことをLINEでは標準化 自動化することで運用を改善してます。 それらについて紹介したいとも思います。
  17. MySQLについてです。 使い分けに明確な決まりはないですが、基本はcommuntyで、thread poolであったり導入したいときはenterpriseを使ってます たとえばbug踏んでバージョンアップが必要な場合は最新のマイナーではなく基本メジャーバージョンアップします
  18. 物理サーバですが、MySQLに最適化された3つのスペックが用意されていて。 この中から選ぶという方法になります。
  19. その中でたとえば、インストールの自動化があります。 今まではインストール前の事前チェックやmysqlインストール。。といった 手作業になっていた初期インストールをancibleを使用して、全て自動でインストールする仕組みなっています。 Redis cluster/hbase/mongodb elasticserchもインストールの自動化
  20. そういった自動化ツールを動かすための統合管理ツールがあります。
  21. 自動スレーブ追加。これもansibleを使用しています。 その中からいくつか紹介します。
  22. 先程のダッシュボード画面からサービスの情報をベースにそれに紐づくサーバ一覧を見れます。
  23. Long query time=1で運用しています。 サービス全体のslowlogを集計したり、 インスタンスごとの集計も確認できます。 特定の時間帯の集計情報を閲覧することできます。
  24. サービス全体のMySQLインスタンスのrealtime QPS情報が見れます。 これが結構便利で、スマホからでも見れますし。 サービスによっては かなりサーバ台数なので、アラートがなったらまずこれ見て状態を確認する。 そういった使い方をしています。
  25. 高負荷時だった情報を確認しようとすると取れてないことも多いですが。
  26. あとは、LINEには社内に迅速にサーバ届けるために、開発しているオープンスタック基盤のプライベートクラウドもあります。 VerdaDBSと呼ばれていて、 このプライベートクラウドとも連携しています。 開発者がAWSのRDSのように簡単使えるようになっていて、DBAを介さずにインスタンス生成可能。 運用コスト削減 まだ、リリースされて間もないので、これから機能が追加予定
  27. sysスキーマの情報とありましたが、 sys.statement_analysisを画面上に提供しています。 クエリの傾向など直接開発者が確認できるようにしています。
  28. 10 min
  29. つづいてMySQL HAです。どのようにHAしてるか紹介します。
  30. 画面にあるようにモニターがMySQLをヘルスチェックをして、マスターを切り替える方式。
  31. 簡単に自動フェールオーバに仕組みですが、 モニターがマスターのダウンを検知して、 まず、スレーブ群がスタンバイマスターに対してchange masterします。 スタンバイマスターのread_onlyをOFFにして、 VIPをつけるという流れでフェールオーバします。 あと、手動でのフェールオーバもできます。 動きとしては現在のマスターに対して、read_onlyをonにして接続中のセッションをkillしてVIPを外します。 その後は自動フェールオーバの仕組みと同様です。 この手動フェールオーバがよく使います。 たとえば、MySQLバージョンアップです。Slaveだけ先にバージョンアップして、手動フェールオーバする オンラインDDLができれば、それでいいんですが。 デカ目のテーブルに対してのインデックス追加やカラム追加のときにも使用します。 このHAツールなんですが、今は割と安定してるのですが、昔は課題も多かった
  32. どういった課題があったかというと。 サーバ台数が増えすぎて、VIPが単純に枯渇 LINEのネットワーク設計の特性により、フェールオーバするサーバ間で物理的制限がある これがいつもサーバチームを悩ませてしまっていました。
  33. 設定ファイルを自動で変更して、モニタープロセスを再起動させてます。あまりかっこいいやり方ではないので、直したいところです。 というわけで、MySQLの新機能に対応させるためなどメンテナンスが大変です。現状このHAツールの改善で稼働してるのは私だけなので、つらい。 HAソリューションの再検討が必要になってきました。
  34. 5
  35. つづいてMySQL Monitoringです。どのようにモニタリングしてるか紹介します。
  36. まずはMySQL EnterpriseMonitorです Enterprise Editionの場合はこちらを使用しています。 MySQLのモニタリングであればこれを見れば間違いないです。 あと、Query analyzerとか便利です。 特定の期間のSQLを抽出して、そのとき多かったクエリの状況を確認できます。 Master-slaveの合計値も同時見れる。特定のクエリがマスターに寄ってるとか、簡単に出せるので便利です。 というようにMySQL Enterprise Monitorで満足なんですが、 MySQL Community Edition もあるし、管理してるプロダクトはたくさんある
  37. といったようにモニタリングツールが乱立して、障害とか開発側からこのときの負荷状況どうだった、聞かれたときにスムーズに見れなかった。
  38. それを改善するために、統合的に監視する目的でDboneというプロジェクトがあります。 内部としては簡単にいうと、プロメテウスとgrafanaです。
  39. ダッシュボード画面です。各プロダクトごとに選択できるようになってます。
  40. モニタリング画面はこんな感じです。 統一されたUIで見やすくなってます。
  41. 各種Exporter => プロメテウス =>grafana exporterインストールなどにancible プロメテウスやelasticsearchのhelth check用にconsul 一つのシステムを構成しています。
  42. DBONEでのMySQLの監視項目です。 InnoDB周りの情報など、一般的な監視項目は網羅されています。 あと、変わった監視としては、 5 min
  43. この仕組みで長年運用してきました。
  44. バックアップにつかっているツールですが、 Enterorise editionであれば、Enterprise backup(MEB). Comminty editionであればxtrabackupを使用しています。
  45. LINEでは数TBの大規模なデータベースであったり、書き込みの多いデータベースを数多く存在しています。 バックアップにはいろいろ考慮する点が多くて、 1st 2nd
  46. Xtrabacupにも似たようなオプションがあって。 スロットルオプションを使用してIOを制御しようと考えてテストしました。
  47. まずMySQLへの更新がない状態でテストした結果です。 データベースサイズは20Gほどで、MEBであればReak/writeのIOが76MBで5分ほどで完了しました。 Xtrabackupのほうでいくつかスロットルオプションを試して、スロットル4のときに同等の値がでたので、これでいけるかなと考えてました。
  48. つぎに先程のデータベースに対してMySQLへの2000QPSほどで更新がある状態でテストした結果です。 MEBであれば先程と同じぐらい5分ほどで完了しました。 ただxtrabackupのほうは永久に終わらない状態がつづいたり、50に設定しても16分もかかるという結果でした。 ということでこれの原因ついていろいろ調べました。
  49. まずその前にMEBとxtrabackupがどのようにバックアップを取得するかのざっくり説明します。 基本的にはこの流れです。 リストアするのには不完全なinnodbファイル群をクラッシュリカバリの仕組みでリカバリしていくという流れです。
  50. まずIO制御のオプションで若干違いがありました。 あとはバックアップ処理開始直後の処理でも違いがありました。
  51. Mebとxtrabackup併用するときは気をつけてねって話でした。 5 min
  52. 最後にnext stepとして、進行中のプロジェクトなど紹介して終わります。
  53. 先程話したようにLINEでは基本オンプレなんですが、データセンター…のためにRDSの運用も検証中です。 きっとここにはRDSの運用詳しい方多いと思うので、あとで教えてください。 管理してるプロダクトのすべてのバックアップを管理するシステムも開発中
  54. MySQLueryreplay というものを今開発しています。 これはMySQLのネットワークパケットからクエリを取得して、ターゲットサーバに対して同じ並列度でリプレイするというものです。 Oracleのデータベースリプレイのようなものでしょうか。 更新はレプリケーションで、selectだけリプレイするとかならあると思うんですが、これは更新クエリもすべてキャプチャーして数秒遅らせることで、同じ並列度ですべてリプレイさせようというチャレンジなツールです。 できあがれば、来年のこの場所でこれについて発表したいです。 5min
  55. OSSにお世話になってるので、OSSへ貢献できるように運用ツールの開発も進んでます。 5min
  56. ぜひ興味があれば、ここをクリックするかツイッターでもいいですし私に話しかけてください。