SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート(AD)

ChatGPTとも連携! 複雑な要件でもこのデータベースだけでOK、人気急上昇中のTiDBとは?

【9-A-2】TiDBとChatGPTを使えばアプリはもっとシンプル化できる

  • X ポスト
  • このエントリーをはてなブックマークに追加

 最近人気急上昇中のデータベースとしてTiDBがある。2015年に設立したPingCAPが開発するオープンソースの分散データベースである。MySQL互換で、フルマネージド型DBサービス化した「TiDB Cloud」で利用可能であることも大きな特徴だ。ここにChatGPTを組み合わせることで、これからのアプリ開発はよりシンプルになるかもしれない。PingCAP株式会社 Japan CTOの林正記氏が解説する。

  • X ポスト
  • このエントリーをはてなブックマークに追加

どのデータベースも一長一短、適材適所で組み合わせることが多かった

 今回のメインテーマは分散データベースのTiDB。その前に、まずは昨今のデータベースに求められる要件を知るサンプルとして、PingCAP 林正記氏は「OSS Insight」というサイトを示した。

 これはPingCAPが「オープンソースプロジェクトの活発度を可視化したい」ということで作成したサイトとなる。GitHubのイベント情報から、スターをどれだけ獲得したか、どの地域の開発者が多いのかなどいろんな角度から可視化できる。元となるデータは56億レコードにもおよび、リアルタイムで増え続ける。またこのサイトでは標準UIで用意していない可視化にも対応している。こうした規模や要件は昨今のWebサイトやアプリケーションであれば珍しくないのではないだろうか。

 こうした要件があるなか、データストアはどうするか。特殊な用途であれば別だが、よくある選択肢となるのがRDB(OLTP向け)、RDB(OLAP向け)、NoSQL、Hadoopだ。スケールするものがほしいのであればNoSQLやHadoop、複雑な分析や集計があるならRDB(OLAP)、更新頻度が高いのであればRDB(OLTP)やNoSQLなどおおよその傾向はあるものの、1つのデータベースで全てをカバーするのは難しい。

 どれも一長一短なのだ。例えばRDB(OLTP)だと更新に強くてもスケールに限界があるとか、分析クエリが得意でないとか。NoSQLだとスケーラビリティはいいけど、JOINを含むような複雑なクエリに対応しづらいとか。

 そのため現実的には複数のデータベースを組み合わせたりする。更新部分ではRDB(OLTP)をシャーディングしてスケーラビリティを確保し、KafkaなどでETLパイプラインを構築し、DWHにデータを流すことでデータを同期する。よくあるクエリはクエリキャッシュをつけたりする。結果的にアプリから見ると、RDB(OLTP)とRDB(OLAP)の2系統からデータを引っ張ってくるということが必要になってくる。

現実解?の構築は結構難しい
現実解?の構築は結構難しい

 林氏は「これはこれで1つの姿ですが、新しいKafkaを覚える必要があるとか、ツールが多数あるとか、学習のコストや運用のコストが生まれてきます」と指摘する。

次のページ
高頻度で更新され、OLTPとOLAPの両方が求められるときにどうすべきか

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 セッションレポート連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17415 2023/03/17 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング