「押さえておきたいWeb知識」で検索お願いします!

[Web用語] NoSQLとは? 分かりやすく解説します!

1.NoSQLとは?

NoSQLとはリレーショナルデータベース+SQLではない新しいデータベース全般を指すものです。

NoSQLは2010年前後から利用されるようになりました。




2.解説

NoSQLの一つにKey-Valueストアがあります。

Key-ValueストアとはKeyとValueという2種類の情報だけで構成される、シンプルなデータ構造を取り扱うための仕組みです。

大量のデータを複数のサーバに分散させることで高速にデータの追加・取得できるのが特徴です。

NoSQLとして扱われるデータベースの特徴としてスケーラビリティが高く、大容量データの検索やデータの追加が素早くできるという点が挙げられます。

スケールアウトする上で複数のサーバ間でデータの整合性を取る方式は重要です。

RDBではデータの一貫性を保証する処理を行っています。

サーバAとサーバBに分散して配置されたデータがほぼ同時に書き換えられたとします。

このとき、サーバAとサーバBの間でデータの不整合性を起こさないためには更新が発生するたびに両者の間でデータの整合性をチェックし合うのは困難になります。

NoSQLと呼ばれる技術の多くはこの一貫性を一部あきらめることでデータの整合性を保つためにかかる処理を軽減しています。

例えば、HBaseという列指向データベースでは1つの列に対する整合性を保つ機能は有していますが、複数の列にまたがるトランザクションを実現する機能はありません。

Cassandraでは複数のサーバに分散して登録されたデータを更新した際に一時的にサーバ間でデータの内容に差異が発生する可能性があります。

このようなデメリットはあるもののより大規模なデータが素早く扱えることからNoSQLは注目されています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です