9:55
すでに会場入りしてます。適当にまとめます。
10:05 オープンソース DB 性能徹底比較! 〜Firebird / MySQL / PostgreSQL〜
データが多過ぎてあんまりわかりませんでした。しかも、ベンチマークの種類や時期やDBの種類によってバラバラのデータを使ってるし。もっと要点だけまとまってると嬉しかったです。。。
- Firebird(木村さん)、MySQL(堤井さん)、PostgreSQL(片岡さん)
- 客観性の高いベンチマークが少ないので、自分たちでやってみた
- 単純なピーク性能テストから、徐々に複雑なテストにしていく
- ボトルネックをあぶり出す
- 再現性を重要視して行う。特別なことはせず、万人が手元で同じ結果を出せること。
- DB性能測定を標準化・定型化し、別のDBに対しても同様のテストを可能とする
- 性能測定検査の分析方法を確立する。
- テスト項目
- 検証するバージョンは、適時最新を利用する。マシンは普通の物(linux kernel 2.6)
- データとログのディスクを分離
- vmstat でリソースを監視する
- MySQL = InnoDB、PostgreSQL = vacuum & analyze、Firebird = SuperServer
- MySQLのストアドによる単体試験の結果について
- PostgreSQLのストアドによる単体試験の結果について
- SELECTはストアドでデータを取得しない指定ができるため、高速*1
- DELETEはDELETEフラグを立てるだけなので、高速
- UPDATEはDELETE+INSERTなので、遅い
- Firebirdのストアドによる単体試験の結果について
- なんか圧倒的に速いぞ?
- テーブルクリアをするプログラムなので、ほんとに処理してるかは不明
- ストアドは実績が十二分にあるので、高速化されているのでは?
- Cでの単体テスト
- MySQLのCでの単体テスト
- ストアドよりちょっと遅い
- PostgreSQLのCでの単体テスト
- SELECTがストアドより大分遅い(データを取ってくるため)
- それでも、SELECTはMySQLより速い
- JavaとPHP APIでの比較
- MySQLもPostgreSQLもPHPの方が割と速い感じ
- ただ、PostgreSQLのSELECTではJAVAも速い。たまたま??
- FirebirdはJavaのAPIがPHPよりも優秀。ロシア人のおかげみたい。
- カラム数が多いと通信料が増えるため、ストアドよりかなり遅くなる。
- データ長は長くてもたいした遅くならない
- 総合するとMySQLが検討しているように見える
- InnoDBはどんどん高速化されており、MyISAMを使えば速いとは限らない
- 同時セッションによるテスト
- SELECTとDELETEはPostgreSQL、INSERTとUPDATEはMySQL
- シナリオテスト
- 接続数が50以下のSELECTでは、MySQLが速い
- PostgreSQLは、複数テーブルをjoinをした方が速い可能性がある*2。
- まとめ
- MySQLのストアドはまだ発展途上
- MySQLはPrepareの恩恵は少なめだった
- MySQLで、InnoDB、JOIN が遅いと思われているがそうでもない
- MySQLはUTF-8にすると高速化される
- PostgreSQLは実はかなり速い。特にSELECT。
- PostgreSQLは汚れると遅くなる
- FirebirdはPHPのドライバがひどい
- MySQLもPostgreSQLも同時接続が500くらいでも十分耐えられる
- ストアド重視のFirebird、JOINや更新はMySQL、SELECTはPostgreSQL *3
11:45 XQuery、XPath 及び SQL / XML に関する標準化動向と今後の取組み状況 (土田さん)
XQueryの実装って、もう存在するんですかね?? XMLQUERY関数やらXMLTABLE関数の中で記述するって仕様は、あまり美しくないなあと思いました。
- SQLは1992年から開発され、今も続いている
- XMLの利点 → デファクトスタンダード。インフラやツールも多い。
- XMLの見方は、データ表現としてのXMLと文書表現としてのXMLのふたつに分かれる
- XML-RDB マッピング ・・・ XMLとRDB上のテーブル・カラムを、定義して対応させる
- XML問い合わせ 2000年から策定されている
- 適応例 → XML文書の操作、DBMSのXML処理、XMLメッセージ、統合化
- XQuery 1.0の開発完了。2.0を開発中。
- XML連携機能
- XMLストレージ拡張機能
- XQueryデータモデル (ノードごとに分ける)
- XQuery は FLWOR式 (For/Let/Where/OrderBy/Return) で記述できる
- XPath構文で、条件を記述する
- XQuery でgroup by は書けない。関数を使って似たようなことをやる
- XMLQUERY関数の中には、定数値しか入れることはできない
- クライアント言語からは、XML文字列として入出力する。SQL内でXDM化する。
- 今後はセマンティクスやセキュリティを重視。でも、参画するベンダが減って来ている。*5
12:45 ランチ
去年YAPCで使ったガスト。
13:35 宣伝タイム
13:38 PostgreSQL Updates 板垣さん・笠原さん
- CPUスケーラビリティの向上(8.1と8.2)
- NUMA*6環境は対応が必要
- 全文テキスト検索
- GiST(更新向け)とGIN(参照向け)と言う2種類のインデックスがある。
- 日本語サポートはまだ
- VACUUM UPDATEを行った際のゴミを除去すること
- 新機能 HOT
- インデックス更新をスキップ
- VACUUMをまたずにゴミ処理
- HOT UPDATE (Heap Only Tuple)
- UPDATE時の新旧の行を、同じページ上に書き出すことで、インデックス更新を抑止
- 予めUPDATE用の隙間を作っておき、交互に利用する
- インデックスの張られた列を更新するとNG
- FillFactorを調整して、同一ページ上に空き領域を作る
- チェックポイント時のスループットが安定した
- チェックポイントをスリープしながらスケジューリングするようにしただけ
- データロードが高速化した
- truncateの後にcopy文を呼ぶとよい
- VACUUM の手間がいらなくなった
- autovacuumは8.2まではシングルプロセスだったのが、マルチになった。
- 8.3には大きく期待できる
- テスターはまだ必要
- 8.4も・・・
- HOTの最適化
- autovacuumのクレバーなスケジューラ
- ホットスタンバイ
- PGCon2007 in Ottawa University
- JPUG(日本)
- 世界でも大きいコミュニティ。ビジネス色が強い
- 開発者が少ない
- ログ出力メッセージの体系が不明
- 日本語問題
- まとめ
- 性能面の問題は払拭された
- 大規模運用、安定性などに焦点
- 開発者の増員が課題
14:33 Firebird の最新動向 加藤さん
15:48 続:MySQL の日本語問題と解決策
いい話聞けるのかと思ったら、MySQLにパッチ当てて解決だなんて・・・orz 業務じゃ使えないだろうし、本家に取り込まれるのを気長に待つしかないですね。
- 日本語問題は、Ver4.1から起こり始めた
- UNICODEサポート・・・utf8が基本
- 内部的にutf8変換が起こる
- mysql側で、自動変換が起こる
- my.confで設定ができる
- Shift_JISのバックスラッシュ(0x5c)問題
- 変換テーブルの欠落問題
- 変換の抑制
- charset=latin1,binary,ascii
- charset=utf8 ← おすすめ
- 変換の推奨
- サーバ側の文字コードを変更 SET NAMES=utf8 (my.cnfが利用できない場合)
- サーバ側のcharsetは変えれるが、クライアントは変わらない
- サーバ側の文字コードを変更 SET NAMES=utf8 (my.cnfが利用できない場合)
- MoSQL (萌えすきゅーえる)
- MoSQLのデモ
- 速度のためには、DBをutf8で構築すべき
- MySQLの日本のカンファレンスが、今年初めてあるそうです。
16:50 データベースとは何か 〜システム、コンテンツ、そして社会〜 増永さん
データベース=RDBMSって枠での議論ではなく、既存のRDBMSやWEBを単なる記憶装置としてみて、それらのデータを処理する新たなデータベースシステムを作り出すと言う話題でした。データ検索の手法やその見せ方までを"データベース"として捉えた見方です。
後半はGoogleの水面下の影響力の恐ろしさの話で、ちょっと論点ズレですね。
- 地球丸ごとデータベース
- システム開発 → コンテンツ系(データ中心、マルチメディア、スキーマレス、データマイニング) → WebもDBである
- マルチメディアデータベース
- 音・画像・TEXT (Everyting is object)
- 3次元地図を活用したビデオデータベースシステム
- 建物名で検索すると、その建物が映っている映像が得られるシステム
- 撮影者の位置情報(GPS+ジャイロ)と3次元地図データをぶつけて、ビデオのどの部分になんて名前の建物が映っているかを求めてindexingする。
- 仮想世界データベース
- 仮装天文台
- 年間1PB*7以上のデータを扱う
- JVOQL
- WEBマイニング
- 1970年 RDMの発明 → 1991年 http://info.cern.ch 世界初のウェブサイト
- WEBは、実世界をHTMLを利用して記述したもの。
- "社会現象の分析手法としてのWebマイニング"
- 共時的と通時的な分析
- ドメイン知識を持つ専門家が、システムを有用な物に育てる
- Googleの信用性(表示順位)と透明性(PageRank)
- 視認性(黄金のトライアングル)により、7位までに出さないと、意味がない。
- Googleとその提供先で、表示順位が違う
- 日本データベース学会の紹介
18:20 ライトニングトーク
- DBDesigner 4 について (吉田さん http://iimp.jp)
- 色々参加しよう (木村さん Firebird日本ユーザ会)
- MySQL Users Conference Japan 2007 開催のご案内
- 9/11と9/12 (ユーザ会主催じゃありません)
- MySQLの開発者も海外から来るみたい。事前申し込みで無料です。
- 無料でランチとかディナーつくみたいですよ??聞き違い?
- インテリジェントディスクさん
- DVD RAMに OSを焼いてあって、ReadWriteできるみたい。
- PHPユーザ会から、カンファレンスのお知らせ
18:42 抽選会
あれ、またライトニングトーク??
ライトニングトークは、銅鑼鳴らさないと駄目だと思う。お疲れ様でした。