Oracleのどの機能が、小規模なプロジェクトにとって魅力的な選択肢ですか?


13

Oracleのライセンス処理[a](および、程度は低いもののコスト)を考えると、PostgreSQLまたはMySQLよりもOracleを選択する決定要因は何かと常に疑問に思っていました。

私の会社は、ほとんどの場合、専用のDB管理なしでデータベースを実行する単純なWindowsサーバーボックスが1つしかない小規模プロジェクトでも、Oracle(可能な場合はXE)を選択しています。(小さいとは、データが常にOracle XEのかなり小さいサイズの制約に適合することを意味しないことに注意してください。)

私は常にこの選択に疑問を呈してきましたが、少なくとも1つのデータベース製品にしかさらされないという利点があります。

それでも、RDBMSが必要な新しいプロジェクトを考えますが、データベースのプロジェクトと範囲は非常に小さく、単純なWindowsサーバーボックスで実行されるOracleの独自の機能に基づいて(専用の管理はあまり行いません)別のRDBMS?

追加のコンテキスト:データベースの展開の多くは、顧客サイトで「低管理」モードで実行できます。つまり、データベースは一度セットアップされます。サイトでの正しい動作とパフォーマンスに関する初期テストがいくつかあります。この後、データベースは実行されます。定期的な管理は行われていません。何かが壊れている場合にのみ、(専門のDBAではなく)技術者がデータベースをチェックし、何が起きているのかを把握しようとします。バックアップは主にオフラインバックアップとして行われます。一部のプロジェクトでは、顧客はRDBMSが関係していることすら気にしません。彼らは、自分のアプリを機能する(または機能しない)ブラックボックスと見なしています。

[a]:私が仕事をしているところ、収益が少ない場合、地元のOracleの代表者は製品の販売にあまり関心がないので、数名のプロジェクトマネージャーが小規模プロジェクトの適切なライセンスを取得するのに数か月かかりました。


「XEのかなり小さなサイズの制約に常に適合しない」データに対してXEを選択する方法は?
ジャックは、topanswers.xyz

@Jack:適合する場合はXEを使用し、適合しない場合は... :-)
マーティン

11.2 Express Editionはベータ版であり、ユーザーデータの制限が4 GBから11 GBに拡張されました。oracle.com/technetwork/database/express-edition/…を
リー・

OracleにはPIVOTがありますが、MySQLとPostgresにはありません。状況によっては大きなプラスになります。
フィルレロ

1
@ Phil Lello:PostgreSQLにはPIVOTがあります
。contribを

回答:


12

Oracleとpostgresについてのみ回答を試みることができます。Oracleを何年も独占的に使用した後、過去2年ほどだけpostgresを使用した後、postgresが大好きです。Oracleよりも使いやすい非常に多くの小さな方法があり、多くの重要な利点(MVCCなど)を共有しています。管理しやすく、信頼性が高く、優れたドキュメントがあり、もちろん無料です。

ただし、次のような一部の領域では、postgresはOracleに一致しません。

  • RAC-私の知る限り、どのデータベースに優れたクラスタリングテクノロジーはありません
  • RMAN-postgresの基本的なバックアップおよびリカバリ機能よりもはるかに優れています。特にブロック変更の追跡と増分バックアップ(最新の完全バックアップを維持するために他のバックアップに適用できます)
  • Oracleサポート-存在します。postgresサポート?そんなにない
  • IOT、「セキュアファイル」、圧縮技術など、postgresの世界には類を見ない他の多くの機能

興味深いことに、これらの機能のほとんどすべては、XEには存在しないか、機能しません。私はXEよりもpostgresを選択すると思いますが、他のすべては同じですが、...

...これはいずれも、Oracleを選択する2つの最大の理由に対応していません。

  1. すでにOracleを使用しており、膨大な投資をしています(データベースの独立性は馬鹿げた神話です)
  2. 開発者とDBAはOracleを知っており、その機能を最大限に活用します(データベースの独立性がとにかく神話ではないのはなぜですか?)

