スポンサーリンク

【応用情報技術者試験】NoSQLデータベース

NoSQLデータベースは、リレーショナルデータベース(RDB)とは異なり、柔軟なスキーマを持ち、ビッグデータや大量のトラフィックを処理するのに優れた非リレーショナルデータベースの総称です。ドキュメント型、キーバリューストア、ワイドカラム型、グラフ型など、データモデルに基づいた様々な種類があり、水平スケーラビリティに優れているため、現代の多様なデータに対応するのに適しています。

スキーマ
データベースの構造、内容、およびデータ間の関係性を定義する「設計図」です。テーブル名、フィールド、データ型、制約、および各エンティティ間の関係などが含まれます。

NoSQLデータベースの特徴

  • 柔軟なスキーマ:RDBのような厳密なテーブル構造を持たず、様々な形式のデータを柔軟に保存できます。
  • 高いスケーラビリティ:水平方向への拡張(スケールアウト)が容易で、大量のデータやトラフィックにも対応可能です。
  • 多様なデータモデル:ドキュメント、キーバリューストア、ワイドカラム、グラフなど、データ構造に合わせて最適なモデルを選択できます。
  • 非リレーショナル:RDBで使われるSQL文を使用せず、独自のアクセス方法を持つことが多いです。

NoSQLデータベースの種類

  • キー・バリューストア:データをキーと値のペアで保存する、シンプルで高速なデータベースです。Amazon DynamoDBなどが例です。
  • ドキュメントストア:JSONやBSONなどのドキュメント形式でデータを保存します。MongoDBが代表的です。
  • ワイドカラム型 (カラム指向データベース):データを列単位で保存し、高速なクエリ性能を持つのが特徴です。CassandraやHBaseなどが例です。
  • グラフデータベース:データ間の複雑な関係性をノードとエッジで表現します。Neo4jが有名です。

NoSQLデータベースが適したユースケース

  • ビッグデータ:大量のデータを高速に処理・分析する必要がある場合に利用されます。
  • リアルタイムアプリケーション:高いスループットが求められるWebアプリケーションやモバイルアプリに最適です。
  • IoT(モノのインターネット):センサーなどから生成される膨大かつ頻繁に変化するデータを管理する際に活用されます。
  • ソーシャルメディアやECサイト:ユーザーの多様なデータをリアルタイムに処理し、パーソナライズされたサービスを提供するために使われます。

【RDBとNoSQLの違い】

RDBNoSQL
データ構造関連付けられた表形式の複数データさまざまな形式がある
処理速度大容量データになると遅くなる大容量データでも処理速度は早い
分散性原則として1台のサーバーでの管理サーバーの水平分散が可能
拡張性拡張性は低い拡張性は高い
一貫性データに一貫性がある常に間違ったデータを出さない
検索精度高度な検索が可能高度な検索に弱い場合がある
向いているケース高度な検索・集計処理をしたい場合大容量データを扱いたい場合

参照:https://business.ntt-east.co.jp/content/cloudsolution/column-338.html

コメント