エンタープライズ:特集 | 2003/07/25 18:19:00 更新 |
[Java Developer特別企画]2003年9月号
知っておきたいデータベース移行術「SQL Server→Oracle編」 (15/15)
JAVA Developer 2003年9月号より転載
メリットと注意事項 |
●移行のメリット
SQL ServerからOracle9iに移行することで多くのメリットが生まれます。SQL ServerからOracle9iに移行するメリットをまとめましょう。
・マルチOS対応
SQL Serverは、Windows環境下でしか動作しないのに対し、Oracle9iは多くのOSで動作します。Javaアプリケーションの稼働環境を考えると、多くのOS上で動作するのは大きなメリットです。
・パーティション技術による性能の向上
データベースが巨大になると、データベースのアクセス速度は低下していきます。つまりデータベースが大きいために余分なデータにまでアクセスしなければならなくなるからです。
Oracle9iは、SQL構文解析のオプティマイザ機能、PL/SQLのネイティブコンパイル機能のほか、大容量データベースの性能問題を解消するために「パーティショニング」と呼ばれる技術があります。パーティショニングは、データベースの表を分割し、アクセスする速度を大幅に向上させる技術です。
・同時アクセス時の排他制御の強化
Oracle9iには行レベルロックと読み取り一貫性という機能があります。これは複数のユーザーのアクセスに対して行レベルで排他制御を行う機能です。
SQL Serverにも行レベルの排他制御はありますが、ロックエスカレーションというしくみで多くのユーザーがロックをしはじめると、行レベルではなくページ、すなわち表という単位でロックの範囲が広がってしまうものです。多くのユーザーがアクセスする場合、全体のパフォーマンスに影響してしまいます。
また読み取り一貫性は、そんなロックされている環境下でも正しくデータの読み込みが行える機能です。Oracle9iは読み取り一貫性があるのに対して、SQL Serverはダーティリードが発生するデータベース構造です。詳しくは、Microsoft SQL ServerかOracle9iのホームページを参照してください。
・運用効率の向上
データベースは、長期に運用するほど、領域の再編成やチューニングが必要になってきます。
SQL Serverはオンライン中(稼働中)に表の再編成や索引の再編成ができないのに対し、Oracle9iはそれが可能です。つまりメンテナンスのためにデータベース全体を停止させる必要がないのです。Webサイトなどで運用を続けるデータベースでは、限りなくデータベースを停止することなくアプリケーションを動作させることが求められます。
・マルチメディアデータの取り扱い
SQL ServerにはないOracle9iの特徴として、イメージ、オーディオ、地図情報などのマルチメディアデータを格納することが可能です。最近のWebアプリケーションでは、マルチメディアデータが頻繁に使われるようになってきており、アプリケーションの拡張性が広がります。
●移行できないケース
仕様上の制限から、そのまま移行できない例外的なケースがあります。
たとえば、表が1,000を超える列で定義されているデータはOracle9iには移行できません。これは、SQL Server 2000では列の最大数が1,024であるのに対して、Oracle9iはちょうど1,000だからです(1行あたりのデータサイズについては、SQL Server 2000が8,060バイトなのに対し、Oracle9iは無制限なのですが……)。
もっとも、データの設計時にきちんと正規化を行っていれば、列が1,000を超えることはないでしょう。
移行ポイントを再確認 |
データベース移行時のチェックポイントを整理しました。 皆さんが抱える課題の解決に、この記事が役立てば幸いです。
関連リンク
JAVA Developer
定期購読のご案内
バックナンバー販売協力店
Javaコレクションのマスターを目指せ! JAVA Developer 9月号
大特集
特集2 BEA WebLogic ・コレクションフレームワークとデータ構造 ・知っておきたいデータベース移行術 「SQL Server→Oracle編」 ・Webアプリケーションセキュリティ |
前のページ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[西脇 資哲,JAVA Developer]