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

TiDBとChatGPTを使えば アプリはもっとシンプル化できる

PingCAP-Japan
February 08, 2023

TiDBとChatGPTを使えば アプリはもっとシンプル化できる

50億をこえるGitHubのイベントデータを分析するOSS InsightというWebサービスによって、OSSツールの安全性など様々なことが分かります。

このスライドはこのサービスの裏側で使われている技術のキモであるデータベース機能のHTAP、Chat2Query(ChatGPTベースのクエリ生成機能)がどのようにアプリケーション開発をシンプル化・高度化できるかを紹介します。

アーカイブ動画:
https://youtu.be/mdxD9lxEjOg

PingCAP-Japan

February 08, 2023
Tweet

More Decks by PingCAP-Japan

Other Decks in Technology

Transcript

  1. PingCAPの自己紹介
 - NewSQLデータベース TiDBを継続的に開発
 - 2015年設立後、TiDBを開発し毎年メジャーアップデートを実施
 - CNCFに寄贈し、現在Graduatedステータス
 - フルマネージド型DBサービス「TiDB

    Cloud」の展開も強化中
 
 - ワールドワイドでビジネス展開
 - 2021年4月に日本支社設立
 - MySQL開発MgrのSanny Bains等も入社
 - 元日本マイクロソフト社長 平野拓也がアドバイザーとして参画
 Sunny Bains
 ex. InnoDB R&D Mgr 
 平野 拓也氏
 ex. 日本マイクロソフト社長 

  2. データストアの選択
 1つのDBで全てをかなえることは難しい RDB (OLTP) RDB (OLAP) NoSQL Hadoop +色々 ①スケーラビリティ

    △ △ 〇 〇 ②複雑な分析クエリ △ 〇 x 〇~△ ③更新がまあまあある 〇 △ 〇 〇~△
  3. ①NewSQLでシャーディング不要に
 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テーブル対応可) - NewSQL = 分散アーキテクチャによるスケーラビリティ+ACIDトランザクション
  ⇒シャーディングに頼らないRDB+スケーラビリティの直接的回答
 - 有名プロトコルを互換しているので、RDBのスキルセットを活かせる

  4. ②HTAPでOLTP,OLAPを1つのDBで実現
 HTAPの実装は、メモリ型・ストア型色々ある TiDB AlloyDB プロトコル MySQL PostgreSQL Scalability Read, Write

    (NewSQL) Read マルチクラウド AWS, GCP(, On-Premise) GCP HTAP実装 ストア (TiFlashにより大容量のカラム化が可能) メモリ内 MPP ◎ - データ容量が増えるほどストア型が有利 (+ MPPも重要)
  5. シンプル化できる?(再掲)
 更新用にRDBをシャーディングして、ETLパイプラインを構築し、DWHに同期 ①NewSQLでシャーディング不要に - Spanner - TiDB - cockroachDB -

    YugabyteDB ②HTAPでOLTP,OLAPを1つのDBで実現 - AlloyDB - SingleStore - TiDB - Snowflake RDB (OLTP) RDB (OLAP) NoSQL Hadoop +色々 NewSQL NewSQL &HTAP ①スケーラビリティ △ △ 〇 〇 〇 〇 ②複雑な分析クエリ △ 〇 x 〇~△ △ 〇 ③更新がまあまあある 〇 △ 〇 〇~△ 〇 〇
  6. 2つを満たしてくれたTiDB
 NewSQL TiDBは、更新・参照業務と分析業務を1アーキテクチャで実現。 TiDBは通常のDBと異なり、2つのエンジンを搭載し、あらゆる業務を1つのプラットフォームで実施可能。 また、全てのコンポーネントがリニアにオンラインスケールアウト /インが可能 アプリケーション TiKV TiKV TiKV

    TiKV TiFlash TiFlash TiFlash TiFlash 更新・参照用ストレージエンジン … TiKV TiKV TiKV TiKV TiFlash TiFlash PD PD PD TiFlash TiFlash 更新、参照 分析用ストレージエンジン データ同期 分析処理 … 全体管理 TiDB TiDB … TiDB ・更新処理か分析処理かを TiDBで自動判別 ・適切なエンジンで処理を実施 クエリ処理コンポーネント Row-Base Store Column-Base Store
  7. フルマネージド(TiDB Cloud)を活用
 ソフトウェアの運用ナレッジは不要。 更にMySQLのスキルセットを活かせるのがうれしい - お客様専用のVPC、Compute 
 - デフォルトでマルチAZ構成 


    - 障害・メンテナンス対応は全てPingCAPが実 施
 - VPC Peering, Private Link, Public IP経由で 接続
 - 専用WebコンソールやAPIで操作 

  8. NewSQLデモ:スケールアウト(&MySQL互換)
 NewSQL TiDBは、更新・参照業務と分析業務を1アーキテクチャで実現。 TiDBは通常のDBと異なり、2つのエンジンを搭載し、あらゆる業務を1つのプラットフォームで実施可能。 また、全てのコンポーネントがリニアにオンラインスケールアウト /インが可能 アプリケーション TiKV TiKV TiKV

    TiKV TiFlash TiFlash TiFlash TiFlash 更新・参照用ストレージエンジン … TiKV TiKV TiKV TiKV TiFlash TiFlash PD PD PD TiFlash TiFlash 更新、参照 分析用ストレージエンジン データ同期 分析処理 … 全体管理 TiDB TiDB … TiDB ・更新処理か分析処理かを TiDBで自動判別 ・適切なエンジンで処理を実施 クエリ処理コンポーネント Row-Base Store Column-Base Store