JSON〜人にもシステムにも優しいデータフォーマットとNoSQLへの活用〜

NAO

「Web上でのデータのやり取りを、もっと軽量かつ簡単にしたい。」

そんなニーズから生まれたデータフォーマットが「JSON」です。
本記事では、以下の内容について解説します。

Web上で使われるデータフォーマット「JSON」とは?

JSON(JavaScript Object Notation)は、データを「テキスト」で表現するためのフォーマットです。
たとえば、次のように「キーと値」の組み合わせで書くことができます。

このように、人間が見ても直感的に意味を理解しやすく、プログラムでも扱いやすいという点が特徴です。

JSONの特徴・強み

・軽量でシンプル

XMLなどと比べて記述が短く、余計な構文が少ないため、通信量を抑えやすく、読み書きもしやすいフォーマットです。

・構造化されたデータの表現が可能

文字列・数値・真偽値(true/false)・null・配列・オブジェクト(連想配列)を組み合わせて複雑なデータ構造を表現できます。

・言語非依存

JSONは特定のプログラミング言語に依存しないテキストフォーマットであるため、異なる言語間でもスムーズにデータ交換が可能です。

こうした「軽量」「構造化」「言語非依存」という特徴から、Web APIやモバイルアプリとの通信だけでなく、後述するNoSQLデータベースでも広く活用されています。

JSONと相性のよいデータベース「NoSQL」の仕組みと概要

大量のデータを扱う際、従来は「RDB(リレーショナルデータベース)」が主流でした。
しかし、現代の膨大なアクセスや変化の速いデータ構造に対応するため、「NoSQL」の活用が進んでいます。
特にJSON形式のデータをそのまま格納できる「ドキュメント指向型」のNoSQLは、JSONの柔軟性を最大限に活かすことができます。

RDBとJSONベースのNoSQLは、データの持ち方や得意な領域が大きく異なります。
下の図は、その違いとJSONベースNoSQLの特徴を、ざっくりと比較したものです。

★応用:NoSQLでのデータの扱い方、使用例や向いている用途

    • データの扱い方、操作方法

RDBでは基本的に「SQL」を利用してデータ操作を行います。

一方、NoSQLではDBごとに用意された専用のメソッドとJSONを組み合わせてデータ操作を行います。

    • NoSQLの使用例や向いている用途

1.チャットアプリの送受信データ管理
テキストだけでなく画像、動画、スタンプやリアクションなど様々な属性のデータを扱える点や、リアルタイムで膨大なデータ処理を行えるため、NoSQLが活用されています。

2.ECサイトの商品データ管理
→商品によって必要なデータ項目が全く異なるため、RDBのような表形式でデータを管理することが非常に難しいです。
JSONのデータ型を用いることのできるNoSQLでは、商品ごとに必要な項目を定義してデータ管理することができます。

NoSQLを使用できるクラウドサービス例

    • AWS: DynamoDB

AWSが提供するフルマネージドなNoSQLデータベースです。
高スループットかつ低レイテンシで動作し、トラフィックの増減に応じて自動でスケールします。
キー・バリュー型およびドキュメント型のデータモデルをサポートし、サーバーレスで運用できるため、インフラ管理の負荷を大きく軽減できます。

    • Google Cloud: Firestore

Google Cloudが提供するスケーラブルなドキュメント指向のNoSQLデータベースです。
モバイル・Webアプリ向けに設計されており、リアルタイム同期やオフライン対応が特徴です。
セキュリティルールによる細かなアクセス制御が可能で、Cloud Functions など他のGoogle Cloudサービスとの連携も容易です。

まとめ

本記事では、JSONおよびJSONと相性の良いデータベースである「NoSQL」について紹介しました。

JSONは、今やWeb APIやフロントエンド、クラウドサービスなど、多くの場面で標準的に使われているデータフォーマットです。
興味を持っていただけた方は、実際にAPIレスポンスを見てみたり、DynamoDBやFirestore などを触りながら、JSONとNoSQLの組み合わせを体験してみてください。

お問い合わせはこちら

記事を書いた人

NAO

Web系システムを良く触ってます。寒さに強いです。

関連記事

TOP