「GraphQL」大規模導入で得た教訓【前編】
FinTech企業が大規模導入で学んだ「GraphQL」の注意点とは?
データ連携に「GraphQL」を利用するCredit Karmaは、アプリケーション改修と実際の運用を経て、GraphQL活用のための教訓を得たという。その教訓と、浮かび上がった課題とは何か。
個人向け財務サービスを運用するFinTech(金融とITの融合)企業のCredit Karmaは、アプリケーションを従来のモノリシック(一枚岩的)な構造から「マイクロサービスアーキテクチャ」に移行した。マイクロサービスアーキテクチャとは、独立性の高い小規模のサービス(マイクロサービス)を組み合わせるアプリケーション構造を指す。同社はサービス同士の連携に、クエリ(データ操作)言語「GraphQL」を用いている。
グラフデータベースは使わない
Credit Karmaは以下の機能を持つ独自の「GraphQLサーバ」を構築した。まずエンドユーザーが利用するクライアントアプリケーションからリクエストが来ると、GraphQLサーバがそのリクエストを受け付ける。次にGraphQLサーバがデータベース連携用サービスに接続する。データベース連携用サービスはリクエストされたデータをデータベースから取得し、GraphQLサーバに返す。最後にGraphQLサーバは、そのデータをクライアントアプリケーションで表示できるように変換する。
独自に構築したGraphQLサーバに加え、Credit KarmaはGraphQLを介したデータ連携を処理するサーバ「Apollo Server」プロジェクトなどのオープンソースの取り組みにおける成果も利用している。同社のGraphQL活用の中心人物であるエンジニアリング担当副社長のニック・ナンス氏は、Apollo Serverプロジェクトの共同設立者でもある。
ナンス氏によれば、2020年2月時点でCredit KarmaはApollo Serverは使っていないという。「われわれはオープンソースソフトウェアに加え、さまざまなプロプライエタリ製品を利用してGraphQLサーバを実装している。このGraphQLサーバは全て自社で開発したものだ」(同氏)
GraphQLの導入は、データ間の関係性をグラフ形式で表す「グラフデータベース」が伴う場合がある。ただしCredit Karmaのアプリケーションはグラフデータベース向けには設計されていない。データを表形式で表し、複数の表同士の関係を設定する「リレーショナルデータベース」(RDB)を利用しており「今のところグラフデータベースは使っていない」とナンス氏は説明する。
GraphQLの大規模導入から得た教訓
GraphQLを大規模導入した経験から、Credit Karmaは重要な教訓を得た。それは「『スキーマ』と『クエリ』をうまく管理しなければならないことだ」とナンス氏は説明する。スキーマはデータ構造を定義し、クエリはデータベースからデータを取得するための命令を記述する。スキーマとクエリで利用しているライブラリをメンテナンスすることに加え「これらを相互に干渉させることなく活用できるメカニズムが必要だ」と同氏は述べる。
Credit Karmaが得たもう一つの重要な教訓は、GraphQLの導入規模と洗練度に関することだ。ナンス氏によると、GraphQLで扱うデータ構造の複雑さと規模が大きくなればなるほど、変更と管理が難しくなるという。この段階に達したら「いわゆる『フェデレーション型GraphQL』を扱わなければならない」とナンス氏は語る。GraphQLに関するさまざまなサービスを組み合わせたものだ。
ナンス氏はGraphQLの課題として「単一のデータスキーマ(データ構造)を使用するため、データアーキテクチャが巨大になってしまうこと」を挙げる。それを解決するためにCredit Karmaは、データスキーマを明確なパターンに従って小さく分割し、その分割したセグメントをさらに小さな管理しやすい単位に分解しているという。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
ソフトウェア開発生産性向上に取り組む企業は4割 調査で学ぶ「停滞」の正体
-
3
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
4
クラウド資格コレクターは評価されない? 年収1000万を分ける“OSの理解度”
-
5
無料の「Apple Business」で十分? 情シスが陥りがちなポイント
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
フィッシング詐欺の説明として最も正しい記述は?
-
8
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
9
【お知らせ】「サーバ仮想化に関するアンケート調査」結果リポート
-
10
【お知らせ】「クラウドインフラに関するアンケート調査」結果リポート
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
4
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
5
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
6
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー