見出し画像

dbts2023セッションレポート#8 A21「キャッシュとデータベースを組み合わせる煩わしさからの解放:マルチファンクション分散データベースCouchbaseのご紹介」

こんにちは。株式会社インサイトテクノロジー マーケティング本部です。

インサイトテクノロジー社員がdb tech showcase2023のセッションを受講した感想レポートの第8弾をお届けします

db tech showcaseについてはこちらの記事をご覧ください。

A21セッションの様子

報告者

株式会社インサイトテクノロジー
プロダクト開発本部
澁田

セッション情報

  • セッションID:A21

  • タイトル:キャッシュとデータベースを組み合わせる煩わしさからの解放:マルチファンクション分散データベースCouchbaseのご紹介

  • 登壇者:Couchbase Inc.
    Field Engineering Sales Engineer
    岸田 晴雄 氏

セッション概要

データベースを使っているがアプリケーションからのアクセスを高速化したいのでキャッシュ製品を組み合わせなくてはならない。よく採用されている構成だと思います。しかし、この構成では、キャッシュとデータベースの管理が煩雑になってしまいます。Couchbaseはメモリファーストアーキテクチャを採用しており、組込みキャッシュで高速に処理することができ、データの永続化も自動的に行われますので、面倒な処理は不要です。その他にもANSI準拠のSQLが使えたり、全文検索やオペレーショナルアナリティクスなどいろいろな機能が盛り込まれた製品となっておりますので、Couchbaseの持つ様々な機能をご紹介させて頂きます。

db tech showcase 2023 セッションスケジュールより抜粋

はじめに

初めに、「Couchbase」とはどのような製品であるかについてご紹介いたします。

Couchbaseは、JSON形式でデータ格納するドキュメント型のNoSQLデータベースです。テーブルの定義はJSON形式で階層的に記述します。RDBMSでは予め定義された形式でしかデータを保存できませんが、ドキュメント型のNoSQLの場合、追加したいカラムなどをJSON形式で記述するだけで簡単にテーブルの定義を変更可能です。

製品ラインナップとしては、管理・運用を気にせずにブラウザからアクセスし設定するクラウドデータベース「Couchbase Capella」、ユーザーのオンプレ環境でサーバーを立てて使用する「Couchbase Server」、オフラインファーストでモバイルデバイスへ組み込み可能な「Couchbase Mobile」の3種類があります。

以下、セッションでお話いただいたCouchbaseの特徴の一部についてご紹介いたします。

大量アクセスを高速に処理できる

RDBMSでは、大量のユーザーとデータによるアクセスを高速化するために、Redisなどのインメモリデータベースをキャッシュ層として併用する構成をとることがあります。

一方「Couchbase」では、アプリケーションからのアクセスは全てメモリ上で行われるため、キャッシュ層を使用せずに大量のアクセスを高速に処理することが可能です。

セッションの中で、2023年にAltoros社が公開した調査※1を引用されており、「Couchbase Capella」、「MongoDB Atlas」、「Amazon DynamoDB」、「Redis Enterprise Cloud」の4種類のNoSQLデータベースについて、読み込み50%、更新50%の状態で、ノード数、及びレコード数を増やした場合におけるスループット(1秒間での処理回数)の向上が最も大きいのは「Couchbase Capella」であることをご紹介いただきました。

RDBMSの操作感のまま運用を開始できる

CouchbaseはNoSQLでありながら、トランザクションにも対応していること、SQL++というANSI準拠のクエリ言語で操作可能であるなど、RDBMSに慣れたユーザーにとって少ない学習コストで運用を開始できる特徴があります。

SQL++とは、ANSI準拠のSQLの構文に加えて、JSONの階層的なデータへアクセスするための構文をサポートしたクエリ言語です。SQL++とSQLの構文の比較はCouchbase社の公式ドキュメント※2にて記載されているのでぜひご確認ください。

データ分析やモバイルデバイスへの組み込みなど、多彩な機能を利用できる

