「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
-
製品資料
[富士フイルムビジネスイノベーション株式会社] データ入力業務のDXを実現 工数削減や業務品質向上に効くアプローチとは? -
製品資料
[日本ヒューレット・パッカード合同会社] AI活用で競争力を高める「最適にデザインされたAI基盤」の在り方とは? -
製品資料
[日本ヒューレット・パッカード合同会社] 「人がAIを使う時代」の次は―― “AI Ready”なIT環境が切り開く新たなAI時代 -
製品レビュー
[MNTSQ株式会社] 法務部門のための「AI導入」ロードマップ -
技術文書・技術解説
[SAPジャパン株式会社] 人手だけでは守り切れない、AI時代のERPを守る「仕組み」とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft 365統一で「SharePoint」が1日2TB増 富士フイルムはどう管理した?
-
2
「企業内サーバ環境の利用実態」に関するアンケート
-
3
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
4
「社用車」に関するアンケート
-
5
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
6
「契約業務のAI活用」に関するアンケート
-
7
なぜ「PHP2Shell」はパッチを当てても終わらないのか?
-
8
負の遺産ではない! 今こそメインフレームを再評価すべし
-
9
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
10
「最新のセキュリティ脅威とオープンソースの対策状況」に関するアンケート
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
本当に使える「会議翻訳ツール」を見極める4つの選定基準
-
3
有識者が語る、中堅中小企業に求められる最新のサイバーセキュリティ対策とは
-
4
パスワードレスへの移行で失敗しないためには? 導入・運用上の注意点を解説
-
5
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
6
自社のセキュリティ対策は大丈夫? 自己診断リストで対策の優先順位が分かる
-
7
「テスト内製化&自動化」事例集:ディー・エヌ・エーなど9社に学ぶ実践のコツ
-
8
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
9
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
10
ランサムウェア攻撃“究極の対策”はこれだ
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー