本を読む

読書やコンピュータなどに関するメモ

OSC2008.DBに参加

 何ヶ月かぶりに週末に時間がとれたので、6月7日(土)にオープンソースカンファレンス2008.DBというイベントに参加してきた。オープンソースのRDBMSであるPostgreSQL・MySQL・Firebirdについてのセミナーイベント。

 それぞれのUpdate情報が楽しみだったのだけど、遅刻してPostgreSQLのUpdateが聞けず、MySQLも途中から。だめじゃん。

 以下、そんな範囲でのメモ。

MySQL Update(日本MySQLユーザ会 梶山隆輔氏)

 着いたときには、新しいFalconやMariaを含めた(?)ストレージエンジンの紹介と比較をやっていたような。

 ER図編集ツールのMySQL Workbenchも紹介。商用版はそのままDBのテーブルを作成、フリー版はCREATE TABLEなどのSQLスクリプトを吐く。ほか、クエリーを振り分けるMySQL Proxyとか、memcachedとの連係とか、クエリーのモニター機能とかを紹介していた。

Firebird Update(Firebird日本ユーザー会 木村明治氏)

 Firebird 2.1を紹介。大規模向けというよりは、使って便利な機能が追加されているとのこと。

  • データベーストリガ
    • CONNECTとかTRANSACTION STARTとかのDBのイベントに対するトリガ
    • 監査などに利用?
  • MERGE文
    • 対照表と差分表をMERGEする
    • MySQLでは、REPLACE文や、INSERT文のON DUPLICATE KEYを使う
  • グローバル一時表
    • セッション期間中データを保持する
  • CTE(共通表式)
    • サブクエリーにWITH句で名前をつけて、ひとつのSQL文の中で使いまわす
    • 再帰クエリにも使える
      • RDBの前の階層型DBっぽいやりかた
      • OracleだとCONNECT BY
  • モニタリング表とキャンセル
  • 64bit Windows

 で、後半は、ハードの要求レベルが低いことを示すために、Pentium 133MHzのマシンでWindows 3.1+WinSockの動かした様子を紹介して笑いをとっていた。win32sとかのネタで盛り上がるし、みんなオヤジだなぁ(笑)。

Firebirdを組み込みで使ってみよう(Firebird日本ユーザー会 加藤大受氏)

 Firebirdの特徴として、組み込みDBとしての使い方を紹介。

 組み込みDBという言葉は、「組み込み機器向けDB」「アプライアンス向けDB」「アプリケーション組み込みDB」の3つをそれぞれ指す。で、Firebirdはそれぞれに対応しているという話。クライアント/サーバー型と組み込みライブラリ型で同じコードから使えるし、どちらの場合もフリーで利用ができる(MySQLの組み込みライブラリ型はライセンスが発生)。MIPS版やARM版もあり、多くの組み込み機器向けDBMSが商用なのに対してフリー、と。ただし、Windows CEに移植できないかとよく尋ねられるが、named pipeを多用しているので難しいとの話。

 あと、評価ボードは値段が高いので個人が移植するケースは多くないとか、Windows CE+SQLiteは日本語コード処理が面倒とかいう話も面白かった。

MySQL日本語処理問題(日本MySQLユーザ会/MySQL株式会社 松信嘉範氏)

 前半では、MySQLのUTF-8サロゲート文字問題を解説。MySQL 5.1までは3バイト文字までしか使えないうえに、サロゲート文字が化けるのではなくその文字以降が消されてしまうという問題がある。

 で、MySQL 6.0ではサロゲート文字に対応したことを紹介。サロゲート文字に対応したUTF-8を「utf8」として、5.1のutfを「utf8mb3」という名前に変更した。5.1のテーブルを6.0にコピーすると、utf8はutf8mb3になる。

 という機能的な話を前半として、後半はDBチューニングの観点からUTF-8の問題点であるバイト数増の問題を解説した。たとえば、VARCHAR(100)は、MySQL6.0のutf8では400bytesになる。これはテーブルをできるだけ小さくするというデータベースチューニングの原則に反する、という話だった。で、チューニングの観点からはEUC-JPが現実的と思う、ただしEUC-JPはエンコードがばらばらなので(IE、Firefox、Javaなど)、アプリ層で変換が必要になる、という話だったような。

 そのほか、シフトJISや日本語EUCとの変換機能はMySQL内部では用意していなくてアプリ側のすべきことだと考えているが意見募集中とか、日本語文字列のソートはばらばらでJIS X 4061に準拠していないとか、MySQL 5.1から日本語テーブル名に対応した(けどまだ使わないほうが無難)とかいう話を紹介した。

SE-PostgreSQL(日本セキュアOSユーザ会 海外浩平氏)

 SELinuxのポリシー定義をPostgreSQLの行や列単位のアクセス制御に適用するSE-PostgreSQLの紹介。

 もともと、ファイルのパーミッションとDBのACLは似たようなものなのに、別々のアクセス制御の仕組みとなっていて一貫性がない。これを、SELinuxのポリシーに統一しようというのがコンセプト。

 行単位のアクセス制御では、タプルにタプルにsecurity_context属性を付加。アクセス制御のない行は、あたかも存在しないように見える。

 いっぽう、列レベルのアクセス制御では、create tableのときに、カラムにcontext=で指定。適用は、クエリを解析して、アクセス権のない列への参照があるとアボートするようになっている。これはwhereなどに指定されているカラムも含む。ただし、参照はできるがユーザーには返さないuse権限というのもあり、whereでの条件指定だけできるという制御もできる。ほか、伏字化して返す関数に権限昇格の権限を与える、などの機能もある。

 PostgreSQL 8.3.1のFeature Freezeを知らなくて出しそこねたので、8.4でのマージをめざす、というのがすごいと思った。

大学におけるデータベース教育(長岡技術科学大学 湯川高志氏)

 データベース教育の実際について、大学教育と社会のニーズとのジレンマをまじえて語っていた。工学関連の教育プログラムでは、JABEEという認定があって、生徒の達成度を、いわば企業のISO9000シリーズのように認定しているのだとか。

 大学としては、装置やソフトのハウツーだけ教える教育はやりたくない。そこで、SQL文の書き方を教えるのではなく、RDB設計論やリレーショナル代数を中心に教えている。物理的データ格納形式や、問い合わせの理論についても、トピック程度にとりあげている。

 一方、自習用には湯川氏が参加しているNiigataLinuxのCDを配布している。LinuxのインストールCDであると同時に、Windows用のApache/PostgreSQL/PHP環境のインストールもできて、XAMPPと似たコンセプトになっている。

 質疑応答では、企業の人から「データベース理論だけではなくて、データベースを含むシステムの構築についても学んでほしい」という意見が出て、いろいろやりたいが講義時間が限られるという大学側の事情が語られた。また、学生さん(たぶん)からは、技術力とコミュニケーション能力のどちらかが重要かという質問も出て、コミュニケーション能力は定量的なものではないので実習などのプロジェクトの中で学んでほしいという回答があった。

