SQLとNOSQLの相違点
2line seperator
2line seperator
当社の最初のブログとして執筆することとなりましたが、ちょうどSQLとNOSQLについて調べる機会があり、
せっかくなので自分なりに勉強した内容をブログにしてみました。
SQLの正式名称はStructured Query Language(構造化照会言語)。
また、noSQLはnon SQLまたはnot only SQLの略である。
2line seperator
2line seperator
SQLの特徴
- データを操作する際、あらかじめ定義されたキーワード(SQLコマンド)を使用する。
- デーブルベースの構造化データベースを操作する際に使用する。
- 他のDBテーブルに関連可能
- スキーマを定義する必要があり、スキーマは固定でなければならない
- SQLの例として、Oracle、MSSQL、MySQL、POSTGREがあります。

2line seperator
2line seperator
2line seperator
2line seperator
NoSqlの特徴
- テーブルがなく、オブジェクト/ドキュメント/ファイルベースのデータベースです。
- 定義されたキーワードはなく、キーとバリューのペアで操作する。
- コレクション間の関係は必要ない
- ドキュメント内の行や列の指定は不要
- noSQLの例として、MongoDB、Cassandra、Redis などがあります。

2line seperator
2line seperator
NoSqlデータベースの種類

2line seperator
2line seperator
なぜNoSqlを使うのか
- NoSQLは、テーブルのような構造ではなく、階層的なストレージ構造をベースにしています。
- 新機能の継続的な追加
- 保存されているデータ間の関係が不要
2line seperator
2line seperator
NoSqlのメリット
- 高いパフォーマンスとスケーラビリティ
- 可用性と柔軟性
- オープンソース、スキーマレス
2line seperator
2line seperator
NoSqlのデメリット
- 標準化の欠如
- 一貫性の問題
- 限られたクエリ機能
2line seperator
2line seperator
2line seperator
2line seperator
SQLとNOSQLの違い
| SQLデータベース | NOSQLデータベース |
|---|---|
| リレーショナルデータベース | 分散型データベース |
| テーブルベースのデータベース | ドキュメントベースデータベース |
| スキーマの設計と構造を固定化 | 動的なスキーマの設計と構造 |
| 強力なクエリ言語 | クエリ言語なし、またはUnQL |
| 複雑なクエリーを処理する | 大容量データの処理 |
| 垂直スケーラブル | 水平スケーラブル |
| スケールアップが容易でない | スケールアップしやすい |
| ACIDプロパティに準拠 (Atomicity, Consistency, Isolation and Durability) | CAPプロパティに準拠 (Consistency, Availability and Partition Tolerance) |