今月は、韓国企業が開発した「Oracle互換」をうたったRDBが日本で発売され、その互換性が検証されたことや、SQL Server 7がなぜノンプリエンプティブになったのか、PostgreSQL エンタープライズ・コンソーシアムの発足記念セミナーなどについて紹介します。
少し前になりますが、2011年12月に日本ティーマックスソフトから「Oracle互換」をうたったリレーショナルデータベース「Tibero RDBMS 5.0」が発表されました。Tiberoは、韓国では2003年から販売されていますが、日本で販売されるのはこの5.0からです。
ティーマックスソフトは、韓国先端科学技術研究所(KAIST)の技術者らが中心となって設立した企業です。韓国のミドルウェア分野では高いシェアを誇っています。
さて、「このTiberoのOracle互換性やいかに?」ということで、アクアシステムズが検証に乗り出しました。韓国出身のエンジニアが検証レポートをまとめています。アクアシステムズ 川上明久氏(写真)が、Tiberoおよびこの検証プロジェクトについて解説してくれました。
Tiberoについて、川上氏は「大きな特徴は“Oracle互換”です。逆にそれ以外の特徴を挙げるのが難しいくらい、Oracle互換についてはかなりこだわって作ってあります。当初この製品を知ったときは“そうきたか”と驚きました。多くの企業にとって、商用RDBMSでOracleを選ばないのならSQL Serverなど“違うもの”が候補になります。ところがこの製品では“Oracleの機能を使いたいから、Oracle互換のデータベース製品を作ってしまおう”という発想です。これは新しい、と思いました」と説明しました。
「Oracleを使いたいけどコストが……」と思う企業にとって、Tiberoは目を引く製品となりそうです。Oracleよりもライセンスがお安くなっているからです。似た機能が実現できて安いなら……。ちょっと気になりますね。そうなると互換性が本物か気になるところです。
検証結果は、アクアシステムズがリサーチや検証結果を発表している「アクアラボ」に掲載されています。アクアラボでは、データ移行、オプティマイザの実行計画、PL/SQLなどのSQL実行、パッケージ製品での利用などを検証しました。
川上氏によると「ざっくりとした感触だと、およそ9割の互換性は確認できたという実感です。『よほど特殊な機能や使い方をせず、通常の機能を使う分にはさして支障はなさそうだ』という印象を持ちました」とのことです。詳細については、先に挙げたアクアラボの検証レポートをご覧ください。今後続報が出てくるそうです。
今後どこまでTiberoが日本市場で広まるでしょうか。ブレイクする可能性について、川上氏に聞いてみました。「ブレイクするかどうかは正直分かりません。なぜならまだ日本語の資料やサポートが充実していないからです。ブレイクできるかどうかは、こうした日本語リソースの充実や日本語環境の品質を高められるかどうか、にかかっているのではないでしょうか」
データベースにも韓流ブームが到来するでしょうか?
6月9日、Microsoft製品を中心とした技術コミュニティ合同イベント「Community Open Day 2012」が全国各地で同時開催されました。
東京会場ではSQLTOが中心となり、いくつかSQL Server関連セッションが開催されました。なかでもDatabase Watch 5月号に登場した小澤真之氏が行うハンズオンセッションは大人気で、リピートセッションを増やしたほどです。なお余談ですが、小澤氏はコミュニティでは「ムッシュ」と呼ばれ、親しまれていました。
SQL Server関係のセッション「SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング」では日本マイクロソフトの古賀啓一郎氏(写真)が(急きょ代打で)登壇しました。古賀氏は普段、重要な顧客専任でSQL Serverのサポートを担当しています。プレゼン資料は小澤氏のslideshareページで公開されていますので、興味ある方はぜひご覧になってください。
このセッションのテーマとなるのが「ノンプリエンプティブなスレッドスケジューリング」です。ノンプリエンプティブとは、ユーザープログラム(スレッド自身)がCPUを使用するスレッドを決定することです。
SQL Serverでは段階的にスレッドのスケジューリングが進化してきています。ノンプリエンプティブになったのはSQL Server 7からですが、現在に近い形になったのはSQL Server 2005からです。
しかし、なぜノンプリエンプティブである必要があるのでしょうか。その理由はマイクロソフトのSlava Oks氏のブログにありました。長年の調査研究の結果、マイクロソフトはパフォーマンスとスケーラビリティを高めていくには、ノンプリエンプティブが必要だという結論に至ったようです。
そうはいっても、近年のWindows OSはプリエンプティブですので、その上で稼働するSQL Serverでも、完全なノンプリエンプティブを実現するのは難しいのです。従って、実際には可能な範囲でノンプリエンプティブとなるように、SQL Serverは動いているようです。セッションではスレッドが切り替わるタイミングや、スレッドの状態遷移などが解説されました。
なかなか難易度の高い話でした。最後に司会の方がざっくり明快に「要するにSQL Serverは“終わったら言うからさ、それまで待ってて”ってことなんですね」と一刀両断。なんという明快さ。SQL Serverに良いパフォーマンスで仕事をしてもらうためには、スレッドをOSから勝手に取り上げるよりはSQL Serverを信じて任せた方が良い結果になるようです。
ところでSQLTOでは、8月に勉強会を企画中だそうです。スペシャルゲストも登場する予定だとか。要チェックですね。
Copyright © ITmedia, Inc. All Rights Reserved.