![見出し画像](https://assets.st-note.com/production/uploads/images/121888220/rectangle_large_type_2_c132908989c3bb73b734e1298346bf92.png?width=1200)
SQLとNoSQLの違い
そもそも比べるものではない。というのが結論です。
SQLはRDBMSを操作するための言語。
NoSQLはSQL言語以外でもデータベースの扱いを可能にしたデータ構造
なのでまずはデータベースの4種類を紹介して、
RDBMSとNoSQLの違いを話そうと思います。
データベースの種類
データベースとは検索や追加ができるようにデータを整備したもの
リレーショナル型データベース
階層型データベース
ネットワーク型データベース
key-value型データベース
リレーショナル型データベース
![](https://assets.st-note.com/img/1698032860527-0Nmg7q9E3L.png)
行と列からなる「表」でデータを保管するデータベース
行がデータで、列で関連度が高いものが追加されていく
リレーショナルデーベースを管理する製品=RDBMSという
RDMBSの代表例
MySQL
PostgreSQL
OracleDatabase
SQLsever
RDMBSはSQLと呼ばれる言語を使用してデータの登録/検索/更新/削除を行うことが可能。
階層型データベース
1本の幹から複数の枝に分かれながら作っていく
親データと子データは1対多数
ネットワーク型データベース
親データと子データは多数対多数
key-value型データベース
![](https://assets.st-note.com/img/1698032722419-nCjokief8K.png)
key:データを識別
valueデータ
これを一つの組にして保管
key-value型データベース=NoSQL
Not only SQLの略で、SQLを使わなくてもデータベースを使える
製品例:Redis,Riak,Hibari
リレーショナル型とkey-value型の違い
![](https://assets.st-note.com/img/1698032468301-oloyyHjyrW.png)
RDBMS:
決済サービス等が絡む処理、ECサイトの決済と配送の処理等。
製品例:MySQL、Oracle DB
NoSQLの例:
Googleアナリティクス等の大量のデータを整合性は二の次にして処理を行いたいとき
製品例:MongoDB