一言でいうと

GraphQLは、Webサイトやアプリ(ソフトウェア)が必要なデータ(情報)だけを効率よく取ってくるための仕組みです。

もう最後に詳しく

普通、Webサイトがサーバー(データを保管してある遠い場所)からデータをもらうときは、「用意されているセット」をもらいます。例えるなら、図書館で本をリクエスト(依頼)するときに、その本1冊だけほしいのに、関連する本10冊がセットで返ってくるようなものです。

GraphQLは違います。「このデータ部分だけください」と指定して、本当に必要な情報だけを取ってこられます。先ほどの例なら、本1冊だけを正確にリクエストできるイメージです。こうすることで、通信量(やりとりするデータの量)を減らせて、読み込み速度も速くなります。

よく使われる場面

エラーログサイト(問題が起きたときの記録を見るサイト)では、大量のエラー情報(日時、内容、どこで起きたか、など)を扱います。GraphQLを使うと、ユーザーが「今日のエラーだけ」「この種類のエラーだけ」と指定して取得できるため、ページが速く開きます。

関連する言葉

  • API:異なるソフトウェア同士が情報をやりとりするルール
  • REST:GraphQLの前によく使われていた、データをもらう別の仕組み
  • クエリ:データベース(データ保管庫)に質問を出すこと