2021.07.01

【概要編】NewSQLとTiDBについて

成臣
PingCAP株式会社
このエントリーをはてなブックマークに追加

はじめに

現在NewSQLは、海外メディアやコミュニティで活発な意見交換や商用サービスでの導入が積極的になり始めております。

しかし日本国内ではまだまだ一部の層でしか認知されていない新しいデータベースです。この記事ではNewSQLとPingCAP(ピンキャップ)のTiDB(タイデービー)を簡単にご紹介させて頂きます。

PingCAP株式会社について

PingCAPは2015年に3名のデータベース管理者によって設立した会社です。

当時、創業メンバーはOTT(Over The Top)業界でデータベースを運用しており煩雑な運用に悩んでおりました。市場に解決するソリューションが無く、自分たちで作り出したのがきっかけです。それから、TiDBや関連製品をオープンソースのコミュニティと成長させ続けております。
(※OTT=インターネット回線を通して行われるコンテンツ配信サービスの総称。映像、音声、SNS等のサービス全般のこと)

2021年4月にPingCAP株式会社を設立し、日本の大規模サービスのサポートと日本市場の開拓をミッションとして、日本のお客様の成長のお手伝いをさせて頂くべく精進して参ります。

NewSQLってなに?

NewSQLとはRDBMSとNoSQLのメリットをいいとこどりさせた新しいデータベースです。NoSQLの柔軟な拡張性と分散型アーキテクチャに加え、 RDBMSの特徴であるACIDトランザクションを同時にサポートします。


PingCAP画像①.png

なぜNew SQLが必要なの?

「5G」「デジタルトランスフォーメーション:DX」というキーワードが定着してきた昨今、便利!楽しい!新しい!サービスがどんどん世の中には誕生しております。

このようなサービスの裏には大量なトランザクションを捌き、大量のデータを保存し、大量なデータから分析を行うシステム基盤が必要になりますが、データベースの性能の心配や、データベースの煩雑な運用課題等、多くの課題がつきものです。

代表的な課題として以下があげられます。

1.リレーショナルデータベース(以下RDB)では捌けないほど、大きいデータ量のサービスが増加し、データベースを再設計する必要が生じる。このことに伴うアプリケーションのプログラム改修によりシステム運用が複雑化してしまう。

2.RDBのプライマリ・セカンダリ構成をとったサービスでは、プライマリ障害時のフェールオーバーにより一部のデータがなくなる可能性がある。

3.RDBのパフォーマンス向上の為、さまざまなミドルウェアを使用することがありシステムが複雑化していく。

上記のような課題の解決方法としてNewSQLが役に立ちます。具体的にはNewSQLにより
・従来のデータベースやアプリケーション側の設計が不要
・フェールオーバー設計が不要
・パフォーマンス向上の為に導入するミドルウェアが不要
といったメリットを得ることができます。

tidbmerito.png

TiDBってなに?

ここでTiDB(タイデービー)のご紹介をさせて頂きます。

TiDBはオープンソース(apache2.0)のクラウドネイティブなNewSQLデータベースです。

CNCF Cloud Native Interactive Landscapeのホームページをのぞいていただくと、TiDBはNewSQLの分野で一番多くの星を獲得していることが分かります。

TiDB&TiKV.png(詳細はコチラ)

TiDBの特徴をいくつかあげると

・OLTP(オンライントランザクション処理)・OLAP(オンライン分析処理)の両方をサポート:現在、利用しているDWH製品をTiDBで一つにまとめることが可能→HTAPを実現(ハイブリッドトランザクション処理)

・スケールアウト型アーキテクチャによりデータベースサイジングからの解放:サービス規模に応じてデータベースをサービス停止なく拡大・縮小が可能

・マルチプラットフォーム対応:オンプレミス、お使いのクラウド環境(AWS,GCP,Azure)でデプロイが可能

・フルマネージドサービスであるTiDB Cloudの提供:TiDB CloudはPingCAPによって管理されており、サーバーのプロビジョニング、スケーリング、フェイルオーバーなどについての心配が不要

といったことがあげられます。

まとめ

金融、決済、ゲーム、メディア、製造など、業界・業態問わず様々な国で1,500社以上の企業にTiDBが採用されております。TiDBのユーザーは、データベースシャーディングなどの煩雑な運用から解放されています。
(※データベースシャーディング=データベースにおける負荷分散手法の一つ。同じテーブルを複数のデータベースに用意し、1つのテーブルに保存していたレコードを分散すること。)

企業の成長に伴って生じるデータベースの課題解決の選択肢の一つとしてぜひTiDBをご検討ください! 

次回のブログ記事では、詳細なアーキテクチャをご説明いたします。

関連リンク

PingCAP公式サイト

この記事の著者:成 臣 (セイ ジン)

PingCAP株式会社

Yahoo! Japan, RedHatなどで10年以上開発と技術サポート経験。同時にCNCFでKubernetesなどのCloud Native技術を発信。2021年5月よりPingCAPに入社し、日本におけるTiDB, TiKVとChaos Meshのマーケティングを担当。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

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

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。