• 非リレーショナルデータベースであるnoSQLは、リレーショナルデータベースが苦手な分野で数多く使われるようになっています。
  • クラウド上でデータベースサービスを提供するAWSでも、Amazon DynamoDBやAmazon ElastiCacheなどのnoSQLが利用可能です。

 

noSQLの概要

noSQLとは、リレーショナルデータベース以外のデータベースを指します。
noSQLはSQLを否定するものではなく、一般的には「Not only SQL」と解釈されているように、noSQLとリレーショナルデータベースは異なる特性を持ったデータベースです。
リレーショナルデータベースが苦手とする分野やコストが高くなってしまう分野について、noSQLが使われます。

noSQLの特徴

  • 容易にスケールアウトできる
  • 結果整合性の保証
  • スキーマがない
  • トランザクション処理に不向き

 

AWSのnoSQL関連サービス

AWSで使用可能なnoSQLとして、Amazon DynamoDBやAmazon ElastiCacheがあります。

Amazon DynamoDB
・高速で柔軟な完全マネージド型のクラウド上のnoSQLデータベースサービスです
・ドキュメントとキー値データストラクチャに対応しています
・サービス側の平均レイテンシーは10ミリ秒未満と高速で処理が行われます

Amazon ElastiCache
・クラウドでのキャッシュのデプロイや運用などを容易にするWEBサービスです
・高速のメモリ内のキャッシュからデータを取得することで、WEBアプリケーションのパフォーマンスの向上できます
・オープンソースのインメモリキャッシュエンジンであるMemcachedとRedisをサポートしています
・パッチ管理や障害処理については管理タスクが自動で行うので、手間の掛かる作業が不要です

 

 

各種noSQLの特徴とマッチする用途

NoSQLをデータモデルで分類すると、キーバリュー型・カラム型・ドキュメント型に分類できます。

キーバリュー型
・キーとバリューを関連付けて、データを保管する
・データを高速で読み書きすることは可能だが、複雑な処理には適していない

カラム型
・カラム単位でデータを保管する
・大規模なデータの読み込みなどはRDMSよりも高速で処理できるので、データウェアハウスとして用いられることが多い

ドキュメント型
・JSONやXMLなどの構造を持ったドキュメントを保管する
・構造が複雑なデータを格納するのに適している

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献