Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【NewSQL】HTAPを体験!TiDBのカラムナストアで分析してみよう!

 【NewSQL】HTAPを体験!TiDBのカラムナストアで分析してみよう!

リアルタイム分析を実現する手段として様々な方法がありますが、近年はHTAP機能を提供するデータベース製品が増えています。

スケーラブルなRDB環境が実現できるNewSQL分散データベースTiDBはHTAP機能を搭載するだけではなく、様々な形でリアルタイム分析に利用できます。

このスライドでは、TiDBがリアルタイム分析に対してどのように活用できるのかを紹介します。

PingCAP-Japan

July 01, 2022
Tweet

More Decks by PingCAP-Japan

Other Decks in Technology

Transcript

  1. 本日の位置づけ https://pingcap.co.jp/event/ 2022年6月30日(木) 14:00-15:00 HTAPを体験!TiDBのカラムナストアで分析してみよう! 2022年7月14日(木) 14:00-15:30 TiDB Cloudの紹介・デモ 2022年7月21日(木)

    14:00-15:00 TiDB Cloud リリースノートについて 2022年7月28日(木) 14:00-15:00 PingCAP Education:TiDBでの表設計(1) ※過去開催アーカイブ : https://www.youtube.com/channel/UCatxrGZANSnii2fe7FeEwvg/playlists
  2. HTAP的なメッセージが増えてきた ※PingCAPも比較を含めたメッセージを発信 The Beauty of HTAP: TiDB and AlloyDB as

    Examples https://pingcap.co.jp/the-beauty-of-htap-tidb-and-alloydb-as-examples/ HTAP = OLTP + リアルタイムOLAP分析を1つの基盤で
  3. TiDB = NewSQL + MySQL互換
 Feature Amazon Aurora Google Cloud

    Spanner YugaByteDB CockroachDB TiDB Elastic scalability (Both read and write) Automated failover and high availability Distributed ACID transactions SQL compatibility and protocol MySQL and PostgreSQL Proprietary (+PostgreSQL) PostgreSQL PostgreSQL MySQL Open Source License Apache 2.0 BSL and CCL Apache 2.0 HTAP △
  4. 分散型SQLデータベース オンライン拡張とリアルタイム分析可能 用途①:OLTP 水平拡張可能なリレーショナルデータベース ーーー オンラインでの拡張 • シングルTiDBクラスターで400TB以上拡張 • シングルテーブルで数兆レコード対応

    用途②:HTAP リアルタイム分析 ーーー トランザクション処理と分析処理 • トランザクションデータと連携した分析レポート • 数兆レコードを利用した分析が可能 世界で採用されるTiDB
 - オンラインスケールアウト/イン+負荷分散   ⇒書き込みスケール   ⇒読み込みスケール - レプリケーション遅延排除 - MySQL 5.7 互換 - 列指向DBの統合による分析ワークロード対応
  5. 日本のユーザー企業様でも注目のTiDB
 - DMM.com様 ->検証レポート 
  https://inside.dmm.com/entry/2021/12/12/tidb-on-aws-eks-poc-report - DeNA様 ->検証+次世代構想の中でTiDBをスコープに 


     https://engineer.dena.com/posts/2021.11/optimize-db-operation-for-many-shards/ - PayPay様 ->TiDBへのデータ移行ストーリー 
  https://www.youtube.com/watch?v=3GQAAbrQxKU 
 - さくらインターネット様 - 自社サービスとしてTiDBを採用 
  https://knowledge.sakura.ad.jp/29695/ - db tech showcase (PayPay様・さくらインターネット様・ DMM.com様・CyberAgent様)  https://www.youtube.com/watch?v=3GQAAbrQxKU&list=PL9kgs341MpSTq0Q2TDp6hfenWf9EafpT7 - Mercari, Merpay様 ->次世代システムの検討について  https://www.youtube.com/watch?v=VJdzTbfOrqM&t=4281s
 - CyberAgent様 ->ブログ:クラウドネイティブな DB を使ってみよう!TiDBの社内ハンズオンを開催しました 
  https://developers.cyberagent.co.jp/blog/archives/33416/ 
 

  6. スケールアウト型アーキテクチャ
 TiDB クエリの増加 
 ノード追加で対応 
 TiDB TiDB Cluster
 TiKV

    Cluster
 負荷分散・領域管理 
 3ノードのみ必要 
 PD Cluster
 TiDB TiKV TiKV TiKV TiKV 容量拡張
 ノード追加で対応
 TSO / Data Location
 Metadata
 PD PD PD Application via MySQL Protocol Application via MySQL Protocol Application via MySQL Protocol Application via MySQL Protocol データストアレイヤー 
 アプリケーション
 (MySQLClient利用可能)
 - 1つのシステムっぽく見える。裏で勝手にロードバランスしてくれる 
 - 各コンポーネントは、ノードを追加することでリニアにスケールアウトが可能 
 - 完全分散型=リードレプリカを通じたレプリケーション遅延もなくなる 
 SQL解析レイヤー
 (Parser, Optimizer)

  7. 分析のリアルタイム化の手段とTiDB ETL CDC OLTPデータを分析/HTAP 分析用データ T+1 (OLAP上) ≒リアルタイム(OLAP上) =リアルタイム アーキテクチャ

    OLTP基盤 OLTP用DB OLTP用DB Read Replica⇒HTAP用DB データ同期 ETL CDC (CDC/ETL) OLAP基盤 OLAP用DB OLAP用DB (OLAP用DB) メリット ・用途に応じたデータ作成 ・データ鮮度 ・データ鮮度 ・手軽 デメリット ・データ鮮度 ・ETL設計・開発 ・ライセンス費用 ・目的外のデータも保管 ・ライセンス費用 ・完全に分析基盤の代替にはな らないケースが多く、業務の高度 化に利用される - ETL利用の分析データのT+1⇒リアルタイム化
 - 手段①:OLTPデータをそのまま活用
     ⇒現実的にはRead Replicaを使用している方もが多い
     ⇒TiDBはHTAP機能をサポート

  8. HTAP = OLTP+リアルタイムOLAP データハブレイヤー(OLTP + リアルタイム分析)化することにより OLTPデータや非構造化データをリアルタイム分析に活用 OLTP ->DataHub DWH

    App TiDBの工夫 ①スケールアウト型RDB (NewSQL)   - RDBへの統合によるJOIN等への対応   - スケールアウト性 ②列指向MPPエンジン ③エコシステム拡充(SparkSQLとの統合)
  9. 列指向ストアTiFlash - HTAPを支える技術
 RowData ロー型配置データ Salesテーブル RowData RowData RowData カラム型配置データ

    Salesテーブル TiDB (Optimizer) SELECT AVG(s.price) FROM prod p, sales s WHERE p.pid = s.pid AND p.batch_id = ‘B1328’; TableScan(price,pid) TP or AP処理をTiDBで自動判別 リアルタイムで同期 price pid B1328 B1328 B1328 TiKV TiFlash 分析処理を高速化する列指向型ストアTiFlash
  10. 分析のリアルタイム化の手段とTiDB ETL CDC OLTPデータを分析/HTAP 分析用データ T+1 (OLAP上) ≒リアルタイム(OLAP上) =リアルタイム アーキテクチャ

    OLTP基盤 OLTP用DB OLTP用DB Read Replica⇒HTAP用DB データ同期 ETL CDC (CDC/ETL) OLAP基盤 OLAP用DB OLAP用DB (OLAP用DB) メリット ・用途に応じたデータ作成 ・データ鮮度 ・データ鮮度 ・手軽 デメリット ・データ鮮度 ・ETL設計・開発 ・ライセンス費用 ・目的外のデータも保管 ・ライセンス費用 ・完全に分析基盤の代替にはな らないケースが多く、業務の高度 化に利用される - ETL利用の分析データのT+1⇒リアルタイム化
 - 手段②:CDCを使うことでリアルタイムデータを分析基盤に送る
     ⇒TiDBはOLTPとしてCDC機能をサポート
     ⇒TiDBは分析基盤としてカラムストアをサポート

  11. エコシステム
 TiDB TiDB TiDB Application via MySQL Protocol TiKV TiKV

    TiFlash TiKV TiKV ... DistSQL API 
 KV API
 ... Worker Worker Worker Spark Driver ... Spark SQL Spark Cluster
 DistSQL API 
 PD PD PD PD Cluster Pump Pump Pump Drainer ... TiDB Binlog/CDC DM Worker DM Worker DM Master Upstream Database Downstream Database Lightning KV Importer KV Dumper TiDB Vision TiDB Insight TiDB Operator Chaos Mesh TiFlash データエクスポート機能 データインポート機能
 バックアップ・リカバリー機能
 診断・モニタリング
 (ご参考)TiCDC - リアルタイム分析を支える技術

  12. ① 数百億行の挿入と変更をサポート 
 ② シャーティング(分割処理)不要、開発コスト削減、リリース期間を短縮 
 ③ ワンプラットフォームで分析処理も可能、データ移行が不要 
 ④

    構成がシンプル、運用が大幅に改善 
 多種多様な情報を蓄積
 配送情報の最適化、顧客情報の分析活用 
 HTAPによるリアルタイム分析を実現し、IT効率を3倍以上向上
 OracleExadata 
 伝票情報
 支払い
 受領
 ...
 TiDB
 (40TiB利用中 400TiBまで可能 )
 • Oracle Exadataのデータベース容量上限により
 データの保存期間が要望を満たせない。
 • トランザクションのピーク時(12万QPS)の性能が頭打ち
 • スタンドアローンDBがボトルネックとなり障害リスクを抱えていた
 • DBシャーディングによりリアルタイム分析の妨げになっていた
 What Problem - 課題 -
 Before
 After
 Why TiDB? - 選定理由 - 車両情報
 ストアドプロシージャー
 によるアナリティクスデータ処 理
 AP処理をストアドで処理 
 Application
 伝票情報
 支払い
 受領
 ...
 車両情報
 書込ネックで 12万QPSで頭打ちに
 書込ネックが解消
 ※ ピーク36万QPSを現状サポート 
 HTAPでそのままAP処理可能 
 [事例] 業務の一部のクエリの高速化 - ZTO Express

  13. 2017年以降本番環境で運用 下記、利用シーンでオンライン分析クエリとトランザクションクエリが利用できる事 1. 大規模なプロモーション中に、リアルタイムデータを大きなディスプレイ画面に提供 2. ロジスティック倉庫管理 3. データウェアハウスアプリケーション 4. eコマースデータハブ

    5. コンテンツセキュリティハブ 3億人をサポートするライブeコマースのリアルタイムの状況・広告配信・詐欺検知など MySQLSharding + Hadoop TiDB ①詐欺検知 - Flinkを使用した大量のイベント (40000QPS)書き込みとアドホッククエリ ②レポート - データ増にシャーディング不要に ③シャーディング DBへの分析クエリの解決 ③TiFlashによる高速化 [事例] リアルタイム分析基盤として - 小紅書

  14. 提供形態 AWS Region GCP Region ①コミュニティ版 ②エンタープライズ ③TiDB Cloud タイプ

    Software Managed Service 課金単位 無償 vCPU数 インスタンス/容量/転送 プラットフォーム サーバー(EC2上含む) Kubernetes(AWS EKS含む) AWS、GCP サポート コミュニティサポート -24x7 エンタープライズサポート -Techincal training and consulting
  15. Webポータルで管理するフルマネージドデータベースとして提供
 https://tidbcloud.com/console/clusters 
 ・ノード追加
 ・バックアップスケジュール作成
 ・リストア
 ・クラスター管理
 ・クエリログ確認
 ・各リソース状況確認
         etc


    管理全般(Webコンソール) 
 監視(Webコンソール)   
 障害発生時(弊社からご連絡) 
 本日の環境:TiDB Cloud運用 全体イメージ
 お客様 ・スケール
 ・バックアップ
 ・リストア
 ・ソフトウェアメンテナンス
 ・アップグレード
 ・負荷状況確認
 ・SQLメンテナンス
 ・技術問い合わせフロー
 ・アラート対応フロー
 webコンソールから各オペレーション可能 

  16. TiFlashの活用デモ SELECT l_orderkey, SUM( l_extendedprice * (1 - l_discount) )

    AS revenue, o_orderdate, o_shippriority FROM customer, orders, lineitem WHERE c_mktsegment = 'BUILDING' AND c_custkey = o_custkey AND l_orderkey = o_orderkey AND o_orderdate < DATE '1996-01-01' AND l_shipdate > DATE '1996-02-01' GROUP BY l_orderkey, o_orderdate, o_shippriority ORDER BY revenue DESC, o_orderdate limit 10; ①データ作成 (TPCH - Done)
 ②クエリを流す (TiKVで処理)
 ③TiFlash適用 (テーブル単位で適用)
 ④クエリを流す (TiFlashで処理)
 

  17. 事例・活発度が分かる分析サービス OSS insight
 46億を超えるGitHub上のイベント分析するデータベースとして TiDB (TiFlash)を活用 ①各イベント発生の推移 ①GitHubイベント データを同期 +TiFlash

    https://ossinsight.io/ ②Pull requests地域の表示 ②分析クエリを TiFlash(カラムストア ) で高速処理 ③ジャンル内での比較(人気言語等) etc…
  18. OSS insightのDBにクエリを流す ①レコード数カウント&リアルタイムで同期している事を確認
   select count(*) from github_events; 
 ②条件を設定してクエリかける
   select

    count(*) from github_events where actor_login = '??????'; 
 ③OSS insightで使われているクエリを試す
   https://ossinsight.io/blog/explore-deep-in-4.6-billion-github-events/
   
 

  19. まとめ ETL CDC OLTPデータを分析/HTAP 分析用データ T+1 (OLAP上) ≒リアルタイム(OLAP上) =リアルタイム アーキテクチャ

    OLTP基盤 OLTP用DB OLTP用DB Read Replica⇒HTAP用DB データ同期 ETL CDC (CDC/ETL) OLAP基盤 OLAP用DB OLAP用DB (OLAP用DB) メリット ・用途に応じたデータ作成 ・データ鮮度 ・データ鮮度 ・手軽 デメリット ・データ鮮度 ・ETL設計・開発 ・ライセンス費用 ・目的外のデータも保管 ・ライセンス費用 ・完全に分析基盤の代替にはな らないケースが多く、業務の高度 化に利用される - OTLP基盤として
  - リアルタイム分析というキーワードや、集計などを含むOLTP基盤はHTAPが向いている。 
  - TiCDCを使えば増分データをリアルタイムでKafkaに流せる! 
 - OLAP基盤として
  - アドホッククエリ中心のリアルタイムOLAP基盤にも使える! 

  20. Webinar : 今後の予定 https://pingcap.co.jp/event/ 2022年6月30日(木) 14:00-15:00 HTAPを体験!TiDBのカラムナストアで分析してみよう! 2022年7月14日(木) 14:00-15:30 TiDB

    Cloudの紹介・デモ 2022年7月21日(木) 14:00-15:00 TiDB Cloud リリースノートについて 2022年7月28日(木) 14:00-15:00 PingCAP Education:TiDBでの表設計(1) ※過去開催アーカイブ : https://www.youtube.com/channel/UCatxrGZANSnii2fe7FeEwvg/playlists
  21. Webinar : アーカイブ 2022年4月14日(木) 14:00-15:30 TiDB ソフトウェアの紹介・デモ 2022年4月21日(木) 14:00-15:00 アプリケーション開発観点からの

    TiDB - Ruby編 2022年5月12日(木) 14:00-15:30 TiDB Cloudの紹介・デモ 2022年5月19日(木) 14:00-15:00 最新TiDB 6.0のポイント 2022年5月26日(木) 14:00-15:00 アプリケーション開発観点からの TiDB - Java編 2022年6月9日(木) 14:00-15:30 TiDB ソフトウェアの紹介・デモ 2022年6月16日(木) 14:00-15:00 PingCAP Education:TiKV- RocksDBについて 2022年6月23日(木) 14:00-15:00 アプリケーション開発観点からの TiDB - PHP編 https://www.youtube.com/channel/UCatxrGZANSnii2fe7FeEwvg/featured
  22. スケーラブルDBはこう使われている!を知るイベント 7/7開催・TiDB User Day 2022 注目セッション スピーカー企業 ①AWS/GCPベースのSaaSシステムはTiDBとの相性が抜群! ②@cosmeがレガシーシステムをクラウドネイティブ DBに載せ替える理由

    ③【パネルディスカッション】現場から見た TiDB / NewSQL https://pingcap.co.jp/tidb-user-day-2022/ 特典 🎁 ①イベント登録で先着200名様にAmazonギフト券1,000円をプレゼント! ②イベントの感想や技術ブログを書くと Amazonギフト券最大50,000円分をプレゼント!
  23. クラウドアプリのスタートをご支援! TiDB Cloud 1年無料キャンペーン 日本進出から1周年を記念し、TiDB Cloudをご利用いただいたことがないお客様を対象にTiDB Cloud1年間相当の値引きキャンペーンを実施します。 キャンペーン期間 2022年5月18日~2023年3月31日 申込み分まで キャンペーン内容

    最大700万円相当(TiDB Cloud典型構成で1年分相当)の値引きを提供します。 対象・適用条件 下記条件をみたすお客様 ※1(最大10社※2)  - TiDB Cloudを使用したことがないお客様  - 事例・プロモーションにご協力いただけるお客様  - 設立から1年以上経過しているお客様 適用方法 フォームにご入力の上、キャンペーンにお申し込みください。審査結果およびキャンペーン の詳細について担当者より連絡いたします。 URL https://pingcap.co.jp/start-dash-202205/ ※1 別途所定の審査あり
 ※2 予定数に達し次第終了する可能性があります。

  24. TiDB Cloud : 無償トライアルのご案内 TiDB Cloud Free Trialはこちら https://tidbcloud.com/signup Developer

    Tierでは TiDB Cloudを無償で1年間ご利用頂けます。 容量制限はありますが、 本番と同等の機能を提供しているため、 アプリとの接続試験などが容易に。
  25. OSS Insight : 活発度が分かる分析サービス 46億を超えるGitHub上のイベント分析するデータベースとしてTiDB (TiFlash)を活用 https://ossinsight.io/ ①各イベント発生の推移 ①GitHubイベント データを1分おきに同期

    +TiFlash https://ossinsight.io/ ②Pull requests地域の表示 ②分析クエリを TiFlash(カラムストア ) で高速処理 ③ジャンル内での比較(人気言語等) etc…