パネルディスカッション

 なんか本当に仕込みなしでパネルディスカッションをやったらしい。日本MySQLユーザ会の堤井氏をモデレータに、日本PostgreSQLユーザ会の片岡氏、日本MySQLユーザ会の松信氏、Firebird日本ユーザー会の木村氏が登壇。みなさん、話が面白く、けっこう突っ込んだ話も出ていたように思う。

  • 最近のコミュニティの動向
    • 片岡氏
      • PostgreSQL Conferenceと総会をやった
      • 年々人数が増える
      • 今年はEnterprise Trackが満杯で、Community Trackが人が少ないくらい(笑)
    • 松信氏
      • MySQL社でWeekly Seminorをやっている
      • MySQL Conferenceもやっている。無料(笑)
      • ユーザーサイドの濃い人がどんどん情報を発信している
    • 木村氏
      • ブラジルで大人気
      • 2~3世代のマシンや不安定な電源事情で、ほかに選択肢がない
  • エンタープライズへの浸透
    • 片岡氏
      • Ver.6までは機能追加だったが、Ver.7からは性能や安定性を中心にしている
      • Skypeのバックグラウンドや、ゆうちょのWebにPostgreSQLが採用されている
      • 開発コアメンバーの何人かがSunに就職し、Solarisでの最適化も進んでいる
    • 松信氏
      • ソニーでは2003年ごろ、コスト削減のためOracleからOSS DB(MySQL)へ移行の動き
        • ストアドプロシージャでガリガリ書いてるアプリを移植するのは現実的ではないので、新規開発
        • Oracle技術者のMySQL技術者へのスイッチ教育に力を入れた
    • 木村氏
      • 大規模事例はない
      • 快適に使えるのは、スレッドモデルで100コネクションぐらいまで、プロセスモデルで数百コネクションぐらいまで
      • ドイツ通信社の記事DBがFirebird 1.2
      • 小規模の利用に向いている(特定用途)
      • ボーダフォンで利用しているというので驚いたら、ボーダフォン・フィジーだった(笑)
      • ブラジルの銀行で採用? 大丈夫か?(笑)
  • ユーザー層の変化
    • 片岡氏
      • OSS DBは無料なので初心者の学習に便利
      • 敷居が低くなっている
        • 初心者の人も増えて、複数のバージョンが知らぬ間に入ってしまっている人の質問も見受けられるようになった
        • これをポジティブに考えて、初心者向けのセミナーを定期的にやりたいと話している
      • MLの様子では、6~7割がソースからビルドしている
    • 松信氏
      • MySQL95%はバイナリからインストールしていると思う
      • テーブルとはなにか、インデックスが必要な理由、データサイズを小さくする必要性、など、体系だった教育がほしい
      • いま日本語でのDB学習カリキュラムに関しては、くやしいけどOracle masterがおすすめ
        • これは変えたい
    • 堤井氏
      • データの扱い方や形式など、データ処理のセンスを、大学などで教えてくれるといい
      • DB術者は平均年齢が高い?
    • 木村氏
      • 従来はFirebirdをビルドするのにFirebirdがいる、という難しい状態だったので、ビルドして使っている人はほとんどいないと思う
      • 何となく使われはじめて、そのうちデータが大きくなってほころびが出る、というケースがある
        • 30GB以上のテーブルで壊れるバグがあった。ただ、そんな大きなテーブルというのもどうか
  • データ量
    • 片岡氏
      • 増えている
      • 7のころ、VACUUMが重くてDWHには無理と言われた
        • 1つのテーブルのVacumに1日、という事例も
      • 8で改善された
    • 松信氏
      • Facebookの事例
      • メモリだけで20~30TBのデータ
      • でもインデックス作成のときのロック時間を短くするために1つのテーブルは小さく
      • いかにオペレーションを楽にできるかが重要
    • 木村氏
      • ネットワーク監視のDBの事例
      • 30万レコード/日
      • 1日1テーブルにした
      • 1か月でエクスパイヤ
      • VACUUMいらない
      • ログローテーションと同じ手法
      • インデックスは? それいらない(笑)
    • 片岡氏
      • PostgreSQLでは、テーブルの継承を使って分割すると、1つのテーブルのようにSELECTできる

ライトニングトーク:仮想化環境でのデータベースベンチマーク(日本仮想化技術 宮原徹氏)

 …といっても、これからやりたいという話。

 日本仮想化技術に、「仮想マシンでDBを動かしたい」という問い合わせが増えているのだとか。いままでより要求されるパフォーマンスや可用性の水準が高い。I/Oボトルネックはどれぐらい、とか、メモリのページングの影響は、とかいった疑問点がある。

 なので、ベンチマーク環境を作った。FCディスクアレイにSCSIディスク42台。すべてヤフオクで揃えた(笑)。あとは、やる人募集中、とのこと。

ライトニングトーク:階層構造化データベースG.T.M.のご紹介(沢田潔氏)

 RDBMSの前時代の技術の階層構造化データベースだけど、まだG.T.M.というDBMSが活躍しているという話。いわく、ハイパフォーマンスで、タイ2位の銀行や、欧米の小規模の電子カルテDBでの採用例もあるとか。

G.T.M.は、もともとDECにあったDBMSを参考に作ったもので、1998年にGPLで公開。VMSでも動く(ここで会場からなぜかどよめき)。2008年にFidelityグループの会社が買収した。Cachéに内部構造が似ている。「SQLを使うことがオーバーヘッド」という思想で、かわりにM言語というのを使っている。

 調べてみると、G.T.M.もCachéも、医療分野で強いようだ。

技術サイトの紹介(日本HP 赤井誠氏)

 日本HPがOSSに力を入れているという紹介。ゼンリンの事例は、公開されている事例としては、国内最大級のPostgreSQLの事例だろうと。

 で、「オープンソース技術情報」というコーナーで、技術ノウハウや手順書を公開したり、過去のセミナーで使ったコンテンツと動画を公開したりしている、という紹介だった。

CentOS 5.2リリース間近(平初氏)

 「北米のエンタープライズLinux」が5.2をリリースしたので、CentOSCentOSも5.2が出るよ、という話。話した時点でフリーズされミラーに配布されているということだったのだけど、これを書いている時点では正式リリースされていないようだ。あと、日本語ポータルも近日公開予定との話。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/406-b5bbbae1

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad