こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleの欠点

データベースには主に、
MySQL、PostgreSQL、Oracleが
使われていると言う事を知ったのですが、
MySQL、PostgreSQLは無料なのに対して、
Oracleは有料ですよね。
その分、高機能だという予想をつけていますが、

Oracleの欠点はなんですか?
Oracleにできなくて、MySQL、PostgreSQLにできることとか・・・
あと、Oracleは速いですか?
MySQLは速いらしいですが、Oracleはそれに比べたらどうなのでしょうか?

投稿日時 - 2006-01-15 18:10:59

QNo.1898184

すぐに回答ほしいです

質問者が選んだベストアンサー

まず、大量削除が苦手なことです。数十万件のデータを入れて DELETE FROM (table name) を実行して全検索じょしてみればすぐに分かると思います。PostgreSQL などのデータベースが圧勝するでしょう。

更新処理もそれほど得意ではありません。オラクルでは更新時に更新前データをロールバックセグメントに異動するため、そのオーバーヘッドがかかってしまいます。

あと、PostgreSQL のように、正規表現を用いた検索をすることができません。

そもそも、Oracle が得意とする分野は検索です。更新をメインにするのであれば、SQL-Server や DB2 の方がいいとも言われています。

機能面については比べるまでもないですね。Oracle がフリーのデータベースを圧倒しているでしょう。他のデータベースに存在する機能もありますが、例を挙げると、パーティション表、ビットマップインデックス、スター結合、マテリアライズドビュー、クエリーリライト、フラッシュバックリカバリ、ASM、Data Guard、RAC などです。ただ、多くの技術者がその機能を使いこなしていないのが実情ですが・・・。

ちなみに、MySQL が速いのはトランザクションを利用しない場合です。トランザクションを利用すると PostgreSQL とさほど変わらないと言われています。

ただし、PostgreSQL も最近になって PITR や自動 vaccume を実装するなど、かなり高機能になってきているのではないでしょうか。

投稿日時 - 2006-01-15 22:18:42

ANo.5

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

有料=欠点ではないと思いますよ。

例えば、無料のMySQLやPostgreSQLを使用していたとします。
DBMSの不良や不良と疑わしき事象が起こった場合、誰がいつまでに調査し、いつまでに対策してくれると思いますか?

有料のDBMSは、対策責任元が明らかだし、対策時期、内容などもユーザ側と調整可能です。緊急度を要する場合は、「翌朝までに対策」といったこともあります。

ユーザの運用ミスやハード障害などで、データベースを壊してしまったとします。DBMSの内部データ形式や処理方式を詳しく知っているDBMSメーカーの支援を得られれば、ユーザだけでは対処できないトラブルでも被害を少なく出来る場合も少なくありません。

国産のDBMSメーカーなどでは、通常の仕様ではこれ以上の性能向上は困難といった場合や運用上、どうしても制約を受ける仕様を、個別に対策してもらえたり、早期のバージョンで機能サポートしてもらえる場合もあります。

無料であるということは、そういったサポートを受けられないし、不良があっても対策(対策の有無、時期、内容)がどうなるのか分からないということです。

投稿日時 - 2006-01-22 01:43:07

ANo.6

Oracleでのデータ大量削除はtruncateコマンドを使用するとロールバックセグメントを使用しないので高速になりますね。
価格面での差は機能とサポートと信頼性かと。

参考URL:http://www.mars.dti.ne.jp/~o-shin/new/kowaza/body560.html

投稿日時 - 2006-01-15 22:38:41

ANo.4

比較するものが少し違っている気がします。

有料のDBで主なものは以下の3つです。
・Oracle (oracle)
・SQL-Server (microsoft)
・DB2 (IBM)

フリーでは、
・MySQL
・PostgreSQL
・その他

私はこのように分類してます。

Oracle(有料)とMySQL(無料)との大きな違いはサポートの有無です。

性能面では、何十、何百万件というデータを扱い、24時間365日連続稼動しなければ、フリーのDBでも十分だと思います。相当多くのデータを扱わないと速度の面で差はでないはずです。

あとはフリーのDBだと稼動中の差分バックアップなどが出来ないものもあるかもしれません。

投稿日時 - 2006-01-15 20:47:26

ANo.3

Oracleは、企業に採用され易いですね。
他はフリー故に企業の経営層やIT部門が品質・運用維持の面で敬遠します。
つまりトラブルシューティングの際のサポートの違いでしょうかね。

投稿日時 - 2006-01-15 19:43:18

ANo.2

そもそもSQL言語とは、C++、VB、その他のコンピューター言語でも、SQLを使うことでオラクルその他のデーターベースとデーターの情報交換が出来るようになります。
MySQL、PostgreSQLはデーターベースと連携してデーター処理するものです。
速さは、この中ではオラクルが一番速いです。例えMySQL、PostgreSQLが処理速度が速くても最終的にはオラクルに情報交換を行いますので、オラクルに律速されます。
他の、オラクルより速いと思われるデーターベースに接続すればそちらが早くなります。多分DB2(IBM AS400)とかです。

投稿日時 - 2006-01-15 18:32:50

ANo.1

Oracleの欠点ですか....多分、無いです。または、高機能すぎて使いこなす人が限られるという点と、高価(製品、セミナー等とにかく何でもお金がかかる)な点ですかね。
MySQLは高速というよりは軽いというイメージですね。十分に高速なマシンならOracleが高速かと。

投稿日時 - 2006-01-15 18:18:54

あなたにオススメの質問