SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Glenn Paulley氏 データベース関連ブログ 翻訳記事(PR)

SQL AnywhereのI/O要件 - 最新ホワイトペーパー

原文:SQL Anywhere I/O Requirements – a new whitepaper

  • このエントリーをはてなブックマークに追加

 SQL Anywhereエンジニアリング部門が執筆したホワイトペーパー「WindowsおよびLinux向けSQL AnywhereのI/O要件」が公開されました。WindowsおよびLinuxプラットフォームで動作するSQL Anywhereサーバーで、メディアまたは電源の障害時に確実なデータベース復旧を行うために満たすべきI/O要件が説明されています。 (原文:SQL Anywhere I/O Requirements - a new whitepaper、2011/03/30投稿)

  • このエントリーをはてなブックマークに追加

 本稿はデータベースソフトウェア「SQL Anywhere」およびデータベース全般に関する英語ドキュメントを翻訳する形で提供しています。図など、部分的に英語のままになっていますが、製品のSQL Anywhere自体は完全に日本語化されていますのでご安心ください。
※編集部注:掲載しているブログ内容は執筆時点での情報のため、現在とは異なる場合があります。

 本日、SQL Anywhereエンジニアリング部門が執筆したホワイトペーパー「WindowsおよびLinux向けSQL AnywhereのI/O要件」が公開されました。このホワイトペーパーでは、WindowsおよびLinuxプラットフォームで動作するSQL Anywhereサーバーでメディアまたは電源の障害時に確実なデータベース復旧を行うために満たすべきI/O要件が詳しく説明されています。このホワイトペーパーの要約を次に示します。

 コミットされたトランザクションを確実に永続化し、電源喪失時にデータベースを適切に復旧するためには、保存先のストレージへデータが到達したということをデータベースサーバーが正しく把握できなければなりません。オペレーティングシステムとストレージデバイスは、パフォーマンスを向上させるために、書き込み操作のキャッシュや並び替えを行います。正しく設定されていないシステム上でデータベースサーバーを動作させると、データの消失や破損につながる可能性があります。この文書では、耐久性の高いストレージの要件や、SQL AnywhereのI/Oセマンティクスについて理解するために必要な背景を説明します。

 また、3.2.1項の内容を一部抜粋して紹介します。

 Windowsでは、FlushFileBuffers()を呼び出すことでOSにディスクフラッシュを要求できます。SQL Anywhereでも、データの信頼性を保証するために適宜この呼び出しを通じてフラッシュを要求しています。しかし残念ながら、一部のI/Oドライバにはバグがあり、FlushFileBuffers()を呼び出してもフラッシュコマンドが常にディスクに渡されるとは限りません。また、SQL Anywhereでは、データベースファイルやトランザクションログファイルを開く際にCreateFile()にFILE_FLAG_WRITE_THROUGHフラグを渡すことで、FUAビット付きのI/Oを要求しています。しかしFUAビットの扱いはディスクメーカーやWindowsのバージョンの間で必ずしも統一されていません。一部のATAベースの実装は、FUAビットを完全に無視しているらしく、SQL Anywhereの信頼性を脅かしています。

 Windowsを市販コンピュータ上で使っている方、あるいはLinuxディストリビューション上で使っている方(特に私が以前の記事で紹介したEXT3ファイルシステムを使用している場合)は、このホワイトペーパーをお読みになることをお勧めします。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Glenn Paulley氏 データベース関連ブログ 翻訳記事連載記事一覧

もっと読む

この記事の著者

Glenn Paulley(Glenn Paulley)

カナダ オンタリオ州 ウォータールー R&DセンターにてSQL Anywhere 開発における Director of Engineering としてクエリ・オプティマイザなどの開発をリードしている。・IvanAnywhere

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5885 2011/08/16 16:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング