DB Tech Showcase 2022の2022.11.16 (水) 11:00 - 11:45 C-1セッションの発表で使用したスライドです。
© DMM.comDB TECH SHOWCASE 2022合同会社DMM.com プラットフォーム事業本部@yuyu_hf1DMMの取り組み最前線~フルマネージドNewSQLであるTiDB Cloudの可能性~
View Slide
© DMM.com
© DMM.comプラットフォーム事業本部プラットフォーム事業本部の役割と重要性プラットフォーム事業本部は DMMの各サービスで共通して使われる基盤を開発している部署ex) 会員の管理、ユーザーの認証、認可、各種決済周り、DMMポイントやtoreta+といった電子マネーの仕組みを提供DMMの各種サービスは、プラットフォーム事業本部がAPIの形で提供している機能を利用して作られているつまり、、、基盤に不具合が起きると、それがそのままDMMの不具合になってしまう、、DMMの多くのサービスが停止してしまう非常に重要な基盤を扱っている4
© DMM.comDBの検証をする動機DMMプラットフォームのアプリケーションの多くはオンプレを利用→ 最近ではAWS/GCPなどのパブリッククラウドも使い始めたその背景からオンプレ・AWS・GCPなどあらゆる環境が混在しているプラットフォーム事業本部では今後数年にかけてクラウド化の計画がある認証認可のアプリケーションをクラウド移行するプロジェクトが発足→ まずはオンプレのDB(MySQL)からクラウド移行する5
© DMM.com移行候補のDB移行候補のDBの要件・ダウンタイムがない・既存の認証認可アプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)6
© DMM.com移行候補のDB移行候補のDBの要件・ダウンタイムがない・既存の認証認可アプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)7
© DMM.com認証認可のアプリケーションダウンタイムは許されない。厳しい負荷とレイテンシの要件がある8API Gateway認証/認可動画 会員/決済/…DMMプラットフォーム電子書籍①②③
© DMM.com移行候補のDB移行候補のDBの要件・ダウンタイムがない・既存の認証認可アプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)9
© DMM.comフルマネージドサービスの理由プラットフォーム事業本部の課題感オンプレのインフラ周りの変更はインフラ部に作業を依頼する必要がある・インフラ部の作業待ちが発生している・調整コストがかかる→ 開発効率が悪い10
© DMM.comフルマネージドサービスの理由アプリケーション開発チームだとオンプレを管理できない→ インフラ環境のクラウド化アプリケーション開発チームがDBを管理する方針にした→ フルマネージドサービスを選ぶしかない11
© DMM.com移行候補のDB移行候補のDBの要件・ダウンタイムがない・既存の認証認可アプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)12
© DMM.com移行候補のDB移行候補のDBの要件・ダウンタイムがない・直近で移行予定のアプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)→ NewSQLを検討13
© DMM.com 14NewSQLとはRDB(ex. MySQL)NoSQL(ex. Cassandra)New SQL(ex. TiDB)CAPの考え方 CA AP CP+HAクエリ SQL API, SQL(CQL) SQL - トランザクション 〇 X 〇 - JOIN 〇 X 〇Readスケーラビリティ〇リードレプリカ◎分散アーキテクチャ◎分散アーキテクチャWriteスケーラビリティ△Writerは単一ボトルネック(要シャーディング)◎分散アーキテクチャ◎分散アーキテクチャ(大きい1テーブル対応可)RDBとNoSQLの特長をいいところ取りしたデータベース
© DMM.com移行候補のDB15移行候補のDBの要件・ダウンタイムがない・直近で移行予定のアプリケーションの負荷に耐えられる・フルマネージドサービス・Write がスケールする・強整合性・データにリレーションを持たせることができる(Joinができる)→ Cloud Spannerが候補にあがった
© DMM.comTiDB Cloud・フルマネージドのNewSQL・マルチプラットフォーム(GCP/AWS)・MySQL互換162000 2010 2020NewSQLの先駆け
© DMM.comDBの要件外の要望MySQL互換認証認可のアプリケーションではMySQLを使っている・アプリケーションコードの修正工数が少ない・SQLなどの学習コストが低い・MySQLエコシステムを利用することができる→ TiDB Cloudの検証をすることを決めた17
© DMM.com 18 とはストレージノード データストアレイヤー( TiKV Cluster ) コンピューティングノード SQL解析レイヤー( TiDB Cluster ) TiDBクエリの増加 ノード追加で対応 TiDBTiDB負荷分散・領域管理 3ノードのみ必要 TiDBTiKV TiKV TiKVTiKV容量拡張 ノード追加で対応 TSO / Data Location Metadata PDPD PDMySQLでデータベースと対話 Raftを採用したKVSでバックアップを兼ね備える TiDBの司令塔 ( Placement Driver ) ①スケールアウト型のNewSQLデータベース②マルチプラットフォーム可能。フルマネージドサービスも(TiDB Cloud)③OLTPとOLAPを一つのDBで(HTAP)*今回は未検証
© DMM.comRegionの考え方19TiKV-0 TiKV-1 TiKV-2 TiKV-3region1 region1 region1region3 region2 region2region4 region3 region3region5 region4 region5region2region4region5TiDB TiDBコンピューティング ノード ストレージノード region Leader:IO対象region Follower:バックアップsample table①Region単位で分割して管理②3面コピーをとっている③Region-Leaderに対してIO
© DMM.comダウンタイムなしで運用したい20スケールノード追加した瞬間からデータ移行が開始 IOは継続して行われるTiDBのバージョンアップ Leaderを別ノードへ移動し ローリングアップグレードTiKV-0 TiKV-1 TiKV-2 TiKV-3region1region1region1region3region2region2region4region3region3region5region4region5region2region4region5TiKV-4region2region4region1工夫によりダウンタイムなしTiKV-0 TiKV-1 TiKV-2 TiKV-3region1region1region1region3region2region2region4region3region3region5region4region5region2region4region5Leaderを移動しながら順にアップグレード対応TiKV-0 TiKV-1 TiKV-2 TiKV-3region1region1region1region3region2region2region4region3region3region5region4region5region2region4region5障害時挙動TiKV障害時はリーダーが他のTiKVノードに移動サービスは継続*オンラインDDLも対応
© DMM.com検証の観点以下の3つの軸で検証/考察してみる21検証項目 詳細性能面既存のアプリケーションの負荷を捌けるか検証認証認可基盤で発行されるクエリを一部模倣したものを使い、既存のアプリケーションの負荷を捌けるか運用面 運用する上で必要な機能をサポートしているか調査運用する上で必要な機能をサポートしているか移行性移行するときの問題点や工数の調査 移行元のアプリケーションコードにどれくらい手を入れなければならないか移行元のオンプレから通信することはできるか
© DMM.com性能面22
© DMM.com負荷試験で確かめること既存のアプリケーションの負荷に耐えられるか・QPS: 20,000・99%ileレイテンシ: 100 ms以内23
© DMM.com負荷試験ツールアプリケーションのリプレースでGoに移行する→ Goのライブラリの使い勝手も確かめたいGoで試験スクリプトが書ける負荷試験ツールを選定する→ locust + locust extensions(boomer)24
© DMM.com負荷試験の条件25負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com負荷試験の条件26負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com負荷試験の条件27負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com試験回数と試験時間の決め方事前にパラメーターチューニングの負荷試験を大量に実施した→ 試験するタイミングや試験時間によってDBのパフォーマンスがあまり変わらない28
© DMM.com負荷試験の条件29負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com負荷試験の条件30負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com負荷試験の条件31負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.comダミーデータテーブルのスキーマCREATE TABLE sample (sample1 VARCHAR NOT NULL,sample2 VARCHAR NOT NULL,sample3 BINARY,sample4 INT NOT NULL,sample5 INT NOT NULL,sample6 INT NOT NULL,sample7 INT NOT NULL,created_at TIMESTAMP NOT NULL,created_by VARCHAR NOT NULL,updated_at TIMESTAMP NOT NULL,updated_by VARCHAR NOT NULL) PRIMARY KEY (sample1);32ダミーデータの生成方法sample1とsample2はUUIDそれ以外はランダムな値
© DMM.com負荷試験の条件33負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.com負荷試験の条件34負荷の指定方法 locustの並列数を100刻みで実施試験回数 1回試験時間 1時間キャッシュ なしテーブルスキーマ 移行元のアプリケーションで最もよく使っているテーブルと同じ構造使用するデータ ダミーデータ試験開始時のDBのレコード数 6,000万件(Deleteの試験のみ3億件)その他 99%ile レイテンシが100 ms以内の試験のみ有効
© DMM.comDBのクライアントDBのパフォーマンスを発揮できる設定35Goのライブラリ gorm最大Openコネクション数 locustの並列数と同じ最大Idleコネクション数 最大Openコネクション数と同じtimeout値 100 ms
© DMM.comDBのクライアントDBのパフォーマンスを発揮できる設定36Goのライブラリ gorm最大Openコネクション数 locustの並列数と同じ最大Idleコネクション数 最大Openコネクション数と同じtimeout値 100 ms
© DMM.comDBのクライアントDBのパフォーマンスを発揮できる設定37Goのライブラリ gorm最大Openコネクション数 locustの並列数と同じ最大Idleコネクション数 最大Openコネクション数と同じtimeout値 100 ms
© DMM.comDBのクライアントDBのパフォーマンスを発揮できる設定38Goのライブラリ gorm最大Openコネクション数 locustの並列数と同じ最大Idleコネクション数 最大Openコネクション数と同じtimeout値 100 ms
© DMM.comTiDB Cloudのインフラ構成39クラウド GCPクラスター シングルクラスターRegion asia-northeast1Zone asia-northeast1-aasia-northeast1-basia-northeast1-cVPC Peering なしノードサイズ TiDB Server 2 instances8 vCPU, 32 GiBTiKV Server 3 instances8 vCPU, 32 GiBストレージ 500 GB
© DMM.comTiDB Cloudのインフラ構成40クラウド GCPクラスター シングルクラスターRegion asia-northeast1Zone asia-northeast1-aasia-northeast1-basia-northeast1-cVPC Peering なしノードサイズ TiDB Server 2 instances8 vCPU, 32 GiBTiKV Server 3 instances8 vCPU, 32 GiBストレージ 500 GB
© DMM.comTiDB Cloudのインフラ構成41クラウド GCPクラスター シングルクラスターRegion asia-northeast1Zone asia-northeast1-aasia-northeast1-basia-northeast1-cVPC Peering なしノードサイズ TiDB Server 2 instances8 vCPU, 32 GiBTiKV Server 3 instances8 vCPU, 32 GiBストレージ 500 GB
© DMM.comTiDB Cloudのインフラ構成42クラウド GCPクラスター シングルクラスターRegion asia-northeast1Zone asia-northeast1-aasia-northeast1-basia-northeast1-cVPC Peering なしノードサイズ TiDB Server 2 instances8 vCPU, 32 GiBTiKV Server 3 instances8 vCPU, 32 GiBストレージ 500 GB
© DMM.comTiDB Cloudのインフラ構成43クラウド GCPクラスター シングルクラスターRegion asia-northeast1Zone asia-northeast1-aasia-northeast1-basia-northeast1-cVPC Peering なしノードサイズ TiDB Server 2 instances8 vCPU, 32 GiBTiKV Server 3 instances8 vCPU, 32 GiBストレージ 500 GB
© DMM.comアーキテクチャ44Microservice PlatformKubenetes EnginePrimaryKey CacheMemorystoreCSV data for importCloud StorageTiDBCloudTiDBTiDBKVKVKV
© DMM.comアーキテクチャ45Microservice PlatformKubenetes EnginePrimaryKey CacheMemorystoreCSV data for importCloud StorageTiDBCloudTiDBTiDBKVKVKV
© DMM.comアーキテクチャ46Microservice PlatformKubenetes EnginePrimaryKey CacheMemorystoreCSV data for importCloud StorageTiDBCloudTiDBTiDBKVKVKV
© DMM.comアーキテクチャ47Microservice PlatformKubenetes EnginePrimaryKey CacheMemorystoreCSV data for importCloud StorageTiDBCloudTiDBTiDBKVKVKV
© DMM.comアーキテクチャ48Microservice PlatformKubenetes EnginePrimaryKey CacheMemorystoreCSV data for importCloud StorageTiDBCloudTiDBTiDBKVKVKV
© DMM.comstore-io-pool-sizeの有効化TiKVで以下の2つの処理を逐次的 -> 並行処理する・ディスクへのログの書き込み・ディスクへのデータの書き込みTiKVで発行されるThread数が増える→ TiKV Serverの負荷が増える事前検証中の結果ですがWriteのQPSが4倍に増えました49
© DMM.com試験で利用したSQLクエリ1件のレコードのCRUDの性能のみ調査・primary keyを指定するときはprepared statementを利用・トランザクションの作成はDB側で暗黙的に行う50試験の項目 SQLクエリRead SELECT * FROM <テーブル名> WHERE = ?;Create INSERT INTO <テーブル名> (...) VALUES(...);Update UPDATE <テーブル名> SET WHERE =?;Delete DELETE FROM <テーブル名> WHERE = ?;
© DMM.comRead51Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 47,900 49,700 2.06 ms 76% 31.62%200 66,700 68,600 3.71 ms 93% 38.75%300 69,200 73,800 13.1 ms 93% 36.5%400 68,900 71,600 14.6 ms 94.12% 35.5%500 68,000 69,000 21.4 ms 94.12% 31.25%
© DMM.comRead52Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 47,900 49,700 2.06 ms 76% 31.62%200 66,700 68,600 3.71 ms 93% 38.75%300 69,200 73,800 13.1 ms 93% 36.5%400 68,900 71,600 14.6 ms 94.12% 35.5%500 68,000 69,000 21.4 ms 94.12% 31.25%
© DMM.com 53 とはストレージノード データストアレイヤー( TiKV Cluster ) コンピューティングノード SQL解析レイヤー( TiDB Cluster ) TiDBクエリの増加 ノード追加で対応 TiDBTiDB負荷分散・領域管理 3ノードのみ必要 TiDBTiKV TiKV TiKVTiKV容量拡張 ノード追加で対応 TSO / Data Location Metadata PDPD PDMySQLでデータベースと対話 Raftを採用したKVSでバックアップを兼ね備える TiDBの司令塔 ( Placement Driver ) ①スケールアウト型のNewSQLデータベース②マルチプラットフォーム可能。フルマネージドサービスも(TiDB Cloud)③OLTPとOLAPを一つのDBで(HTAP)*今回は未検証
© DMM.comRead54Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 47,900 49,700 2.06 ms 76% 31.62%200 66,700 68,600 3.71 ms 93% 38.75%300 69,200 73,800 13.1 ms 93% 36.5%400 68,900 71,600 14.6 ms 94.12% 35.5%500 68,000 69,000 21.4 ms 94.12% 31.25%
© DMM.comCreate55Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 14,600 15,200 15.4 ms 46.25% 41.625%200 22,300 25,100 25.6 ms 61% 50.5%400 30,600 35,100 41.4 ms 73.62% 57%500 32,900 38,000 48.1 ms 77.25% 58.25%600 33,500 38,900 58.7 ms 80% 58.87%700 35,400 41,000 62.5 ms 80.75% 59.87%800 37,300 43,000 63 ms 83.25% 60.25%
© DMM.comUpdate56Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 12,900 13,800 15.5 ms 55.87% 47.25%200 19,200 20,700 28 ms 73.25% 59.5%300 23,600 25,700 31.5 ms 79.25% 64.12%400 24,000 25,000 52.8 ms 86.25% 63.25%500 25,600 27,300 59.2 ms 88.62% 64.75%600 27,700 30,500 61.6 ms 86.87% 66.5%700 27,800 30,000 62.6 ms 90.37% 66.375%
© DMM.comDelete57Locustの並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPU100 13,100 13,800 14.7 ms 49.75% 48.87%200 19,700 21,200 22.9 ms 62,62% 59.75%400 24,600 27,000 33 ms 75.5% 68.25%500 27,000 30,300 49.9 ms 73.62 % 69.12%600 26,800 29,800 56.9 ms 78% 70.5%700 28,900 32,600 59.7 ms 77.5% 70.75%800 29,100 32,100 63.5 ms 81.12% 71%
© DMM.com既存のアプリケーションと同じ負荷をかけたときに、99%ileのレイテンシが100 ms以内で収まる58試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 200 66,700 68,600 3.71 ms 93% 38.75%Create 200 22,300 25,100 25.6 ms 61% 50.5%Update 200 19,200 20,700 28 ms 73.25% 59.5%Delete 200 19,700 21,200 22.9 ms 62,62% 59.75%性能試験サマリー(レイテンシ)
© DMM.com既存のアプリケーションと同じ負荷をかけたときに、99%ileのレイテンシが100 ms以内で収まる59試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 200 66,700 68,600 3.71 ms 93% 38.75%Create 200 22,300 25,100 25.6 ms 61% 50.5%Update 200 19,200 20,700 28 ms 73.25% 59.5%Delete 200 19,700 21,200 22.9 ms 62,62% 59.75%性能試験サマリー(レイテンシ)
© DMM.com99%ileのレイテンシが100 ms以内で収まっている60試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 200 66,700 68,600 3.71 ms 93% 38.75%Create 200 22,300 25,100 25.6 ms 61% 50.5%Update 200 19,200 20,700 28 ms 73.25% 59.5%Delete 200 19,700 21,200 22.9 ms 62,62% 59.75%性能試験サマリー(レイテンシ)
© DMM.com既存のアプリケーションの負荷20,000QPS以上は捌けそう61性能試験サマリー(スループット)試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 400 68,900 71,600 14.6 ms 94.12% 35.5%Create 800 37,300 43,000 63 ms 83.25% 60.25%Update 700 27,800 30,000 62.6 ms 90.37% 66.375%Delete 800 29,100 32,100 63.5 ms 81.12% 71%
© DMM.com既存のアプリケーションの負荷20,000QPS以上は捌けそう62性能試験サマリー(スループット)試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 400 68,900 71,600 14.6 ms 94.12% 35.5%Create 800 37,300 43,000 63 ms 83.25% 60.25%Update 700 27,800 30,000 62.6 ms 90.37% 66.375%Delete 800 29,100 32,100 63.5 ms 81.12% 71%
© DMM.comTiDB Serverのリソースがボトルネックになっていて、TiKV Serverのリソースに余裕がある63試験項目 並列数 QPS(avg) QPS(max) 99%ile TiDB CPU TiKV CPURead 400 68,900 71,600 14.6 ms 94.12% 35.5%Create 800 37,300 43,000 63 ms 83.25% 60.25%Update 700 27,800 30,000 62.6 ms 90.37% 66.375%Delete 800 29,100 32,100 63.5 ms 81.12% 71%性能試験サマリー(スループット)
© DMM.com運用面64
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○65terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○66terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○67terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○68terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○69terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○70terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com運用で必要な機能の調査結果(一部抜粋)実績のあるクラウドサービスと同等の運用性Datadog連携もできるので、運用性は○71terraformでリソース管理 できる無停止でカラムの追加 できる無停止でスケールイン /アウト できるオートスケールイン/アウト できない ※ロードマップにはある(現状は APIを活用)無停止でメンテナンスをのりきる できるメトリクスの収集 できる。Datadog連携もサポートしている監査ログの収集 できる ※ただし、データを確認する仕組みはない
© DMM.com移行面72
© DMM.comTiDB Cloudへの移行面のメリット73MySQL互換MySQLエコシステムを利用できる。移行元のアプリケーションからTiDBCloudへの疎通確認で、アプリケーションコードの変更がほとんどなかった(IPアドレスの変更しかしなかった)DataMigrationツール現時点で未検証だが、TiDB Data Migration(DM)というTiDB向けツールを活用して現状のオンプレMySQLから簡単に移行できそう。実際の切替/切戻についても、TiCDCというツールを使って安全に切替できそう
© DMM.comまとめMySQL互換のNewSQLであるTiDB Cloudも充分検討できる74検証項目 結果性能面既存のアプリケーションの負荷を捌けるか検証実際の認証認可のアプリケーションでのユースケースを踏まえると、 QPS/レイテンシの要件は十分に満たしている運用面運用する上で必要な機能をサポートしているか調査定常的な運用で必要な機能は十分にあるダウンタイムなしでという観点でも、検証自体はこれからだが、期待ができる移行性移行するときの問題点や工数の調査 アプリ/インフラ/データの各観点で移行は実現できそうアプリケーションコードの観点においても、改修工数少なくすむのは非常に助かる
アンケートご協力へのお願いdb tech showcase 2022アンケート回答でAmazonギフト券1000円分またはPingCAPロゴ入りのノベルティを抽選で100名様にプレゼント!回答期限は11/21(月)13:00PMまで。※アンケートに回答する際、セッション参加のメールアドレスのご使用をお願いいたします。※当選は、Amazonギフト券のメール案内、またはノベルティの発送をもって代えさせていただきます。URL: https://customform.jp/form/input/124060#dbts2022TiDB
テキスタイルモバイルアクセサリーケース(L)サーモステンレスマグ 380ml Tシャツシルバー ブラックブラックPingCAPロゴ入りノベルティ例#dbts2022TiDB
© DMM.com終わり77