個人向け財務サービスを運用する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)を利用しており「今のところグラフデータベースは使っていない」とナンス氏は説明する。
「幸福感を広めてほしい」 コロナ禍で政府への信頼が低下する一方、ブランドへの期待感が高まる
McCann Worldgroupが「文化と新型コロナウイルスについての真実 第9回調査」の結果を発...
今ツイートした人に広告配信 電通デジタルと電通が「リアルタイムキーワードターゲティング」を提供開始
広告主が配信対象とするツイートのターゲティング期間を短縮してタイムラグを解消。今ま...
ヤフーとLINEの経営統合でコマース・広告はどう変わるのか
新生Zホールディングスの戦略についてコマースと広告に関わるポイントをまとめました。