NoSQL(キーバリュー型)のメリット・デメリット

この記事を書いたチーム:frontier
NoSQL(キーバリュー型)のメリット・デメリット Smallit 技術ブログ

NoSQLとは 

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

OracleなどのSQLを使用したデータベース(RDBMS)と違い、SQLを使わずにDBを管理する(NoSQL)というものになっています。最近DynamoDB(AWSで提供されるNoSQLのDB管理システム)を触るようになってから感じた、RDBMSと比較したときのNoSQLのメリット・デメリットについて紹介します。 

 本記事は『キーバリュー型』のNoSQLとRDBMSの比較になります。NoSQLにはいくつかのタイプがあり、それぞれで特徴が異なりますのでご注意ください。 

 図1:RDBMSとDynamoDBのテーブルのイメージ 

メリット 

RDBMSと異なりシンプルなDBの構造をもつため、RDBMSに比べて非常に軽い動作をします。また、RDBMSと異なり、DBの規模が大きくなった際にスケールアップが容易です (DynamoDBの場合、利用用途に応じた課金体系が選択出来、スケールアップにかかる費用を抑えることが可能です。RDBMSに比べて柔軟に利用料金が変化するため、コストダウンの効果が期待できます)。 

デメリット 

RDBMSと比較して、柔軟なDBの管理が難しい点が挙げられます。RDBMSではSQLを用いてテーブル同士の結合や検索が容易に出来ますが、DynamoDBでは検索に使うことが出来るキーが決められていたりするため、RDBMSと比べてクエリの自由度は劣るものがあります。また、入れるデータの値の自由度が高い(事前にテーブルの設計を行わなくてもよい)こともあり、データの整合性などはあまり期待できないです。 

まとめ 

複雑ではあるものの多機能なRDB、とにかくシンプルなNoSQLと、双方に良いところのあるものになっています。それぞれの利点と欠点を把握し運用すれば、今よりもよいデータの管理が出来るようになるかもしれません。 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス