Oracle RDBMS は安定性、安全性、堅牢性などに優れていますか?MySQL RDBMS よりも?

StackOverflow https://stackoverflow.com/questions/101834

質問

私はプログラマーとして、Oracle や MySQL など、さまざまなシステムに取り組んできました。Oracle の方が安定していて、堅牢で、安全であるという意見をよく聞きます。これは事実でしょうか?

もしそうなら、それはどのような方法で、そしてなぜですか?

この質問の目的として、おそらく 500,000 レコード程度の中小規模の実稼働 DB を考えてみましょう。

役に立ちましたか?

解決

はい。Oracle はエンタープライズ グレードのソフトウェアです。

mysql が本当に mysql より安定しているかどうかはわかりません。私は mysql をあまり使用したことがありませんが、mysql がクラッシュした覚えはありません。Oracle がクラッシュしたことがありますが、その場合、クラッシュした理由について、思った以上に詳細な情報が得られます。また、Oracle サポートはいつでも (有料で) サポートしてくれます。

非常に堅牢で、Oracle DB はデータを壊す前に事実上あらゆることを実行します。mysql サーバーがディスク容量を使い果たすと非常に奇妙な動作をするようになりました。Oracle はすべてのトランザクションを停止するだけで、最終的にはシャットダウンできる場合はシャットダウンします。」必要なファイルを書き込めません。私は oracle でデータを失ったことはありません。where 句を忘れて単一行ではなくすべての行を更新するなどの愚かなことをしたとしても、データベースを台無しにする前の状態に戻すのは非常に簡単です。

セキュリティについてはよくわかりませんが、確かに Oracle では、DB に接続して認証する方法について多くのオプションを提供しています。どのユーザーが何にアクセスできるかなどに関する多くのオプションが提供されます。しかし、ほとんどのことと同様、セキュリティを真剣に考えたい場合は、それを行う専門家が必要です。Oracle がセキュリティを適切に実施しなければ、失うものがさらに多くなるのは確かです。しかし、あらゆるものと同様、悪用も存在します。

他に何もなければ、これを検討してください...Oracle が満杯になると、CPU ごとに 40,000 ドル (もし彼らが最低価格を支払う場合) ライセンス + 年間保守料を支払う顧客がいます。これにより、顧客が製品に満足していることを確認するために非常に強い集中力が生まれます。

小規模なデータベースの場合は、mysql よりもかなり前に Oracle XE を真剣にお勧めします。mysql (無料) の重要な機能を備えており、インストールが非常に簡単で、優れた Web インターフェイスとアプリケーション フレームワーク (Application Express) が付属しています。DB が単一の CPU、1GB RAM、4GB データで問題なく実行できる場合は、XE です。それが私見のやり方です。

Mysql には用途があり、Mysql を使用して優れたものを構築できることは多くの人が示していますが、機能の点では Oracle (および SQL Server、DB2) にはるかに劣っています...しかし、無料で学習も非常に簡単であり、多くの人にとってこれが最も重要な機能です。

他のヒント

ディスクの容量が不足したときに、Oracle に破損したデータベースを作成させたことがあります。デバッグが難しく、大量のリソースを使用するため、熟練した DBA がサポートしないと作業が困難です。Oracle はシステム バイナリも置き換えました (例:gcc) をインストールしたときに /usr/bin/ にありました。

一方、PostgreSQL での作業ははるかに快適になりました。オープン ソースの *nix システムの操作に慣れている場合は、読みやすいエラー メッセージが表示され、よりわかりやすい方法で動作します。レプリケーションの設定は非常に簡単なので、データはかなり安全になります。

500K レコード データベースはおそらく携帯電話で実行できます。正直なところ、これは非常に小さいため、Oracle XE と MySQL の両方で十分に管理できます。

  • 小規模な DB (数百万レコード) の場合、Oracle は過剰です
  • Oracle システムを適切にインストールして管理するには、経験豊富な DBA が必要です
  • Oracle の「基本オーバーヘッド」は大きくなります。Oracle を実行するには、より強力なマシンが必要です
  • Oracle の「すぐに使える」エクスペリエンスは、かつてはひどいものでした (私は何年も Oracle システムをインストールしていませんでした)。現在どのように動作するかはわかりませんが)、mysql は非常に優れています

