noSQLに関する基本的な内容をまとめてみたものです。noSQLに関する、Web上にすでにある良識な解説コンテンツをまとめたサイトの抜粋です。
[noSQL概要とAWS関連サービス] (https://www.techcrowd.jp/nosql/nosql-summary/)
[noSQLの概要] (https://www.techcrowd.jp/nosql/nosql-summary/)
noSQLとは、リレーショナルデータベース以外のデータベースを指します。
noSQLはSQLを否定するものではなく、一般的には「Not only SQL」と解釈されているように、noSQLとリレーショナルデータベースは異なる特性を持ったデータベースです。
リレーショナルデータベースが苦手とする分野やコストが高くなってしまう分野について、noSQLが使われます。
noSQLの特徴
- 容易にスケールアウトできる
- 結果整合性の保証
- スキーマがない
- トランザクション処理に不向き
[AWSのnoSQL関連サービス] (https://www.techcrowd.jp/nosql/nosql-summary/)
AWSで使用可能なnoSQLとして、Amazon DynamoDBやAmazon ElastiCacheがあります。
Amazon DynamoDB
・高速で柔軟な完全マネージド型のクラウド上のnoSQLデータベースサービスです
・ドキュメントとキー値データストラクチャに対応しています
・サービス側の平均レイテンシーは10ミリ秒未満と高速で処理が行われます
Amazon ElastiCache
・クラウドでのキャッシュのデプロイや運用などを容易にするWEBサービスです
・高速のメモリ内のキャッシュからデータを取得することで、WEBアプリケーションのパフォーマンスの向上できます
・オープンソースのインメモリキャッシュエンジンであるMemcachedとRedisをサポートしています
・パッチ管理や障害処理については管理タスクが自動で行うので、手間の掛かる作業が不要です
[各種noSQLの特徴とマッチする用途] (https://www.techcrowd.jp/nosql/nosql-summary/)
NoSQLをデータモデルで分類すると、キーバリュー型・カラム型・ドキュメント型に分類できます。
キーバリュー型
・キーとバリューを関連付けて、データを保管する
・データを高速で読み書きすることは可能だが、複雑な処理には適していない
カラム型
・カラム単位でデータを保管する
・大規模なデータの読み込みなどはRDMSよりも高速で処理できるので、データウェアハウスとして用いられることが多い
ドキュメント型
・JSONやXMLなどの構造を持ったドキュメントを保管する
・構造が複雑なデータを格納するのに適している