SlideShare a Scribd company logo
データベース入門入門データベース入門入門
奥野 幹也
@nippondanji
mikiya (dot) okuno (at) gmail (dot) com
@qpstudy 2013.07
ゼロからデータベースをはじめるあなたに。
免責事項
● 本プレゼンテーションにおいて示されている見解は、私自身
の見解であって、オラクル・コーポレーションの見解を必ず
しも反映したものではありません。ご了承ください。
自己紹介
● MySQL サポートエンジニア
– 2000 年にサン・マイクロシステムズ入社
● 主にハードウェアのサポートを担当
– 2007 年に MySQL KK へ転職
● 気付くとまたサン・マイクロシステムズに・・・
– 現在は日本オラクルに在席。
– サポート一筋 13 年
● 日々のしごと
– MySQL トラブルシューティング全般
– Q&A 回答
など
自己紹介(つづき)
● ライフワーク
– 自由なソフトウェアの普及
● オープンソースではない
– GNU 大好き
● リチャード・ストールマン氏の教えに従って最近脱
Ubuntu しました。
– KDE 大好き
● ブログ
– 漢のコンピュータ道
– http://nippondanji.blogspot.com/
データベースの意義
データベースの必要性
● 大量のデータを安全かつ高速に処理する
– 必要なデータを検索する
– データを保全する
– 素早い応答を得る
● アプリケーションからデータを扱う処理の実装を排除するこ
とができる。
– 車輪の再発明の回避
– アプリケーションのロジックに集中
– 開発効率の向上 すごく
便利です。
インデックス
インデックスは便利!
● 必要なデータだけをピンポイントでゲット!
– B+ 木なら探索の計算オーダーは最悪でも O(logbn)
– キャッシュにページが乗ってれば更に高速
● 範囲検索でも使える
● ソートでも使える
● 多種多様なインデックス
– B+ 木
– ハッシュ
– 全文検索
– 空間インデックス
大量のデータでも
どんと来い!
トランザクション
トランザクションの至上命題
同時実行
制御
リカバリ
ACID
Atomicity
Isolation
Consistency
Durability
Atomicity (原始性)
● すべての操作は成功または失敗
– Commit
– Abort
● アプリケーションは中途半端な状態について考慮する必要
がない
– エラー処理は単にトランザクションをやり直すだけ
– リトライは必要
Consistency (一貫性)
● トランザクションの前後でデータベースの整合性が保たれ
ている。
● ある整合性のとれた状態 A においてトランザクションを実
行すると、別の整合性のとれた状態 A’ へと遷移する。
● 何をもって整合性がとれているとするかはアプリケーション
次第
A
Trx
A’
Consistent!Consistent! Consistent!
Isolation (独立性)
● あるトランザクションが他の実行中のトランザクションの実
行過程へ影響を及ぼさないこと。
● 同時実行制御の課題。
● 分離レベル
– Read Uncommitted
– Read Committed
– Repeatable Read
– Serializable
Durability (永続性)
● 一度 Commit が成功すれば変更は失われない
● リカバリの話。
トランザクションは便利!
● アプリケーションの開発がとても楽に。
– データへの排他処理から開放される
– クラッシュしてもデータの整合性を気にする必要がない
● Commit/Abort のいずれかの状態
– 中途半端な状態について考える必要がない
● 成功してなければリトライ
全部自分で実装しますか?
インデックスや
トランザクションだけで
満足してませんか?
単なる
データの入れ物として
使っていませんか?
残された課題
データモデル
RDBMS 以前
● 利用されていたデータモデル
– 階層型
– ネットワーク型
● トランザクションやインデックスは利用可能
● クエリの記述が大変
– データの構造に依存したプログラム
優れたデータモデルが必要!
● データベース設計超重要
– クエリとデータベース設計はセットで考える
● ⇒クエリ 演算
● ⇒データベース データ
– オブジェクト指向のオブジェクトとメソッドのような関係
● クラスの設計超重要
「データベース=単なる入れ物」
からの脱却
RDBMS 登場!!
後半へつづく。
Q&A!!
ご静聴ありがとうございました。

More Related Content

PDF
RDBにおけるバリデーションをリレーショナルモデルから考える
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
PDF
MySQLアーキテクチャ図解講座
PDF
Database smells
PDF
リレーショナルデータベースとの上手な付き合い方
PDF
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
PDF
人類は如何にして大切な データベースを守るべきか
RDBにおけるバリデーションをリレーショナルモデルから考える
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
MySQLアーキテクチャ図解講座
Database smells
リレーショナルデータベースとの上手な付き合い方
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
人類は如何にして大切な データベースを守るべきか

What's hot (20)

PDF
とあるギークのキーボード遍歴
PDF
リレーショナルデータベースとの上手な付き合い方 long version
PDF
なぜ、いまリレーショナルモデルなのか
PDF
あなたが知らない リレーショナルモデル
ODP
リーダブルパスワード - SQLアンチパターンより抜粋 -
PDF
What's New in MySQL 5.7 InnoDB
PDF
What's New in MySQL 5.7 Replication
PDF
MySQLトラブル解析入門
PDF
No sql with mysql cluster (MyNA・JPUG合同DB勉強会)
PDF
SQL+NoSQL!? それならMySQL Clusterでしょ。
PPTX
Sql world を支える技術
PDF
Tritonn (MySQL5.0.87+Senna)からの mroonga (MySQL5.6) 移行体験記
PPTX
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
PDF
MySQL Workbench をモデリングツールとして使ってみた
PDF
MySQL Workbench 6.1 の紹介
PDF
MySQL最新動向と便利ツールMySQL Workbench
PDF
ActiveRecord::Enumのススメ
PDF
MySQLテーブル設計入門
PDF
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
PDF
便利なHerokuと active recordの 速度改善tips
とあるギークのキーボード遍歴
リレーショナルデータベースとの上手な付き合い方 long version
なぜ、いまリレーショナルモデルなのか
あなたが知らない リレーショナルモデル
リーダブルパスワード - SQLアンチパターンより抜粋 -
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 Replication
MySQLトラブル解析入門
No sql with mysql cluster (MyNA・JPUG合同DB勉強会)
SQL+NoSQL!? それならMySQL Clusterでしょ。
Sql world を支える技術
Tritonn (MySQL5.0.87+Senna)からの mroonga (MySQL5.6) 移行体験記
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
MySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench 6.1 の紹介
MySQL最新動向と便利ツールMySQL Workbench
ActiveRecord::Enumのススメ
MySQLテーブル設計入門
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
便利なHerokuと active recordの 速度改善tips
Ad

Viewers also liked (6)

PDF
Rdbms qpstudy-okuno
PDF
MySQL日本語利用徹底入門
PDF
Mysql toranomaki
PDF
リレーショナルな正しいデータベース設計
PDF
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
PDF
データベース設計徹底指南
Rdbms qpstudy-okuno
MySQL日本語利用徹底入門
Mysql toranomaki
リレーショナルな正しいデータベース設計
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
データベース設計徹底指南
Ad

Similar to Database qpstudy-okuno (20)

PDF
超小規模環境のMySQL #mysqlcasual
PPTX
Sql server これだけはやっておこう 最終版
PPTX
Viewを使って開発を楽にする話
PDF
MySQLとオープンソースビジネスの10年、そして未来へ
PDF
PDF
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
PDF
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
PPTX
Analytics Environment
PPTX
Azure MLやってみよう
PPTX
SQL Server のロック概要
PPTX
いまいまMySQL@OSC2016福岡
PPTX
ハゲた天使が恋のキューピッドになった物語
PDF
My sql security (暗号化)
PPTX
SQL Server replication overview (JP)
PDF
OSC2013.Cloud@Osaka
PPTX
Osc spring 20220311
PDF
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
PDF
プレゼン初心者にありがちなアンチパターン
PDF
20121019-jenkins-akiko_pusu.pdf
PPTX
初心者による初心者のためのMySQLクエリチューニング
超小規模環境のMySQL #mysqlcasual
Sql server これだけはやっておこう 最終版
Viewを使って開発を楽にする話
MySQLとオープンソースビジネスの10年、そして未来へ
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
Analytics Environment
Azure MLやってみよう
SQL Server のロック概要
いまいまMySQL@OSC2016福岡
ハゲた天使が恋のキューピッドになった物語
My sql security (暗号化)
SQL Server replication overview (JP)
OSC2013.Cloud@Osaka
Osc spring 20220311
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
プレゼン初心者にありがちなアンチパターン
20121019-jenkins-akiko_pusu.pdf
初心者による初心者のためのMySQLクエリチューニング

More from Mikiya Okuno (8)

PDF
サポート一筋24+年のエンジニア、サポートのイロハは E4500に教わった。 Sun Microsystems 勉強会〜1994年頃から2000年頃の思い...
PDF
MySQL Cluster 新機能解説 7.5 and beyond
PDF
MySQL 5.7 トラブルシューティング 性能解析入門編
PDF
What's New in MySQL 5.7 Security
PDF
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
ODP
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
PDF
MySQL 5.6新機能解説@dbtechshowcase2012
ODP
Performance Schema @ MySQL Casual #2
サポート一筋24+年のエンジニア、サポートのイロハは E4500に教わった。 Sun Microsystems 勉強会〜1994年頃から2000年頃の思い...
MySQL Cluster 新機能解説 7.5 and beyond
MySQL 5.7 トラブルシューティング 性能解析入門編
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQL 5.6新機能解説@dbtechshowcase2012
Performance Schema @ MySQL Casual #2

Database qpstudy-okuno