15.同時実行制御,トランザクション, データベースの回復

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

統一メールアドレス 管理ページの使い方 ジュリナビ運営事務局. 統一メールアドレスとは 統一メールアドレス管理ページでできること 統一メールアドレス管理ページを開く(BASIC認証) 統一メールアドレスを新規発行する(1)(2) 登録者向けに一斉メールを配信する(1)(2)(3) 登録者情報をダウンロードする(1)(2)
Brabio2.0 クイックマニュアル ブラビオ株式会社. 特徴的な機能① 特徴的な機能② 特徴的な機能③.
トレーニングの際はスライド, ノートの両方を確認してください
オートデスク・コラボレーション・サービス オートデスク株式会社
4.ユーザー登録マニュアル              Version 年6月10日 国立情報学研究所.
サイボウズ デヂエ 8 新機能ご説明資料 サイボウズ株式会社.
リレーショナル・データベース データベース論 第10回.
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
SoftLayerポータルへの不正アクセス防止
ネット時代のセキュリティ2(脅威の例) 2SK 情報機器工学.
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
ORCA クライアント暗号鍵の証明書 「有効期限切れ」 のときは
コンピュータと情報 第3回 補遺 ファイルとフォルダ.
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
Windowsを理解しよう! ーメンテナンスの薦めー.
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
第5章 情報セキュリティ(前半) [近代科学社刊]
セキュリティ・チェックリスト解説 【5~10分】
RDBMSについて 2年7組  小鹿 慎太郎.
セッション管理 J2EE I 第9回 /
利用者が守るセキュリティー (パスワードについて)
サーバ構成と運用 ここから私林がサーバ構成と運用について話します.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第1回
Linux リテラシ2006 第6回 デーモン CIS RAT.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
Javaによる Webアプリケーション入門 第9回
表計算 Excel 演習 6. ルックアップ,データの入力規則.
Android端末によるロボット制御とその評価
PC/NAS/UPS/対策ツールを一括導入
コンピュータウィルス ~ウィルスへの対処編~
データベースシステム入門 8.異状,正規化による異状の防止
情報の収集と共有 第3章 3節  ネットワーク社会のルールとマナー 2 情報の安全性確保 p68~p71.
データベースシステム入門 9.従属,従属関係,第三正規形
第10回 情報セキュリティ 伊藤 高廣 計算機リテラシーM 第10回 情報セキュリティ 伊藤 高廣
オペレーティングシステム 第3回( ) デッドロックと排他制御.
表計算 Excel 演習 4.検索,条件付き書式設定,並べ替え.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
Riakデータベース on SoftLayer
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
PC/NAS/UPS/対策ツールを一括導入
appengine ja night #6 あらかわ
新たなバックアップソリューション「クローン機能」はここがスゴイ 新たなバックアップ方法「クローン機能」なら全て解決!
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
新たなバックアップソリューション「クローン機能」はここがスゴイ 新たなバックアップ方法「クローン機能」なら全て解決!
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
スマートデバイスのビジネス活用を支援する法人向けファイル共有サービス
情報通信ネットワークの 仕組み.
マイクロソフト Access を使ってみよう 第2回
データベース設計 第4回 DBMSの機能と操作方法(1) Access入門
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
情報システム1及び演習 第一回 データベースの概要.
リカバリ 東大生研 情報融合研究センタ 喜連川優.
マイクロソフト Access での SQL 演習 第2回 集計,集約
3.リレーショナルデータベース,主キー, SQL
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
コミュニケーションと ネットワークを探索する
第一回 情報セキュリティ 05A1027 後藤航太.
データベースシステム入門 10.データウエアハウス
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
リレーショナル・データベース J2EE I (データベース論) 第2回 /
RoBoCoN2000のアイデア Copyright (C) 1999 Yosai Software Institute
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
瞬低/瞬停や停電などの電源障害から“ネットワーク“を守る!
Presentation transcript:

15.同時実行制御,トランザクション, データベースの回復 データベースシステム入門 15.同時実行制御,トランザクション, データベースの回復 https://www.kunihikokaneko.com/free/dbintro/index.html

データベースが壊れる データが壊れる、消える → バックアップ 不正アクセス → パスワードなど データが壊れる、消える  → バックアップ 不正アクセス       → パスワードなど 同時に複数の人が「書き込もう」としておかしくなる               → 同時実行制御 うっかりミスで、データベース内のデータが、おかしくなって、直し ようがないこと(異状)  → データベース設計の工夫で防ぐ

15-1 同時実行制御

データベースが壊れる データが壊れる、消える → バックアップ 不正アクセス → パスワードなど データが壊れる、消える  → バックアップ 不正アクセス       → パスワードなど 同時に複数の人が「書き込もう」としておかしくなる               → 同時実行制御 うっかりミスで、データベース内のデータが、おかしくなって、直し ようがないこと(異状)  → データベース設計の工夫で防ぐ

同時実行制御のイメージ 信号が青になったら, 車によく気を付けて渡る 赤信号で止まる

同時実行制御のイメージ 道路は, ◆あるときは,歩行者が渡り ◆あるときは,車両が走る これが同時実行制御のイメージ 同時に、歩行者と車両がいるのに・・・ 歩行者と車両が衝突することはない これが同時実行制御のイメージ 赤信号で止まる

データベースシステムでの同時実行制御 データベースシステムの同時実行制御機 能を使うとき 全てのユーザは,それを無視/無効化で きない (だから安全) 信号無視は危ない

同時実行制御と鍵 ◆鍵がかかっていなければ使える. ◆使用中は鍵がかかる.他の人は使えない(=排他) 部屋の数だけ鍵がある

ロック(鍵) データベースを 使うとき

ロック(鍵) データベースシステムで は,自動で鍵がかかる (ロック) データベースを 使うとき ※ データベースを使い終わると, ※ データベースを使い終わると, 自動で鍵が外れる

ロック(鍵) 他の人は使えない 自動で鍵がかかる (ロック) データベースを 使うとき

ロック(鍵) 鍵のかかっていない データは使える データの数だけ鍵が ある. (使用中のデータに だけ鍵がかかる) データベースを 使うとき

15-1 データベースシステムの同時実行制御 データベース内のデータを使うとき,自動で鍵がか かる(ロック) データに鍵がかかっていると,他の人の使用に制限 がかかる(同時実行制御) 鍵は,データの数だけある ノートページ

ロックが無いと、何が起こるのか? Aさんは、口座Xから 1000円を引き出したい。 Bさんは、口座Xに 2000円を預けたい。これがほぼ同時に起きたとする。 もともと 10000円だったとすると Aさん Bさん 11000円になるはず

ロックが無いと、何が起こるのか? Aさんは、口座Xから 1000円を引き出したい。 Bさんは、口座Xに 2000円を預けたい。これがほぼ同時に起きたとする。 もともと 10000円だったとすると 10000 1000 引く 9000 Aさん Bさん 11000円になるはず

ロックが無いと、何が起こるのか? Aさんは、口座Xから 1000円を引き出したい。 Bさんは、口座Xに 2000円を預けたい。これがほぼ同時に起きたとする。 もともと 10000円だったとすると 10000 使用中のデータ 読み出し 10000 1000 引く 2000 足す 9000 Aさん 12000 Bさん 11000円になるはず

ロックがあれば大丈夫 Aさんは、口座Xから 1000円を引き出したい。 Bさんは、口座Xに 2000円を預けたい。これがほぼ同時に起きたとする。 もともと 10000円だったとすると 10000 1000 引く 9000 2000 足す Aさん Bさん 11000 11000円になるはず

ロックがあれば大丈夫 Aさんは、口座Xから 1000円を引き出したい。 Bさんは、口座Xに 2000円を預けたい。これがほぼ同時に起きたとする。 Bさんは、ロックが 外れるまで、強制的 に待たされる もともと 10000円だったとすると 10000 1000 引く 9000 2000 足す Aさん Bさん 11000 11000円になるはず

データベースシステムの鍵(ロック)は データベースシステムのロックは2種類ある 共有ロック ・・・ データ1つに対して,何本でも 排他ロック ・・・ データ1つに対して,1本だけ データの 共有用 データの 独占用 共有ロックがかかっているときは,重ねて排他ロックできない. 排他ロックがかかっているときは,重ねて共有ロックできないし,排他ロックもできない

15-2 トランザクション

間違ってしまったときは ワープロの場合は 新規作成する (データをすべて捨てる) 元に戻す

データベースの操作を間違ってしまったときは ◆ まさか、データベースを新規作成しなおす わけにはいかない ◆ データベース操作を間違ってしまったとき は、元に戻す 元に戻すこと = ロールバック (rollback)

作業開始 ・・・ begin transaction 「begin transaction」は、 データベースの変更の作業開始を、 作業開始 ・・・ 「begin transaction」は、 データベースの変更の作業開始を、 データベースシステムに伝えるコマンド ※ いままでの授業の SQL は、データベース   の変更をしないので「begin transaction」なし begin transaction

作業中 ・・・ begin transaction 操作1 操作2 操作3

作業中 ・・・ begin transaction ← 作業のスタート 操作1 操作2 操作3 作業のやりかけ

ロールバック (rollback) のイメージ 操作1、操作2、操作3 と操作していて、 最初に戻したくなったら・・・ begin transaction 操作1 操作2 操作3 rollback rollback コマンド

ロールバック (rollback) ロールバック (rollback) は、begin transaction コマンド以降、自分が行ったデータベース操 作をなかったことにする ノートページ

システムのダウン こういうことが起こるのを防げない → データベースを守るのは、トランザクション機能 コンピュータそのものの停止 停電 オペレーティングシステムの異状 機器(コンピュータ本体など)の故障 データベース管理システム(ソフトウエア)の予期せぬ停止 こういうことが起こるのを防げない → データベースを守るのは、トランザクション機能

× × × トランザクション データベース管理システムの責任で, すべての操作を取り消す ← 作業のスタート 作業のやりかけ もしここで, begin transaction ← 作業のスタート × 操作1 × 操作2 × 操作3 作業のやりかけ もしここで, システムがダウンしたら

トランザクション機能 (資格試験を狙っている人は、特に要チェック) A: 作業途中の結果をそのまま残さない ※ システムのダウン時には自動でもと (transaction start 時点 のデータベース)に戻す C: データベースの異状を防ぐ仕組みがある I: データベースを複数人が同時使用でき,データベースシステムの 側で適切に同時実行制御などを行う D: 作業が完了したら,そのデータは残る (データベース管理システムが勝手に消すことはない)

15-3 データベースの回復

データベースが壊れる データが壊れる、消える → バックアップ 不正アクセス → パスワードなど データが壊れる、消える  → バックアップ 不正アクセス       → パスワードなど 同時に複数の人が「書き込もう」としておかしくなる               → 同時実行制御 うっかりミスで、データベース内のデータが、おかしくなって、直し ようがないこと(異状)  → データベース設計の工夫で防ぐ

コピー&ペーストで バックアップ!? データベースファイル いえいえ、それではうまく行きません データベースシステムは、他の人が使用中かもしれません   データベースシステムを止めずにバックアップしたい!   という問題があります

作業中 ・・・ ← 作業のスタート 作業のやりかけ 作業中のものが ファイルに混ざる 可能性 begin transaction 操作1 作業中 ・・・ begin transaction ← 作業のスタート 操作1 操作2 操作3 作業のやりかけ 作業中のものが ファイルに混ざる 可能性

データベースのバックアップは 単なる「データベースファイルのコピー&ペースト」ではうまくいき ません. 「作業のやりかけ」を除いてバックアップする必要があります データベース管理システムが備えるバックアップコマンドで、バック アップしてください マイクロソフト Access の場合 [管理] をクリック,[このデータベースの管理] の [データベースのバッ クアップ] 

15-4 データベースとセキュリティ

データベースとセキュリティ ◆ 情報漏えいを防ぐ機能 権限の無い人は,データベースを扱えない機能 ◆ 情報の消失/破損を防ぐ機能 システムがダウン(停電,予期せぬ停止)したときも,データが破損 しない機能