Slide 1

Slide 1 text

© SAKURA internet Inc. ⻑期間TiDBを使ってきた話 2024年4⽉17⽇ @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活⽤LT さくらインターネット株式会社 技術推進統括担当執⾏役員 / CISO / CIO 江草 陽太

Slide 2

Slide 2 text

© SAKURA internet Inc. ⾃⼰紹介 2 2 @chibiegg 江草 陽太 【所属等】 • さくらインターネット株式会社 新卒入社 執行役員 技術推進統括担当 兼 CISO 兼 CIO • BBSakura Networks 取締役 • U-22 プログラミング・コンテスト 実行委員長 【経歴】 • ロボカップジュニア (中学・高校) / NHK大学ロボコン • 大阪大学工学部電子情報工学科情報通信工学専攻 • 個人事業主 (大学生時代に開業) • 大阪大学大学院工学研究科中退 【趣味】 旅行/温泉/写真/電子工作/プログラミング/かわいい服

Slide 3

Slide 3 text

© SAKURA internet Inc. 3 TiKV/TIDB の さくらインターネットでの導⼊ • sakura.io (LTEによるIoTプラットフォーム) 2020年より「データストア(V2)」でTiKVを採⽤ 端末 (モジュール) からのデータを蓄積し検索に利⽤ NewSQL TiDBを⽀える分散KVS "TiKV"⼊⾨ / @kamijin_fanta https://blog.kamijin-fanta.info/2022/09/tikv-get-started/ • さくらのクラウドなど ⼀部機能において管理システムにTiDBを採⽤ これまでならMariaDBやPostgreSQLを利⽤していた場⾯に導⼊ 2021年より「エンハンスドデータベース(TiDB)」を提供開始 SaaSサービスや社内システムでも利⽤

Slide 4

Slide 4 text

© SAKURA internet Inc. 4 TiDBの運⽤経歴 • 2021年4⽉ ⽯狩リージョンに構築 (v5.0.0) • 2021年6⽉ v5.1.0 にアップデート • 2021年7⽉ v5.1.1 にアップデート (EDB提供開始) • 2022年1⽉ v5.3.0 にアップデート • 2022年5⽉ v5.4.1 にアップデート • 2022年10⽉ v6.1.1 にアップデート • 2023年3⽉ v6.5.1 にアップデート • 2023年4⽉ 東京リージョンでの提供開始 • 2023年6⽉ v7.1.0 にアップデート • 2023年7⽉ TiFlashノードを構築 (⾃社利⽤⽬的) • 2023年10⽉ v7.1.1 にアップデート • 2023年10⽉ v7.1.2 にアップデート • 2024年1⽉ v7.5.0 にアップデート 🎉 祝 8.0 compatible !

Slide 5

Slide 5 text

© SAKURA internet Inc. 5 TiDBのメリット (実際に使っている範囲で) • メンテナンス作業が容易 • tiup すごい • スケールアウトが可能で容易 • tiup すごい • TiFlashを活⽤しOLTPとHTAPが⼀つのシステムで実現する • いざとなったら⼒技で殴れる • Dashbordが便利 • tiproxyにより、無停⽌アップデートが可能

Slide 6

Slide 6 text

© SAKURA internet Inc. 6 Dashboard

Slide 7

Slide 7 text

© SAKURA internet Inc. 7 構築と運⽤の流れ • Terraform + SacloudProvider でサーバ等のリソース作成 • Ansibleで基本的なOSのセットアップ • tiup でクラスタの構築やメンテナンス • ⽇常的には tiup のみを利⽤すればよい • tiproxyをtidbの前に挟むことで、 tidbのアップデート時に既存の接続は維持される

Slide 8

Slide 8 text

© SAKURA internet Inc. 8 仕組み https://speakerdeck.com/chibiegg/about-tidb-at-sakura-internet-tech-nignt-number-5-online

Slide 9

Slide 9 text

© SAKURA internet Inc. エンハンスドデータベース (TiDB)

Slide 10

Slide 10 text

© SAKURA internet Inc. 10 エンハンスドデータベース (TiDB) ⽯狩と東京で運⽤されているTiDBクラスタを共⽤で提供 データベース名とパスワードを指定するだけで作成可能 数秒で利⽤可能 独⾃のMySQLプロキシ等を開発することにより実現

Slide 11

Slide 11 text

© SAKURA internet Inc. データベースの作成

Slide 12

Slide 12 text

© SAKURA internet Inc. 接続先情報の確認

Slide 13

Slide 13 text

© SAKURA internet Inc. 接続

Slide 14

Slide 14 text

© SAKURA internet Inc. 活⽤事例

Slide 15

Slide 15 text

© SAKURA internet Inc. 15 公開可能な活⽤事例 • 宅配便取次アプリ (Slackで宅急便が送れるサービス) • Antenna-eye (クラウドカメラサービス) • ネットワーク品質計測可視化システム ほとんどがDjangoを使った開発で、django-tidbを利⽤ (※) ⼀部でGolangとentまたはgormを利⽤ ※ https://github.com/pingcap/django-tidb TiDB が 8.0 Compatible になったので無くても動作する

Slide 16

Slide 16 text

© SAKURA internet Inc. https://www.sakura.ad.jp/taqbin/

Slide 17

Slide 17 text

集荷と持ち込み

Slide 18

Slide 18 text

管理機能

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

ライブ・録画・イベント記録

Slide 21

Slide 21 text

TiFlashの活用 ある⽇とあるAPIのエンドポイントがとても遅くなった 機能改修によるものであったが、短時間での解決が困難だった ⼀時的にTiFlashを利⽤して凌ぐことにした 10秒程度かかるクエリが0.1秒程度に⾼速化 その後クエリやインデックスを調整しTiKVでも問題無いようにした ⼀部 Manual Hint を⼊れてTiFlashも継続利⽤ SELECT /*+ read_from_storage(tiflash[table_name]) */ ... FROM table_name; ALTER TABLE `table_name` SET TIFLASH REPLICA 2;

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

メトリクスとイベント情報 メトリクスはPrometheus 管理情報やメトリクス以外の測定データはTiDBに保管 時系列のTracerouteの結果などが⼊っており このデータベースだけで約400GBある

Slide 24

Slide 24 text

© SAKURA internet Inc. 運⽤していての感想

Slide 25

Slide 25 text

© SAKURA internet Inc. 25 メリットとデメリット メリット 可⽤性がとても⾼い アップデートが頻繁に⾏える スケールする安⼼感がある デメリット 台数が多くなるので単純なコストだけで⾒ると⾼く⾒える 分散システムなので複雑に⾒える

Slide 26

Slide 26 text

© SAKURA internet Inc. ⻑期間TiDBを使ってきた話 2024年4⽉17⽇ @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活⽤LT さくらインターネット株式会社 技術推進統括担当執⾏役員 / CISO / CIO 江草 陽太