直列化可能性の解説(応用情報技術者シラバス用語)
直列化可能性とは直列化可能性(シリアライザビリティ)とは、データベースにおいて複数の処理(トランザクション)が同時に(並行して)実行された結果が、それらを1つずつ順番に(直列に)実行した場合と同じ結果になることを保証する性質です。データベースの処理速度を上げるために、システムは複数のユーザーからのリクエストを同時に並行処理します。しかし、同じデータに対して同時に書き込みや読み込みを行うと、データの...
Django、Python、AWS、Linux、セキュリティ、CVE、基本情報技術者、応用情報技術者、ITパスポートの用語を、図解と実務手順で解説します。個人開発kurutann.comの検証記録や障害対応事例も公開しています。
タグ「トランザクション処理」の記事を表示中× クリア
直列化可能性とは直列化可能性(シリアライザビリティ)とは、データベースにおいて複数の処理(トランザクション)が同時に(並行して)実行された結果が、それらを1つずつ順番に(直列に)実行した場合と同じ結果になることを保証する性質です。データベースの処理速度を上げるために、システムは複数のユーザーからのリクエストを同時に並行処理します。しかし、同じデータに対して同時に書き込みや読み込みを行うと、データの...
2相コミットとは2相コミット(2フェーズコミット)とは、複数のサーバーに分散しているデータベース群において、データの更新処理(トランザクション)を行う際、すべてのデータベースで一斉に更新を確定(コミット)させるか、あるいは一斉に取り消す(ロールバック)かを厳密に揃えるためのプロトコル(ルール)です。システムがいくつかのサーバーに分かれている場合、一部のサーバーだけ更新に成功し、別のサーバーが通信エ...
デッドロック検出とはデッドロック検出とは、データベースなどで複数の処理がお互いに相手が使っているデータの解放を待ち合ってしまい、処理が完全に停止(フリーズ)してしまう「デッドロック」という状態を、システムが自動的に見つけ出す仕組みのことです。データを書き換える際、他の処理に邪魔されないようにデータに鍵をかける「ロック」を行います。2つの処理がそれぞれ異なるデータにロックをかけた後、お互いにもう一方...
トランザクションとはトランザクションとは、データベースにおいて、関連し合う複数の処理(追加、更新、削除など)を1つのまとまった『不可分の処理単位』として扱う仕組みです。「すべてが完全に成功する(コミット)」か、「途中で1つでも失敗したらすべてを実行前の状態に戻す(ロールバック)」という「All or Nothing(全か無か)」の考え方に基づいています。これにより、システムの処理中にエラーが発生し...
ACID特性とはACID特性とは、データベースにおけるトランザクション処理が満たすべき、システムの信頼性を保証する4つの重要な性質の頭文字をとったものです。それぞれの意味は、処理が全か無かの「原子性(Atomicity)」、ルール通りのデータ状態を保つ「一貫性(Consistency)」、他の処理と混ざって邪魔し合わない「独立性(Isolation)」、完了した処理が障害でも消えない「耐久性(Du...
コミットとはコミットとは、データベースのトランザクション処理において、行ってきた一連のデータ操作(追加や更新など)がすべて正常に完了したため、その変更をデータベースに「最終確定」させ、永続的に保存する命令です。コミットが実行されると、他のユーザーからもその変更内容が見えるようになります。反対に、処理中にエラーが発生して実行前の状態に戻す操作は「ロールバック」と呼ばれ、コミットとペアでデータの正確性...
排他制御(DB)とは排他制御とは、データベースにおいて複数のユーザーが同時に同じデータを書き換えようとしたときに、データの矛盾や破壊を防ぐための仕組みです。もし同時に複数の書き込みが行われると、後から書き込まれたデータで上書きされ、先に書き込んだ内容が消えてしまう「更新消失」などの問題が発生します。これを防ぎ、データの整合性を担保するために、ある処理がデータを編集している間は、他の処理がそのデータ...
障害回復とは障害回復とは、データベース管理システム(DBMS)において、システム障害や停電などによってデータが破損したり、処理が途中で中断したりした際に、データを障害直前の正しい状態に戻す仕組みのことです。データベースは常に多くのデータを更新しているため、突然のトラブルによってデータに矛盾が生じることがあります。これを防ぐために、あらかじめ「ログ(履歴)」を記録しておき、それを使ってデータを復旧し...