2020年04月08日 05時00分 公開
特集/連載

FinTech企業が大規模導入で学んだ「GraphQL」の注意点とは?「GraphQL」大規模導入で得た教訓【前編】

データ連携に「GraphQL」を利用するCredit Karmaは、アプリケーション改修と実際の運用を経て、GraphQL活用のための教訓を得たという。その教訓と、浮かび上がった課題とは何か。

[Sean Michael Kerner,TechTarget]

関連キーワード

API | アプリケーション開発 | データ


 個人向け財務サービスを運用する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の大規模導入から得た教訓

ITmedia マーケティング新着記事

news030.jpg

経営にSDGsを取り入れるために必要な考え方とは? 眞鍋和博氏(北九州市立大学教授)と語る【前編】
企業がSDGsを推進するために何が必要なのか。北九州市立大学の眞鍋和博教授と語り合った。

news022.jpg

「サイト内検索」ツール(有償版) 国内売れ筋TOP10(2021年7月)
サイト内検索(サイトサーチ)ツールは検索窓から自社サイト内のコンテンツを正確に、効...

news139.jpg

SNSの利用時間は77.8分、Instagram利用率は50%超え――Glossom調査
スマートフォンでの情報収集に関する定点調査。スマートフォンの利用時間は順調に増加し...