Oracle は DBA の知識を本当に必要とする猛獣です。500,000 レコードなんて大したことないと言う人たちに私も同意します。単純な数値/テキスト データであれば、Oracle の複雑さには価値がありません。

一方、Oracle は BLOB を非常に効率的に使用します。各レコードが 100MB のバイナリ ファイルだった場合、Oracle で実行するには大金が必要になります (優れた SAN を備えた 3 ノード RAC クラスターをお勧めします)。

データ (約 1,000 万行、1.2 GB のデータ) を 3 つの異なるデータベース、2 つの Oracle と 1 つの MySQL に送信するプロジェクトがあります。どちらのシステムでも問題なく動作しましたし、どちらの側にも大きな利点はありませんでした。すでに他のプロジェクトで Oracle を使用している場合は、新しいデータベースを 1 つ追加することはそれほど問題ではありませんが、新しいデータベース サーバーのセットアップを考えていて、何も持っていない場合は、すでに配置されている場合、MySQL はコストを節約します。

Oracle Enterprise は、それをサポートする企業、つまり本物の Oracle DBA が存在することを前提としています。Oracle は本質的により複雑であるため、初心者 (ただし有能な) DBA は、Oracle よりもはるかに簡単に MySQL を保護できるはずです。もちろん、Oracle には (私が見た限りでは) MySQL の現在の機能を超えるエンタープライズ監視ツールがありますが、DBA がそれらを効果的に使用できる必要があります。

あなたが説明したような小さなデータベースは、ほとんどのもので処理できるため、インフラストラクチャがすでに導入されていない限り、Oracle が保証されるとは思えません。どちらもレプリケーション、トランザクション、ウォームバックアップを備えているため、どちらでも十分に機能します。

答えは状況によります 全体的に 各 DBMS の構成方法について説明します。どちらも、何倍もの 500,000 レコードを処理できます。

Oracle ははるかに強力です。その機能の多くは、大規模な企業または高パフォーマンスの環境でのみ求められます。これらは主に、スケーリング、レプリケーション、負荷分散に関連する機能です。

小規模な DB の場合は、SQLite を検討してください。小規模から中規模の場合は、MySQL または PostgreSQL を検討してください。最大のものとしては、MSSQL、Oracle、DB2 などを見てください。

編集:他の回答を読んだので、あなたのデータが実際にある場合は、 本当に 重要なことは、レプリケートされたセットアップが必要になるため、そのようなものについては大手 DB プロバイダーのいずれかを検討することになるでしょう。

可能性を犠牲にできるなら(非常に珍しい) データ損失があり、パフォーマンスの向上を希望する場合は、いくつかの軽量オプションを検討してください。

オラクルが野獣であるのは事実です。

Oracle が最も安全な主要データベースであると広く考えられているのも事実です。

問題は、Oracle の開発者が重要なセキュリティ概念を理解していないように見えることです。Oracle は市場で最も安全性の低いデータベース サーバーです (独立したセキュリティ研究者によると)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

これらの研究者によると、MySQL は実際にはかなり安全です。それに利用できるツールについてはあまり知りません。この調査で最も興味深いのは、Microsoft SQL サーバーをおもちゃと呼ぶ同じ人たちが、攻撃者によってデータを盗まれ、MSSQL はそれを阻止することになるということです。彼らは、「おもちゃ」ではなく、ひどいセキュリティ モデルを持つ野獣を使用しているからです。安全な。

さまざまなアプリケーションやサイトに Oracle/SQL Server/MySql を使用しています

Oracle はさまざまな分野でデータベースに勝るものはありませんが、管理者に深い知識を必要とするデータベースの中で最も多くのデータベースです。

Oracle で問題が見つかった場合、たとえ有能な DBA の人であっても、それを解決するのに数回かかるかもしれません。

MySql は 500,000 または数百万のレコードを処理できます。他の DB よりも軽量で、管理作業が不要で、コンピュータ リソースをあまり消費しません。私は常に開発用 PC に MySql を入れていますが、問題に直面したことはありません。それに関する深刻な問題。

Oracle の高度な機能が必要ない場合は、MySql または PostgreSQL を使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top