348 文字
2 分
SQLとNoSQLの違い
2024-04-02
SQLNoSQL
データ形式構造化データ非構造化データ/半構造化データ
データベースの種類リレーショナルデータベースキーバリューストア、ドキュメントストア、グラフデータベースなど
データ操作言語SQL独自言語
トランザクション処理適している適していない場合が多い
スケーラビリティ比較的低い高い
顧客情報、商品情報などSNSの投稿、IoTデバイスのデータなど
言語MySQL,PostgreSQL,Oracle Database,Microsoft SQL Serverキーバリューストア,Memcached
ドキュメントストア: MongoDB, Elasticsearch
グラフデータベース: Neo4j, Apache TinkerPop

用語解説#

DBにおける構造化データと非構造化データの違い

キーバリューストア、ドキュメントストア、グラフデータベース

スケーラビリティ#

SQLのスケーラビリティ#

  • 垂直方向: サーバーのCPU、メモリ、ストレージを増強することでスケールアップできる
  • 水平方向: シャーディングと呼ばれる技術を用いて、複数のサーバーにデータを分散させることでスケールアウトできる

SQLのスケーラビリティの課題#

  • シャーディングは複雑な技術であり、運用が難しい
  • データの整合性を保つ必要がある

NoSQLのスケーラビリティ#

  • 水平方向: 多くのNoSQLデータベースは、シャーディングのような技術を用いて、複数のサーバーにデータを分散させることで簡単にスケールアウトできる

NoSQLのスケーラビリティの利点#

  • SQLよりも簡単にスケールアウトできる
  • データの整合性を保つ必要がない場合が多い

NoSQLのスケーラビリティの課題#

  • SQLよりも機能が少ない場合が多い
  • データの整合性を保つ必要がある場合、複雑な処理が必要になる

シャーディングとは

トランザクション処理#

DBにおけるトランザクション処理とは?