Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースの世界 SQL vs NoSQL
Search
MIKIO KUBO
July 10, 2025
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースの世界 SQL vs NoSQL
データベースの世界
## SQL vs NoSQL
### あなたのデータに最適なのはどっち?
MIKIO KUBO
July 10, 2025
More Decks by MIKIO KUBO
See All by MIKIO KUBO
人工知能の歴史: チューリングからエージェントスキルに至る道程}
mickey_kubo
0
80
AlgorithAlgorihms for Decision Making
mickey_kubo
0
100
エージェントスキル:自律型AIが変える最適化とサプライチェーンの未来
mickey_kubo
0
170
エージェントスキルによる最適化
mickey_kubo
2
200
Agent Skills 完全ガイド
mickey_kubo
0
170
Skill Creatorの技術設計と動作原理
mickey_kubo
0
130
AI+SCM
mickey_kubo
0
90
エージェンティック・サプライチェーン」の概念と、製造業におけるその革新的な役割について解説
mickey_kubo
0
98
MOAI Solutionの紹介 -電力最適化を中心として-
mickey_kubo
0
110
Other Decks in Programming
See All in Programming
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
900
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1.9k
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
200
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
540
FDEが実現するAI駆動経営の現在地
gonta
2
200
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
650
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
240
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Site-Speed That Sticks
csswizardry
13
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
310
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Building AI with AI
inesmontani
PRO
1
1.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
420
Transcript
データベースの世界 SQL vs NoSQL あなたのデータに最適なのはどっち? 1
データベースってそもそも何? データベースとは、データを効率的に保存・検索・管理するために整理された「データの集まり」 です。 そして、そのデータベースを管理するためのソフトウェアが**データベース管理システム (DBMS)**です。 なぜDBMS が重要? データの 一貫性や 安全性を守ってくれます。
複数人での同時アクセスをうまくさばいてくれます。 開発者は面倒なファイル管理から解放され、アプリケーションのビジネスロジックに集中 できます。 2
データベースの設計図:「スキーマ」 スキーマとは、データベースの「論理的な構造」を定義した設計図です。 テーブル/ コレクション: データの主な入れ物。 列/ フィールド: データの属性(名前、年齢など)。 制約 (
ルール): PRIMARY KEY (重複禁止のID), NOT NULL (空欄禁止)など、データの品質を保つた めのルール。 SQLデータベースでは、このスキーマを 厳格に守らせます。 これにより、アプリケーション側のコードがシンプルになり、不正なデータが入るのを防ぎます。 3
パラダイム① リレーショナルデータベース (SQL) 4
SQL の世界観:整理整頓された「表」 リレーショナルデータベースは、データをExcelのシートのような**テーブル(表)**で管理しま す。 行 ( レコード): 個々のデータ(例: ある一人の顧客情報)。 列
( カラム): データの属性(例: 顧客ID , 名前 , メールアドレス )。 キー (Key): 主キー: 各行をユニークに識別する「ゼッケン番号」。 外部キー: 他のテーブルの主キーを参照し、テーブル同士を「関連付ける」ためのもの。 この「関連付け」がリレーショナルデータベースの心臓部です。 5
SQL の強み:データの整合性を守る「ACID 特性」 リレーショナルデータベースは、金融取引のような「絶対に失敗が許されない」処理のために、 ACIDという4つの特性を保証します。 Atomicity (原子性): トランザクションは「全部成功」か「全部失敗」のどちらか。中途半端な状 態にしない。 Consistency
(一貫性): データは常にルール(制約)に従った正しい状態を保つ。 Isolation (独立性): 複数の処理が同時に動いても、お互いに干渉しない。 Durability (永続性): 一度成功した処理の結果は、システム障害が起きても失われない。 → 信頼性が求められるシステムに不可欠! 6
SQL の代表選手たち データベー ス 特徴 最適な用途 MySQL 最も広く使われているオープンソース。 Webアプリのバックエンドに強く、パフォ ーマンスと信頼性に定評がある。
Webアプリケーション、オンライン 取引処理(OLTP)、SaaS PostgreSQL 高機能で拡張性が高い。厳格なSQL標準準 拠と高度なデータ分析機能が特徴。 データ分析、地理空間情報システ ム、高い信頼性が求められるエンタ ープライズシステム SQLite サーバー不要の軽量な組み込み型データベ ース。ファイル1つで完結し、設定も不 要。 モバイルアプリ、ブラウザ、小規模 アプリ、プロトタイピング 7
パラダイム② 非リレーショナルデータベース (NoSQL) 8
NoSQL の登場背景:現代のデータ課題 SQLは強力ですが、現代のWebスケールアプリケーションでは限界に直面することがあります。 スキーマの厳格さ: 事前に決めた構造の変更が大変。アジャイル開発のスピードを妨げること も。 スケールの限界: 1台のサーバー性能を上げる「スケールアップ」には物理的・コスト的な限界 がある。 多様なデータ:
JSONのような構造が固定でないデータを扱うのが苦手。 →これらの課題を解決するために**NoSQL (Not Only SQL)**が生まれました。 9
NoSQL の世界観:柔軟性と拡張性 NoSQLデータベースは、SQLとは異なるアプローチを取ります。 柔軟なスキーマ: スキーマレス、または動的なスキーマを持ちます。同じコレクション内でもデ ータ構造が違うことが許容されます。 水平スケーラビリティ ( スケールアウト): サーバーの台数を増やすことで、性能をリニアに向上
させることができます。ビッグデータに最適です。 多様なデータモデル: 用途に合わせて最適なデータモデルを選べます。 結果整合性: 多くのNoSQLは「最終的にデータは一致する」という考え方(結果整合性)を採用 し、可用性や分散処理能力を優先します。 10
NoSQL の様々なタイプ:「適材適所」で選ぶ タイプ データモデル 代表例 最適なユースケース ドキュメ ント JSON/BSON形式の柔軟なド キュメント
MongoDB, Firebase コンテンツ管理、ユーザープロフ ァイル、変化の激しいデータ キーバリ ュー シンプルなキーと値のペア Redis, DynamoDB キャッシュ、セッション管理、リ アルタイムリーダーボード カラムフ ァミリー 行と列で構成されるが、列 は行ごとに可変 Cassandra, HBase IoTデータ、時系列データ、大規模 な分析クエリ グラフ ノード(点)とエッジ(線)で関 係性を表現 Neo4j, Neptune ソーシャルネットワーク、不正検 知、レコメンドエンジン 11
SQL vs NoSQL: どちらを選ぶ? 究極の問いですが、答えは**「アプリケーションの要件による」**です。 12
SQL が輝くとき データの整合性と信頼性が最優先される場合 金融システム、在庫管理、予約システムなど。 データ構造が明確で、変更が少ない場合。 複雑なクエリやデータ間の関連付けが頻繁に必要な場合。 キーワード: 構造化データ, 一貫性, 信頼性,
トランザクション 13
NoSQL が輝くとき 膨大なデータ量と高いスループットが求められる場合(ビッグデータ)。 スキーマが頻繁に変わる、または未定義の場合。 高い可用性と高速な読み書きが必要な場合。 水平方向のスケーラビリティが不可欠な場合。 キーワード: 非構造化データ, スケーラビリティ, 柔軟性,
パフォーマンス 14
まとめ SQLとNoSQLは敵対するものではなく、それぞれに得意な領域がある 補完的な関係です。 SQL: データの 整合性と 信頼性を保証する、伝統的で堅牢な選択肢。 NoSQL: 柔軟性と スケーラビリティを武器に、現代の多様なデータ課題に対応する革新的な選択
肢。 アプリケーションの目的、データの性質、将来の成長を見据えて、最適なデータベースを選択する ことが、成功するシステム開発の鍵となります。 15