RDBMSでは、全文検索やデータ分析、モバイルデバイスへの組み込みなどの用途に合わせて他の製品との連携が必要な場合があります。

一方Couchbaseでは、データベースとしての機能に加えて、全文検索機能やデータ分析、モバイルデバイスへの組み込み機能を1つの製品に組み込んでいます。使用可能な機能については、Couchbase社の公式サイト※3にて紹介されています。

それぞれの機能は、ユーザーの用途に合わせて複数ノードに分散可能です。そのため、システム要件に合わせて、キーバリューストアと分析基盤を別々のノードに配置するなどにより負荷を分散することができます。

まとめ

  1. キャッシュ層を別途用意することなく、大量アクセスを高速に処理できる

  2. トランザクション対応や、クエリ言語SQL++により、RDBMSの操作感のまま運用を開始できる

  3. データ分析やモバイルデバイスへの組み込みなど多彩な機能を利用でき、システム要件に合わせて複数のノードに配置し負荷を分散できる

聴講した感想

NoSQLというRDBMSとは異なる形式のデータベースであっても、クエリをなじみのある記法で書けるため、少ない学習コストでRDBMSから移行できる点が嬉しいと思いました。

セッションの中で、同じ処理を通常のSQL、SQL++、MQL(MongoDB Query Language)の3つで比較をされており、SQLとSQL++が全く同じ構文で記述されていることに驚きました。

また、マルチファンクションの1つであるモバイルデータベースの事例として、航空機内の機内サービスシステムの話が印象的でした。フライト中はモバイルデバイスに組み込まれたCouchbase間で同期をとり、空港に着陸しネットワークに接続可能となった際にサーバーと同期することにより、オフライン環境でも、複数のデバイスからのアクセスを処理できる仕組みがあることをご紹介いただきました。

別日(12/6(水))ではありますが、当セッションのスピーカーである岸田様のA6 セッション「RDBMSからNoSQLへの移行を考えてみませんか?移行のポイントとメリットをご紹介」の中で、クラウドデータベース「Couchbase Capella」を使ったデモを実施いただいた際に、ブラウザから操作するUIが分かりやすくて、すぐに使い始めることができそうだと感じました。

A6セッションではデータベース移行のデモがあるので、RDBMSからCouchbaseへの移行方法が気になる方はぜひアーカイブ配信をご視聴ください。

参考

※1 Couchbase Capella vs. MongoDB Atlas vs. Amazon DynamoDB vs. Redis Enterprise Cloud | Altoros,
https://www.altoros.com/blog/couchbase-capella-vs-mongodb-atlas-vs-amazon-dynamodb-vs-redis-enterprise-cloud/ (参照 2023-12-19)

※2 SQL++ versus SQL | Couchbase Docs, https://docs.couchbase.com/server/current/learn/data/n1ql-versus-sql.html (参照 2023-12-19)

※3 What Is Couchbase | Couchbase Developer Portal, https://developer.couchbase.com/what-is-couchbase/ (参照 2023-12-19)

db tech showcaseについて

db tech showcaseは、データに関わるすべての技術者に「学び」「気づき」「変化」を提供する、国内最大規模のデータ技術カンファレンスです。

国内外の有名テック企業が一堂に会し、国内外の革新的な技術や最新の事例などの多数のセッションを提供しています。

12年目となった2023年は12/6~12/8の3日間、ベルサール六本木グランドコンファレンスセンターにて開催され、データに関わるたくさんの方にご来場いただき大盛況のうちに閉幕しました。

2024年は7月に開催予定ですので、ぜひお見逃しなく!
https://www.db-tech-showcase.com/

アーカイブ配信のご案内

db tech showcaseは、期間限定でアーカイブ動画を配信中です。
このレポートでご紹介したC15セッションをはじめとする約100セッションをオンラインでご視聴いただけるほか、講演資料のダウンロードも可能です。
※一部をのぞく

ご視聴には会員登録(無料)が必要となります。
皆さまのご登録・ご視聴をお待ちしております!
https://www.db-tech-showcase.com/2023/

この記事が気に入ったらサポートをしてみませんか?