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
知っててうれしいデータベースについて
Search
greendrop
December 12, 2024
Technology
0
200
知っててうれしいデータベースについて
greendrop
December 12, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
GitHub Actions の設定を少しよくする
greendrop
0
3
リンクからモバイルアプリを起動する技術
greendrop
0
1
知っててうれしい SQL について
greendrop
0
180
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
1
190
知っててうれしいリレーショナルデータベースについて
greendrop
0
160
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
0
150
知っててうれしい HTTP について
greendrop
0
210
知っててうれしい HTTP キャッシュについて
greendrop
0
210
知っててうれしい HTTP Cookie について
greendrop
0
190
Other Decks in Technology
See All in Technology
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
1
640
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
550
セマンティックレイヤー入門
ikkimiyazaki
3
260
ドメインイベントを活用したPHPコードのリファクタリング
kajitack
1
620
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
0
280
Kubernetesを手元で学ぼう! 初心者向けローカル環境のススメ
nayaaaa
PRO
2
820
사이드 프로젝트를 20번 실패한 주니어의 오답노트 훔쳐보기(feat. KMP)
yjyoon
0
560
実践的なバグバウンティ入門 (2025年版)
scgajge12
4
910
AIが変えるソフトウェア開発__未来のアジャイルチームとは__.pdf
buchirei
0
310
AIは脅威でなくチャンス。 AIと共に進化するエンジニアの成長戦略 / geeksai-2025-spring
carta_engineering
0
440
単一の深層学習モデルによる不確実性の定量化の紹介 ~その予測結果正しいですか?~
ftakahashi
PRO
3
470
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
7
1.2k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A designer walks into a library…
pauljervisheath
205
24k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Thoughts on Productivity
jonyablonski
69
4.5k
Code Reviewing Like a Champion
maltzj
521
39k
A Tale of Four Properties
chriscoyier
158
23k
Transcript
知っててうれしい データベースについて 2024/12/07 1
目次 データベースとは データベースの種類 データベースの基本概念 データベースの選択例 まとめ 2
データベースとは データベースとは、データを効率的に保存・管理・検索する仕組みで す。 EC サイトの商品情報やユーザー情報、SNS の投稿データなど、様々 なデータの保存ができます。 データベースとは 3
データベースの種類 リレーショナルデータベース (RDB) NoSQL NewSQL など。 データベースの種類 4
リレーショナルデータベース (RDB) テーブルという表形式でデータを保存 SQL という言語でデータの操作 複数のテーブルを結合してデータを取得することが可能 トランザクション処理が可能 MySQL, PostgreSQL, Oracle
Database, SQL Server など データベースの種類 - リレーショナルデータベース (RDB) 5
NoSQL テーブルではなく、ドキュメントやキー・バリュー形式でデータを 保存 SQL ではなく、専用のクエリ言語でデータの操作 データの構造が柔軟 スケーラビリティが高い MongoDB, Cassandra, Redis,
DynamoDB など データベースの種類 - NoSQL 6
NewSQL RDB のトランザクション処理を高速化 分散データベースの機能を持つ シャーディングやレプリケーションをサポート Google Spanner, CockroachDB, TiDB など
データベースの種類 - NewSQL 7
データベースの基本概念 ACID 特性 CAP 定理 BASE 特性 データベースの基本概念 8
ACID 特性 トランザクション処理における 4 つの特性。 Atomicity ( 原子性) すべての操作が完全に成功するか、失敗するかのどちらか Consistency
( 一貫性) トランザクション前後でデータの整合性が保たれる Isolation ( 独立性) 複数のトランザクションが、互いに影響を与えない Durability ( 永続性) トランザクションが完了すると、データは永続的に保存される データベースの基本概念 - ACID 特性 9
CAP 定理 分散システム間の情報複製に関する定理。 3 つの保証のうち、2 つまでしか達成できない。 Consistency ( 一貫性) すべてのノードが同じデータを見る
Availability ( 可用性) すべてのリクエストに対して成功または失敗の応答を返す Partition tolerance ( 分断耐性) ネットワークの障害が発生してもシステム全体が動作する データベースの基本概念 - CAP 定理 10
BASE 特性 分散システム・データベースにおける 3 つの特性。 Basically Available ( 基本的に利用可能) 常に利用可能である
Soft state ( 状態がソフト) 一貫性が破られることもある Eventually consistent ( 最終的に一貫性が保たれる) 最終的には一貫性が保たれる データベースの基本概念 - BASE 特性 11
ACID 特性, BASE 特性, CAP 定理の関係 ACID 特性と CAP 定理の関係
ACID 特性は、CAP 定理の C ( 一貫性), A ( 可用性) を重視 BASE 特性と CAP 定理の関係 BASE 特性は、CAP 定理の A ( 可用性), P ( 分断耐性) を重視 データベースの基本概念 - ACID 特性, BASE 特性, CAP 定理の関係 12
基本概念でのデータベース種類の比較 ACID 特性 BASE 特性 C 一貫性 A 可用性 P
分断耐性 RDB ◯ - ◯ ◯ - NoSQL - ◯ - ◯ ◯ NewSQL ◯ ◯ ◯ △ ◯ データベースの基本概念 - 基本概念でのデータベース種類の比較 13
データベースの選択例 リレーショナルデータベース (RDB) 一貫性が重要なシステム 在庫管理システム、会計システムなど NoSQL 可用性や分断耐性が重要なシステム SNS 、ブログ、キャッシュなど NewSQL
トランザクションや地域をまたいだデータ処理が必要なシステム オンラインゲーム、オンライン決済など データベースの選択例 14
まとめ データベースは、データの保存・管理・検索を効率的に行うための 仕組み RDB 、NoSQL 、NewSQL などの種類がある ACID 特性、BASE 特性、CAP
定理を理解することで、データベー スの選択がしやすくなる まとめ 15
ご清聴ありがとうございました。 16