SHOEISHA iD

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

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

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

企業のOSS採用が増加する中、デメリットにはどう対処する? Aivenが語るデータ基盤構築のベストプラクティス

【9-C-2】OSSを活用した次世代大容量データ基盤構築のベストプラクティス

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

 Developer Summit 2023のデータテクノロジーのセッションでは、「OSSを活用した次世代大容量データ基盤構築のベストプラクティス」と題して、Aiven Japan合同会社 ソリューションアーキテクトの三谷知廣氏がオープンソースデータベースを活用して大容量データを扱うためのベストプラクティスについて解説した。オープンソースのデータベースとして良く使われるMySQLやPostgreSQLだけでなく、ストリーム処理プラットフォームのApache Kafkaやオンライン分析処理(OLAP)用のオープンソースの列指向データベースであるClickHouseなども用いて、大容量のデータを容易に扱えるようにするにはどのような方法があるのか。またオープンソースを活用する際の運用の手間を大きく削減できるAivenのフルマネージドサービスについても紹介した。

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

OSSを採用する企業が増加する中、デメリットにはどう対処する?

 Aivenは2016年にフィンランドで設立され、クラウドデータ基盤のフルマネージドサービスを提供している。「今日は是非、Aivenがデータインフラをシンプルにする会社だと憶えて欲しい」と三谷氏は言う。同社は、オープンソースソフトウェアとクラウドの専門家集団でもあり、グローバルで1000社以上の顧客がいる。

 「Aivenのルーツはオープンソースにあります」と三谷氏。オープンソースソフトウェアが業界に革新をもたらすトレンドに、同社が一役買っていることには誇りを持っていると言う。実際、オープンソースソフトウェアのライセンスの利用は、2021年には商用ソフトウェアの利用を逆転したとの調査結果もある。「オープンソースを採用する企業はますます増えており、このトレンドは長く続くと考えられます」とも言う。

Aiven Japan合同会社 ソリューションアーキテクト 三谷知廣氏
Aiven Japan合同会社 ソリューションアーキテクト 三谷知廣氏

 オープンソースソフトウェアの利用が進む一方、管理、運用の手間、セキュリティの担保、マルチクラウド対応などに課題もある。たとえばオープンソースのデータベースの管理、運用では、障害時のダウンタイムでサービスレベルが低下する懸念がある。さらに障害対応にリソースが割かれ、サービス開発が遅れかねない。

 セキュリティ担保のためには、各種コンプライアンスやガイドラインに則した対応が求められ、専門家によるセキュアなネットワークの構築や暗号化なども必要だ。また最近はマルチクラウド対応への要求も高い。たとえば、AWSで運用しているデータベースの冗長構成で、障害発生時のスタンバイデータベースをGoogle Cloudに構築するケースがある。この場合、アーキテクチャが複雑になり構築コストも増大しがちだ。「アーキテクチャ的に十分でないマルチクラウド環境では、障害時にマニュアル対応によるオペレーションミスの発生や、ダウンタイムの増加につながります」と三谷氏は指摘する。

 Aivenでは、さまざまなパブリッククラウドベンダーのインフラを使い、オープンソースのクラウドデータサービスを提供している。Aivenが管理することで、顧客はビジネス特有の要件や機能の構築に専念できる。Aivenのサービスは高い可用性があり、顧客サービスのダウンタイムも発生しない。セキュリティに関してもPCI-DSSやHIPAAなどのグローバルのセキュリティ基準に準拠し、安心して利用できる。「オープンソースのテクノロジーを提供する企業の中で99.99%のSLAは業界トップレベルです。実際のサービスレベルは、2021年には99.997%を達成しています」と自信を見せる。

Aivenが提供するオープンソースのクラウドデータサービス
Aivenが提供するオープンソースのクラウドデータサービス

 Aivenのサービスの利用で、DBA1人当たりの担当データベースが2倍、IaaS上の管理コストが37%低下し、IaaSを自分たちで管理するより、4倍ほど速く展開できるとの生産性向上の成果もある。Aivenのサービスは、スタートアップ企業はもちろん、中堅のデジタルネイティブ企業、トヨタ(北米)のような大企業まで幅広い企業が利用している。

Apache Kafkaをベンダーロックインなしで、より容易に、より便利に

 三谷氏はAivenのサービスが容易に導入できることを、オープンソースの分散データストリーミングプラットフォームのApache Kafkaのサービスを例に紹介した。Apache Kafkaはイベント駆動型のアプリケーションやほぼリアルタイムのデータ転送とパイプラインストリーム分析など、アプリケーション間で大量データを迅速に移動する場合に最適だ。Aivenではこれを、ベンダーロックインなしのフルマネージドのサービスで提供する。

 Aiven for Apache Kafkaは、クラスタの設定、ノードの展開、クラウドの移行、バージョンアップをワンクリックで実行できる。「Apache Kafkaの複雑さを気にすることなく、アプリケーションの作成と実装に集中できます」と三谷氏。自らApache Kafkaのサーバーをセットアップするのはかなり手間だ。Apache Kafkaサーバーを構築できても、高可用性やセキュリティの確保や未知の障害への対応など、専門知識と多くの人的リソースも必要となる。

 Aivenでは、Apache Kafkaをフルマネージドで提供するので、ユーザーは不健全なノードや突然のダウンタイムなどを心配する必要はなく、オンデマンドでApache Kafkaクラスタを作成できる。たとえばApache Kafkaのノードが故障した際には、Aivenのサービスならノードを自動で修復できる。コントロールセンターがノードの故障を検知し、自動で代替ノードを作成、クラスタメンバーからデータを同期しリバランス処理を行う。

 またApache Kafkaのパーティションでメッセージの分散が不均一になると、メッセージのバランスが崩れレスポンスが遅くなり、メモリー不足のエラーでディスクが足りなくなりブローカーが停止することもある。オープンソースのApache Kafkaで対処するには、コマンドラインの操作が必要で、煩雑な手順となる。Aivenではコントロールセンターがパーティションの分散をチェックし、パフォーマンスと可用性のためにデータが最適に配置されるよう自動で調整する。セッションでは、TwitterのAPI経由でツイートの内容をApache Kafkaに取り込むデモを行った。ツイートをJSON形式で取得し、Key-Valueストアにメッセージとユーザーのメタ情報を格納。操作するごとにストリーミングされる情報を取得し、メッセージが追加される様子が紹介された。

 Aivenでは、Apache Kafkaをより便利に使うためのオープンソースツールのエコシステムも用意している。Apache Kafkaと外部システムを容易に接続するKafka Connect、異なるクラウドやリージョンへのレプリケーションを可能にするMirrorMaker 2、オープンソーススキーマレジストリおよびREST APIを提供するKarapaceなどがある。

