# NoSQL ## NoSQLとは NoSQLとは、SQL文を使用する関係型データベース(RDBMS)以外のデータベースを指す。 RDBMSが苦手とするビッグデータの取り扱いに力を発揮する。 ## NoSQLとRDBMSの違い ### CAP定理 分散型データベースの三大要件。 * **データの整合性(Consistency)**:常に同一のデータを参照する。 * **データの可用性(Availability)**:常に読み出しと書き込みができる。 * **データの分断耐性(Partition Tolerance)**:ネットワークが分断されても誤った処理結果を引き起こさない。 以上の**3要件は全て同時には満たせない。** 分散型データベースはこのうち**2要件**を満たしたものとなる。 ### NoSQL * データ形式:様々(下記参照) * データ容量:大容量データの取り扱いが可能。 * データの整合性:可用性を満たすものは満たさない。 * データの可用性:整合性を満たすものは満たさない。 * データの分断耐性:満たす。 * データの結合(JOIN):不可。 * 得意とする処理:ビッグデータ処理など。 以上から、NoSQLはネットワークの分断耐性に優れ、大容量データの取り扱いが可能な分散型データベースである。 ### RDBMS * データ形式:表形式 * データ容量:容量には限度がある。 * データの整合性:満たす。 * データの可用性:満たす。 * データの分断耐性:満たさない。 * データの結合(JOIN):可。 * 得意とする処理:トランザクション処理など。 以上から、RDBMSはデータの整合性・可用性に優れ、トランザクション処理など実用面でのメリットが大きいデータベースである。 ## NoSQLのデータモデル * キーバリュー型:キーとそれに対応する値を書き出していく方式。 * カラム指向型:あるカラム(列)をキーとし、複数のカラムを値として持つ方式。 * ドキュメント指向型:JSONやXML形式のドキュメントの形で管理する方式。異なる性質や形式のデータでも、共通点を指定すれば関係が取得できる。 * グラフ型:ノード、リレーションシップ、プロパティで、データとデータのつながりを管理する形式。 ## 参照ページ [【超入門】RDBとNoSQLの違いに着目!NoSQLに求めるものとは?](https://tech-blog.rakus.co.jp/entry/20180919/nosql/bigdata) ###### tags: `NoSQL`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up