Netflixがクエリ言語「GraphQL」を採用 何にどう使っているのか:Netflixを支える「GraphQL」【前編】
Netflixがクエリ言語として「GraphQL」を採用した。どのように利用しているのか。得られた効果は。同社に聞いた。
動画配信サービス「Netflix」を支えているのは、クエリ(データ操作)言語「GraphQL」だ。
テクノロジーカンファレンス「QCon New York 2019」に登壇したギャレット・ハインレン氏は、Netflix社でソフトウェアエンジニアを務めている。ハインレン氏によると、同社はコンテンツエンジニアリングチームが運用するシステムにデータを取り込むためのクエリ言語として、主にGraphQLを使用しているという。
併せて読みたいお薦め記事
データ連携の仕組み
- APIとは何か? Web APIとの違い、利用者のタスクを解説
- REST APIへの不満爆発? API Worldで話題になったメッセージングのこれから
- 「SDK」と「API」の違いとは? どう使い分ける?
データ連携機能の管理
Netflix社の主要なエンジニアリングチームは2つある。一つはストリーミングを担当する製品エンジニアリングチーム。もう一つは同社の番組制作用のツールを開発するコンテンツエンジニアリングチームだ。
コンテンツエンジニアリングチームが新しいデータ統合システムを構築する際、システムの基盤テクノロジーとしてGraphQLを採用した。データ連携に利用できる仕組みには「REST」や「Falcor」といった選択肢があるが、同チームはそれらを退けてGraphQLを選択した。RESTはデータ連携のための枠組みを定義したアーキテクチャ。FalcorはNetflix社がスクリプト言語「JavaScript」向けに開発したデータ取得用の機能群だ。
「われわれは新しいシステムを開発している最中だったため、実験の余地があった」とハインレン氏は話す。GraphQLの開発元はFacebookだ。同社は2012年にGraphQLを開発し、2015年にオープンソースコミュニティーにこのプロジェクトを寄贈した。さらに2018年、プロジェクトは非営利団体GraphQL Foundationの手に渡った。
GraphQLがNetflixにもたらした効果
Copyright © ITmedia, Inc. All Rights Reserved.