編集:

毎回XEよりもpostgresを選択する1つの状況は、セキュリティが懸念される場合です。データベースまたはそのアプリケーションのいずれかが公開インターネットに公開されている場合、XEが良いアイデアかどうかはわかりません。


rgd。RMAN-それでは、Oracleのバックアップ機能はPostgreのバックアップ機能よりも「優れている」と言うでしょうか。これは、管理の少ない環境でも有効でしょうか(私のQ編集をご覧ください)。
マーティン

@Martin-RMANは強力で非常に成熟しています。さまざまな復旧状況を経験してきたので、私はそれを信頼しています。そうでないことの1つは「単純」です。高価なDBAなしで済ませているようですが、現時点ではオフラインバックアップにRMANを使用していますか?クライアントサイトから(毎日)複数のGbバックアップをどのように出荷していますか?
ジャックは、

SQLサーバーには、OracleのRACと同等のHAクラスタリングがあります。
スタンレージョンズ

@stan the dba私が読んだSQL Serverのクラスタリングオプションから、それらはRACとまったく比較できません。それらのほとんどは、racのような真のスケールアウトソリューションではなく、フェールオーバーソリューションです。
マシューワトソン

Oracleを選択する2番目の理由は、1番目のIMOとほとんど同じです。基本的にあなたがコミットしていること。-サポートに関しては、Postgresにも確かに存在します。優れたメーリングリストに満足できない場合は、お住まいの地域で有料サポートを提供している企業のこのリストをご覧ください。
eevar

9

Oracle Apex。データベースに組み込まれた便利で使いやすいWebアプリケーション環境。簡単に言うと、単一の統合パッケージでWeb UI /アプリケーションロジック/データベースを使用して「シングルボックス」アプリケーションを展開することが非常に簡単になります。

PS。11g XE(現在ベータ版)は、ストレージを10GB以上に拡張します。


APEXの場合は+1。それはその問題とグレムリンがありますが、私はLOVE迅速かつ容易に地面からアプリケーションを取得するためにこれを。RAD for Oracleが入手できるように、私は思う。
ケリーショット

5

Oracleの他のフラッシュバックオプションはExpress Editionでは使用できませんが、フラッシュバッククエリは使用できます。それに関する質問によれば、selectステートメントが過去のある時点のデータを照会できるこの機能を備えたデータベースは他にありません。フラッシュバックデータは、現在のデータと結合して現在のテーブルに挿入できるため、元に戻す操作、一時的な変更、メソッドによる変更を1か所で比較するのに役立ちます。

他の一部のデータベースにはない、Oracle Express Editionにはないその他のこと。


5
postgresは、「AuthID Current User vs.Definer」、「Check Constraints」、「Deferrable Constraints」、「Date add and減算」、「Hierarchical Queries」、非スキーマトリガー、ほとんどの「Analytic Functions」、一部の「Collection Functions」をチェックします、「XML関数」、1GbまでのCLOB、「作成または置換」および「マルチプラットフォーム」ボックスも(少なくとも)
Jackはtry topanswers.xyz

@JackPDouglas競争が「その他すべて」である場合、プロリストを作成することは困難です。情報をありがとう。
リーリフェル

@Leigh-同意しました。あなたのリストはMartinにとって参考になると思います。デフォルトでは使用されていませんが、少なくとも現在の(v10)XEにはRMANは含まれていません。ほんの1つの選択:XEが4または11Gbに制限されている場合、128TbまでのClobは実際にはサポートされていません:)
Jackはtry topanswers.xyz

@JackPDouglasあなたはすでにRMANについて言及していましたが、私はあなたの答え(またはその他)に取って代わるつもりはありませんでした。
リーリフェル

@JackPDouglas塊をよくキャッチします。XEでは小さなCLOBが有用であり、データベースが大きくなった場合、非常に大きなCLOBをサポートするプラットフォーム上にあることが有用になる可能性があるため、リストに残しました。
リーリッフェル

