ITインフラ 新技術

RDBとNoSQLいいとこ取りNewSQLのCockroachDB

概要

フリーランスエンジニア スリーネクスト

CockroachDBというデータベースの紹介です。

CockroachDBはGoogle Cloud Spannerのクローンで、RDBとNoSQLのいいところどりをしたNewSQLと言われています。そのNewSQLの解説をします。

CockroachDBの名前の由来

「ゴキブリのようにしぶとくなかなかダウンしない」ということから頑丈という意味で名付けられました。

しかしCockroachDBという名前はゴキブリデータベースです。名前で使いたくないというイメージを持ってしまいます。

RDBとNoSQLのいいとこ取り NewSQLの正体

スケーラビリティの高いスケールできてRDBのようにSQLが書けるデータベースをNewSQLと呼びます。

RDBの特徴

RDBの強み

SQLというデータベースを操作するクエリーが使え、複雑なテーブルのデータを連携し出力ができます。

RDBの弱み

RDBはスケールアウトしづらくモノシリックな作りになっています。

NoSQLの特徴

NoSQLの強み

1つのDBで複数台のサーバーのリソースを利用することにより大きな負荷の高い処理を可能にします。つまりスケールアウトできることを得意としています。

落ちることがないことが前提で作成されています。まず、複数代のサーバーで構成されていればダウンすることはないでしょう。具体的にはクラウド環境では分散してデプロイすることでデータセンター規模の障害があっても継続稼働してくれます。

NoSQLの弱み

NoSQLは一貫性のあるトランザクション処理は不向きです。

NewSQLの特徴

CockroachDB パフォーマンス

NewSQLの強み

OracleやMySQL、PostgreSQLのようにSQLがかけて運用できるRDBの強みとMongoDBやRedis、BigQueryといったサーバ同士を連携させスケールさせて大規模な情報を処理するNoSQLの強みを取り入れたデータベースです。

NewSQLはRDBの機能を使えるので外部結合(join)もできます。Left JoinもできればInner Joinもできるしサブクエリーも使えます。

NewSQLの弱み

悪い部分をなくすためのNewSQLが現れました。RDBMSとNoSQLの両方の良いところのみを採用しています。

NewSQLはサーバーの負荷が高いので脆弱なサーバーでは運用できません。それにそこそこ費用がかかります。

他のNewSQL

同じNewSQLと言われるデータベースには以下の2つがあります。

  • Google Cloud Spanner
  • Microsoft CosmosDB

まとめ

先ほども紹介したのですがNewSQLはMicrosoftが出しているAzule CosmosDBがあります。クラウド上のDBです。

現状はCloud SpannerやCosmosDBは料金設定が高めのため、導入する企業がまだ少ないとは思いますが今後はさらにNewSQLが増えていき便利になっていくのではないでしょうか。

そして、今回の主役であるCockroachDBはマネージドサービスがあるので企業がこのサービスを使うときも増えてきそうな予感がします。

-ITインフラ, 新技術