SHOEISHA iD

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

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

【デブサミ2018 夏】セッションレポート(AD)

アーキテクチャを抜本的に見直し、Cassandra × Kubernetesによる大規模データ基盤を構築【デブサミ2018 夏】

【C-6】Cassandra x Kubernetesによる大規模データ基盤の仕組みと苦労

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

 エンジニアなら誰しも、アーキテクチャの大幅な変更には多大なる苦労が伴うことを知っているだろう。新技術の習得にコストがかかる、システム移行時に障害が起きかねない、全体設計見直しの難易度が高いなど、立ちはだかるハードルは枚挙にいとまがない。株式会社ブロードリーフは、そんな苦労を乗り越えて抜本的アーキテクチャの見直しを成功させた企業だ。メインデータベースをRDBMSからCassandraに変え、システム全体をオンプレ環境からKubernetesとGCPに移行したという同社は、なぜ難易度の高いアーキテクチャ変更を遂行できたのか。基盤開発部の松本宏紀氏が語った。

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

株式会社ブロードリーフ 基盤開発部 松本宏紀氏
株式会社ブロードリーフ 基盤開発部 松本宏紀氏

「自社サービスにマッチしたデータベースを選ぶ」ことの重要性

 株式会社ブロードリーフは、自動車業界向けパッケージシステムの開発を行う企業だ。同社のシステムは、自動車アフターマーケットと呼ばれる市場で働く事業者をターゲットとしている。

 当然ながら、扱っているのは自動車に関するデータだ。車やその部品、流通情報、整備履歴などがそれにあたる。車種データだけでも約48万レコード、それにひも付く車の部品データは約4億6000万レコード、個別の車情報データは約1682万レコードを扱うという。膨大な数である。これらの大量データを高速に扱うことが、同社のシステムに求められる要件だ。

 同社はなぜRDBMSをやめ、Cassandraに移行したのか。松本氏はその理由を語る。

 「RDBMSでデータを扱うのには課題がありました。全てのデータをクラウド上にアップすることが難しかったのです」

 前身となったシステムでは、大きく分けて構成Aと構成Bの2種類の商品構成を採用していたという。構成Aでは、ブロードリーフがサーバー機能を提供し、顧客の環境に専用アプリケーションを導入する。マルチテナント型のシステムのため、多数の顧客がAP/DBサーバーを共有する形だ。このシステムに関しては、クラウドへの移行は特に問題なかった。

 しかし、もう一方の構成Bが問題となった。この構成の場合、1社あたり1インスタンスにしなければ、求められる性能要件を達成することは難しい。だが、1社1インスタンスの構成を採用することには大きなデメリットがある。管理・運用コストが膨らんでしまうことだ。より良いデータの保管方法を求め、同社のエンジニアは最適解を模索したという。

RDBMSのデータをクラウド上に全てアップするのは難しい
RDBMSのデータをクラウド上に全てアップするのは難しい

 Cloud DatastoreやCloud Spannerなど複数の選択肢があったが、自社サービスに最もマッチしたものを選定していった結果、最終的にはCassandraにたどりついた。なぜ、他のデータベースでは駄目だったのだろうか。

 Cloud Datastoreは、パフォーマンス面と開発のしづらさから候補外となった。このデータベースが同社の求める応答速度を満たしていなかったこと、マネージドサービスのため各種制約を解消できないことなどがその理由だという。

 Cloud SpannerはACID特性もトランザクションもあり、SQLも使用可能であるため理想に近かった。だが難点があった。金銭的コストが比較的高くつくことだ。そのため、候補外となった。

 処理速度が速く、データ量が増えてもスケールアウトできること。そしてコストを一定レベルに抑えられること。これらの条件を全て満たしていたのがCassandraだったという。

 この経験をもとに、松本氏は自社のサービスに適したデータベースを選定することの重要さを提唱した。扱うデータの特性やビジネス要件、求められる可用性のレベル、メンバーのスキルセットなど、検討すべき指標は複数ある。これらの条件にマッチしたものでなければ、どれほど優れたツールもうまく機能しないのだ。

次のページ
システムを刷新するならば「開発体制も共に変えるべきだ」

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

  • このエントリーをはてなブックマークに追加
【デブサミ2018 夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11025 2018/08/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング