Actian Zen(PSQL) のファイル形式や互換性について
今回のブログ記事では「ファイル形式」や「互換性」について説明します。
ファイルについては【Actian Zen v14 のファイル形式毎の違い】という技術資料を弊社 HPで公開しておりますが、皆さんがこの資料をより理解しやすくなるよう、このブログ記事で補足をしていきます。
技術資料【Actian Zen v14 のファイル形式毎の違い】
▼ https://www.agtech.co.jp/products/actian/psql/pdf/Actian_Zen_FileFormat_v14.pdf
※以降上記 技術資料「Actian Zen v14 のファイル形式毎の違い」 を 「資料」 と記述しています。
各ファイル形式の説明(資料3~4ページ)
こちらはファイル形式毎に追加された機能や特徴が書かれています。また、そのファイル形式が追加された時のActian Zen(PSQL)のバージョンを確認できます。
ファイル形式の表について(資料5ページ)
表の各項目について簡単に説明します。
・ファイル形式(列名に記載のファイルバージョン)
バージョン 5 ~ 13.0 まであり、数値が大きいほど機能や最大サイズなどが増えています。(注:PSQLやActian Zenの製品バージョンとは異なります。)PSQL v13 や 最新の Actian Zen v14 であっても、ファイル作成時のデフォルトのバージョンは 9.5 となります。
・最大ファイルサイズ
その名の通り、ファイルサイズの最大値です。
・キー数(キーセグメントの最大数)
ひとつのファイルに作成できるインデックスは 119 個までです。これはどのファイル形式でも同じです。インデックス作成時に、どの列をキーとするか指定します。列はひとつの場合もあれば、複数の場合もあります。全てのインデックスに含まれる全ての列数を足した数が「キー数」となります。
例)あるファイルに下記のように4つのインデックスがあったとします。
インデックス1は「苗字」 ← 列数はひとつ
インデックス2は「苗字」、「名前」 ← 列数はふたつ
インデックス3は「電話番号」 ← 列数はひとつ
インデックス4は「苗字」、「名前」、「電話番号」 ← 列数はみっつ
この場合、「キー数」はインデックス1~4の列数を足したものになるので、「キー数」は 7 となります。ファイル形式が 13.0 であれば、「キー数」は 420 個まで指定できます。
・リンク重複キー / 繰り返し重複キー
詳細な説明は資料6~7ページにありますので、そちらをご覧ください。
・ページサイズ
Actian Zen はページ単位に I/O を行います。そのページ単位のサイズを指定します。ページサイズを大きくしておいた方がひとつのページに多くのレコードが格納でき、I/O の回数を減らせるため、パフォーマンスがよくなることが多いです。
・ファイル分割
大きなファイルを扱う場合、基本的には分割しないほうがパフォーマンスは良くなることが多いです。 現在のファイルシステムではファイルサイズの制限を気にする必要はまずないので、分割しなければならない状況はほぼ無いですが、一部、古い容量の少ない SD カードなどでは FAT32(4G 制限)が存在することもあります。
・シャドウページ
更新前のレコードはそのまま残し、更新後のデータを空きページに書き込む仕組みです。こうすることで END TRAN(ROLLBACK)時のトランザクション処理がシンプルになり、パフォーマンスが向上します。
・Autoinc キーの最大長
AUTOINCREMENT 型は、自動で採番してくれる型となります。そのサイズが大きいほど多くのレコードに対応可能です。
・TWA
詳細な説明は資料6~7ページにありますので、そちらをご覧ください。
・レコード圧縮 / ページ圧縮
ファイルサイズを小さくすることができます。ファイルサイズが小さくなることで I/O 効率がよくなりパフォーマンス向上に期待できます。
例)レコード数 1 億件のテストを行った時のファイルサイズ
ページ圧縮なし - 169.7G
ページ圧縮あり - 3.8G
約 1/44 のサイズになりました。
・長いオーナーネーム
オーナーネームはファイルにアクセスするためのパスワードのようなものです。セキュリティ向上のため、パスワードに長いパスワードが設定できるようになりました。
・システムデータ
詳細な説明は資料7ページにありますので、そちらをご覧ください。
機能詳細説明(資料6~8ページ)
リンク重複キー、繰り返し重複キー、システムデータ、TWA についての説明です。
ファイル形式の確認方法について
コマンドプロンプトで
butil -stat ファイル名 |
を実行し File Version を確認してください。
または
Maintenance ツール>ファイル情報エディター>情報のロード>ファイル選択>バージョン
から確認することができます。
SQL テーブルとして登録している場合は、Actian Zen(PSQL) Control Centerのテーブルプロパティのファイルバージョンで確認することもできます。
ファイルの互換性について
以下のような仕様となります。
・ファイル形式 6.X 以降であれば PSQL のバージョンが変わっても読み書き可能
(ただし 4G 以上のファイルはリビルドが必要)
・ファイル形式は混在していても問題なし。
・ファイル形式 5 は読込みのみ可能。
まとめ
Actian Zen(PSQL)は、旧バージョンとの互換性が高いため、エンジンのバージョンアップを行っても、古いファイル形式のまま運用されていることもあるかと思います。
エンジンをバージョンアップしても、ファイル形式が古いままでは新機能も利用できず、バージョンアップのメリットを十分に活かしきれていない状況も見受けられます。
本ブログ記事の内容をもとに、現在ご利用中のファイル形式を確認し、ファイル形式を最新にバージョンアップいただくことで、
・パフォーマンスが向上する
・より大きなサイズのファイルが扱える
・ファイルサイズを圧縮してコンパクトに利用できる
といった運用面での改善に繋げることが期待できます。
最後に、今回題材にした技術資料については、「Actian Zen オンライントレーニング」でも補足資料として使用しています。定期的にオンライントレーニングを開催していますので、下記をチェックしてみてください。
【 Actian Zen オンライントレーニング 】
Cisco Webex を使用したオンライン上でのトレーニングを定期開催しております。Actian Zen を初めてお使いになる方向けの内容となります。どなたでも無料で参加いただけます。
-トレーニングの参加申し込み
▼ https://www.agtech.co.jp/actian/training/