4

まず、Oracleのノウハウがすでに存在するが、他のRDBMSには存在しないという要因を過小評価すべきではないと思います。他の人のための知識を構築するには、時間とお金がかかり、開始時にいくつかの間違いを伴うこともあります。

さらに、小さなプロジェクトがいつか成長しないかどうかはわかりません。その後、XEからStandard Edition One、Standard Edition、Enterprise Editionへと非常にスムーズかつ高速にアップグレードできます。別のRDBMSからの移行には、さらに多くの時間と費用がかかります。結論:あなたの会社はそれを正しくしていると思います-わかりました、私は少し偏っているかもしれません:-)


ウィーエル。私は、オラクルがこの辺りのことを知っていると言います...うーん... 私はおそらく、Postgreで3時間遊んだり、少しグーグルで遊んだりして、私と同じくらいできるようになりますOracleでできます。(PL / SQLを除く)そして、私はここでOracleのパワーユーザーの1人だと思うのが好きです。
マーティン

@Martin:それは良い兆候ではありません...私は〜2年間私たちのプロジェクトの1つに(パッケージ化されたアプリケーションの一部として)postgresを使用していますが、それでもうまくいくことができません(一部には私が使用しているアプリケーションの部分は、count()postgresのアキレス腱と思われるに大きく依存しています)。stackoverflowでプランナーに影響を与える方法
ジョー

2

Oracleの優れた機能の1つは、Oracle Resource Managerのようなもので、アプリケーションごとに個別のデータベースを用意するよりも、1つのデータベースにアプリケーションを統合する方がはるかに簡単です。これは組織で使用されていないようです。あなたが言及したように、私は過去にプロジェクト用に統合データベースを設計しました。

  • すべてのプロジェクトには独自のハードウェアがありました
  • すべてのプロジェクトには独自のライセンスがありました
  • すべてのプロジェクトには独自のストレージがありました

これにより、最も単純なプロジェクトでも開始するのに数ヶ月かかり、市場投入までの時間が非常に重要な時期に、これは殺されています。何らかの理由で、これは多くの人に見逃されており、しばしば政治的な理由で無視されています。

これに対する解決策は非常に簡単です。真面目なデータベースを1つ作成し、すべてのプロジェクト/アプリケーションに独自のスキーマを与え、ユーザーにアクセスして、数か月ではなく数時間で実行します。このようなことをしようとする場合、同様のアップタイム要件を持つアプリケーションを組み合わせると有益であることがわかります。Oracleにはオンラインメンテナンスオプションが増えていますが、場合によっては、数時間のダウンタイムを取得する方がはるかに簡単です。この時間枠を事前に定義しておくと、多くの問題を防ぐことができます。ダウンタイムが必要になります。

データベースへのアプリケーションの接続を許可せず、独自のtns-aliassesを使用して、アプリケーション専用のサービスに接続するようにします。これにより、アプリケーションを再構成せずに、アプリケーションを他のデータベースに移動できます。

ところで、この統合方法を使用した企業は、ローリングを開始するのに必要なライセンスよりも多くの年間キャッシュを節約しました。


この入力をありがとう。多くのプロジェクトでは、顧客サイトでデータベースが実行されているため、それらを統合することは実際には意味がありません。(私があなたを正しく理解していれば、統合に向けて。)
マーティン

顧客がパッケージを最終的に統合するようにアドバイスすることもできます。組み込みデータベースであると想定される場合は、少し異なる可能性があります。
ik_zelf

明確にするために、Oracle XEにはResource Manager機能がないため、これはライセンスサーバーへの統合にのみ役立ちます。@ik_zelfそうではないことを示すのはあなたの意図ではなかったと思います。
リーリッフェル

@Leigh Riffelはい、Oracleのインストールが利用可能であると想定していましたが、このような統合シナリオではEEを好むでしょう。質問は、組み込みソリューションに向かっているようです。
ik_zelf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.