仕組みを「見える化」してみた
アナハイムテクノロジー
はやしつとむ
2009/2/19
PageType=8:Blobデータページ(Blob Page)
PageType=8は、Blobデータページです。小さなBlobはデータページに格納されますが、データページに収まらない大きなBlobは、一連のBlobページに格納されます。
Blobデータページのヘッダの追加情報としては、このBlobが格納されている最初のページ番号、このBlobが格納されているBlobページのリスト中でこのページが何番目かを示すシーケンス、このページ上に格納されているデータのbyte数、その次はBlobをロングワード境界で開始する(その方が効率良く処理できる)ためのワードのPAD(つまり穴埋め)、となります。
Blobデータページの残りは、単一のBlobのためのデータとなります。
●BlobデータページPageType=9:ジェネレータページ(Generator Page)
PageType=9はジェネレータページです。
ジェネレータページのヘッダには追加の情報は特にありませんが、いくつかの「ゴミ」が残っています。というのも、もともとジェネレータページはポインタページを流用していて、独自のタイプを持っていなかったのです。それがジェネレータが32bitから64bitに拡張されたときに、別のタイプを作らなくてはいけなくなったものの、ヘッダサイズを変更してしまうと古いデータベースとの非互換性が生じてしまうため、そのままになってしまったというわけです。
いつか直さなくてはいけないということになっていますが、取りあえずシーケンス番号だけは追加されています。
ジェネレータページには、64bitの整数の配列が格納されていて、各要素は各ジェネレータの現在の値を保持しています。
●ジェネレータページ最後に
以上、Firebirdのデータベースファイルの内部構造について、詳しく見てきました。データベースの管理上必要なもの、パフォーマンスを上げるために必要なもの、いろいろな要素がここから見えてくるかと思います。また、時々発生する「データベースファイルが壊れた!」というようなアクシデントの際にも、どこで何が起きているのかが分かると問題の把握に役立つかもしれません。
4/4 |
Index | |
仕組みを「見える化」してみた | |
Page 1 ・はじめに VisualODSの使い方 ISQLでサンプルデータベースを作成 |
|
Page 2 PageType=2:ページインベントリページ(Page Inventory Page) PageType=3:トランザクションインベントリページ(Transaction Inventory Page) |
|
Page 3 PageType=4:ポインタページ(Pointer Page) PageType=5:データページ(Data Page) PageType=6:インデックスルートページ(Index Root Page) PageType=7:インデックスページ(Index<B-tree> Page) |
|
Page 4 PageType=8:Blobデータページ(Blob Page) PageType=9:ジェネレータページ(Generator Page) ・最後に |
Yet another OSS DB:Firebird |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|