アプリケーション間で大量のデータを迅速に移動する場合に最適なAiven for Apache Kafka
アプリケーション間で大量のデータを迅速に移動する場合に最適なAiven for Apache Kafka

 Aiven for Apache FlinkはAivenが新しく提供するサービスで、イベントストリームのSQL処理が可能となる。「これは、イベントのリアルタイムアラートやアグリゲーション、フィルタリング分析に最適です」と三谷氏。前述のデモで取得したApache Kafkaのメッセージにはたくさんのメタ情報があったので、Apache Flinkを用いてフィルタリングし、タイムスタンプとメッセージだけにする様子もデモで紹介された。

大容量データを高速に分析できるClickHouse

 次に紹介されたのが、オンラインのクエリ分析処理を行うAiven for ClickHouseだ。これはOLAP用の列指向型データベースで、「パフォーマンスは他のあらゆる列指向データベースを上回っており、1サーバー当たり数10億行、数10ギガバイトのデータを1秒で処理できます」と三谷氏は言う。

 ClickHouseには、ベクトル計算型エンジンが搭載されている。各カラムのデータは独立したファイルで保存し、任意のクエリに対し、使用するカラムのデータファイルのみディスクから読み出しベクトル計算型エンジンで個別ではなくブロックごとに並列処理する。これによりCPUリソース効率を向上し、レイテンシーを低く抑えられる。

 さらに一般的な方法に加え、データをよりコンパクトにする特殊な圧縮方法もある。これを使うことで、PostgreSQLと比較して同様のプランで1テラバイトのデータを圧縮すると3分の1程のサイズになることもある。またスパース・インデックスと呼ばれるマージツリー型インデックスを採用し、8192行ごとにインデックスを作成することで膨大なデータ処理に最適化されている。「毎秒数100万行の挿入を受け、数100ペタバイトレベルの非常に大きなボリュームのデータを保存できるように設計されています」と三谷氏は説明する。

 一致する値がないことが保証されるデータブロックの読み取りをスキップするスキップ・インデックスも採用されている。データの階層構造を維持することで、クエリ・オプティマイザがテーブルのどの部分をスキップするかを迅速に判断する。これらで読み込む必要のあるデータ量を削減し、クエリ性能は大幅に向上する。「PostgreSQLと比較したら、GROUP BYを使った集計処理でClickHouseが18倍以上高速となりました」と三谷氏は言う。

 Apache Kafkaに送信されたストリーミングメッセージを、ClickHouseのApache Kafkaエンジンを用いリアルタイムに永続保存もできる。「Apache KafkaとClickHouseを使えば、IoTなどのストリーミングの時系列データ処理が可能です。そのデータを使いインサイトを得て、リアルタイムな意思決定ツールの作成もできます」と三谷氏。ClickHouseは人気が高まっており、テスラやeコマースのeBay、金融機関など多くのユースケースがあると言う。

Clickhouseと様々なAivenサービスとの連携
ClickHouseとさまざまなAivenサービスとの連携

 Aivenでは、各サービスのインテグレーションは極めて容易に実現できる。前述のTwitterのメッセージを取得しフィルタリングして格納したものにClickHouseを組み合わせ、クエリを発行しGrafanaで簡単に可視化できる。5秒ごとにクエリを発行すれば、ほぼリアルタイムにTwitterのメッセージが増えていく様子もデモで示された。

 Aivenでは、オープンソースのデータインフラに関するミートアップグループをMeetup.comで作成し、オープンソースデータベースに関するさまざまな情報や意見交換の場も新たに設けている。「イベントなどを通じ皆さんと交流を図っていきたいです」と言い、興味のある人は是非参加して欲しいとのこと。最後に改めてAivenが企業のデータインフラをシンプルにする会社だということを伝え、セッションは締めくくられた。

IDCホワイトペーパー:Aivenデータクラウドソリューションのビジネスバリュー

 IDCホワイトペーパーをダウンロードし、Aivenソリューションの真の価値についてご確認ください。チーム効率を48%向上し、真のビジネス成果につながるような高価値のアクティビティにメンバーが集中できるよう支援するAivenのストラテジーに関してもご説明しています。

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

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

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

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

この記事をシェア

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

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング