Oracle ず Redis のどちらが優れおいるか、たたはプラットフォヌムの遞択を正圓化する方法

- たあたあ...

ナヌリ・ドゥボフ「小さな悪」

このような芋出しを芋たら、おそらくこの蚘事は愚かか挑発的だず刀断したでしょう。しかし、結論を急ぐ必芁はありたせん。倧䌁業、特に囜が関䞎する䌁業の埓業員は、芋出しにあるような党く異なるプラットフォヌムも含め、様々なプラットフォヌムを比范怜蚎しなければならないこずがよくありたす。

Oracle ず Redis のどちらが優れおいるか、たたはプラットフォヌムの遞択を正圓化する方法

もちろん、DBMSの長所ず短所はよく知られおいるため、このように比范する人はいたせん。䞀般的に、䜕らかの応甚問題を解決するプラットフォヌムが比范の察象ずなりたす。この蚘事では、Habr読者にずっお銎染みのあるデヌタベヌスを䟋に、このケヌスで甚いられる方法論を瀺したす。

動機

孊習や趣味のプロゞェクトを始めるずき、プラットフォヌムを遞択する動機は非垞に倚様です。「このプラットフォヌムを最もよく知っおいる」、「これを理解するこずに興味がある」、「ドキュメントが最も優れおいる」など...営利䌁業の堎合、遞択基準は1぀です。いくら支払う必芁があり、そのお金で䜕が埗られるのかずいうこずです。

圓然のこずながら、より少ない費甚でより倚くのものを手に入れたいず考えるでしょう。しかし、より少ない費甚でより倚くのものを手に入れるこずず、より少ない費甚でより倚くのものを手に入れるこずのどちらが重芁かを刀断し、各ノヌドに重みを割り圓おる必芁がありたす。䟋えば、高品質な゜リュヌションが安䟡な゜リュヌションよりも重芁であるず仮定するず、「コスト」ノヌドに40%、「機胜」ノヌドに60%の重みを割り圓おたす。

Oracle ず Redis のどちらが優れおいるか、たたはプラットフォヌムの遞択を正圓化する方法

倧䌁業では通垞、逆の傟向が芋られたす。぀たり、コストりェむトは50%を䞋回るこずはなく、60%を超えるこずもありたす。このモデル䟋では、芪ノヌドの子ノヌドのりェむトの合蚈が100%であるこずが重芁です。

カットオフ条件

サむト db-engines.com 既知のデヌタベヌス管理システムは玄500皮類ありたす。圓然のこずながら、これほど倚くの遞択肢の䞭から察象プラットフォヌムを遞択するず、レビュヌ蚘事は掲茉されるかもしれたせんが、商甚プロゞェクトは掲茉されたせん。遞択肢を絞り蟌むために、カットオフ基準が策定されおおり、プラットフォヌムがこれらの基準を満たさない堎合は、察象から陀倖されたす。

カットオフ基準は、次のような技術的特城に関連しおいる堎合がありたす。

  • ACID 保蚌;
  • リレヌショナルデヌタモデル。
  • SQL 蚀語のサポヌト (これは「リレヌショナル モデル」ず同じではないこずに泚意しおください)。
  • 氎平スケヌラビリティ機胜。

䞀般的な基準は次の通りです:

  • ロシアにおける商業的サポヌトの利甚可胜性。
  • オヌプン゜ヌス;
  • プラットフォヌムが通信省の登録簿に蚘茉されおいるこず。
  • プラットフォヌムが䜕らかの評䟡にランクむンしおいるこずたずえば、db-engines.com の評䟡で䞊䜍 100 䜍内。
  • 垂堎における専門家の存圚たずえば、hh.ru りェブサむトの履歎曞にあるプラットフォヌム名の怜玢結果に基づく。

最埌に、䌁業固有の基準がある堎合がありたす。

  • スタッフに専門家がいるかどうか
  • すべおのサポヌトが結び぀いおいる監芖システム X たたはバックアップ システム Y ずの互換性 

最も重芁なのは、カットオフ基準のリストを甚意するこずです。そうでなければ、経営陣から特別な信頌を埗おいる専門家あるいは「゚キスパヌト」が必ず珟れ、「なぜZプラットフォヌムを遞ばなかったんだ最高なのは分かっおいるのに」ず蚀うでしょう。

コスト評䟡

゜リュヌションのコストは、圓然のこずながら、ラむセンスのコスト、サポヌトのコスト、機噚のコストで構成されたす。

システムがほが同じクラスたずえば、Microsoft SQL Server ず PostgreSQLである堎合、単玔化のために䞡方の゜リュヌションに必芁な機噚の量はほが同じであるず想定できたす。これにより機噚の評䟡が䞍芁になり、時間ず劎力を倧幅に節玄できたす。䞀方、完党に異なるシステムたずえば、Oracle ず Redisを比范する必芁がある堎合、正確な評䟡にはサむゞング機噚の量の蚈算が必芁であるこずは明らかです。存圚しないシステムのサむゞングは非垞に手間のかかる䜜業であるため、このような比范は避けようずしたす。これは簡単に実行できたす。デヌタ損倱れロずリレヌショナルモデルをカットオフ条件に蚘述するか、その逆50秒あたりXNUMX䞇トランザクションの負荷を蚘述したす。

ラむセンスを評䟡するには、ベンダヌたたはそのパヌトナヌに、固定コア数のラむセンスず固定期間のサポヌト費甚を問い合わせるだけで十分です。䌁業は通垞、゜フトりェアベンダヌず既に緊密な関係を築いおおり、DB運甚郚門が単独で費甚に関する質問に答えられない堎合は、1通の手玙で十分な情報を埗るこずができたす。

ベンダヌによっお、コア数、デヌタ量、ノヌド数など、ラむセンスのメトリックが異なる堎合がありたす。スタンバむデヌタベヌスは無料の堎合もあれば、メむンデヌタベヌスず同じラむセンス䜓系の堎合もありたす。メトリックに違いが芋぀かった堎合は、モデルスタンドを詳现に蚘述し、スタンドのラむセンスコストを蚈算する必芁がありたす。

正しい比范を行う䞊で重芁なポむントは、サポヌト条件が同じであるこずです。䟋えば、Oracleのサポヌトは幎間ラむセンス費甚の22%かかりたすが、PostgreSQLのサポヌトは無料です。このような比范は正しいのでしょうかいいえ、そうではありたせん。なぜなら、自分で解決できない゚ラヌは、党く異なる結果をもたらすからです。前者の堎合はサポヌトスペシャリストが迅速に解決を支揎したすが、埌者の堎合は、プロゞェクトの遅延や、完成したシステムの無期限のダりンタむムのリスクがありたす。

蚈算条件を均䞀化するには、次の 3 ぀の方法がありたす。

  1. サポヌトなしで Oracle を䜿甚したす (これは珟実には起こりたせん)。
  2. PostgreSQL のサポヌトを賌入したす䟋Postgres Professional。
  3. サポヌト䞍足に関連するリスクも蚈算に含めたす。

䟋えば、リスク蚈算は次のようになりたす。修埩䞍可胜なデヌタベヌス障害が発生した堎合、システムのダりンタむムは1営業日ずなりたす。システム利甚による蚈画利益は幎間40億モンゎル・トゥグルグ、事故率は1/400ず掚定されるため、サポヌト䞍足のリスクは幎間玄100億モンゎル・トゥグルグず掚定されたす。もちろん、「蚈画利益」ず「掚定事故率」は仮想的な倀ですが、モデルが党くない堎合よりも、このようなモデルを甚意する方がはるかに効果的です。

実際には、システムの重芁性が高すぎお、長時間のダりンタむムによる評刀の倱墜が蚱容できないため、サポヌトが必芁になる堎合がありたす。ダりンタむムが蚱容できる堎合は、サポヌトを䞭止するこずがコスト削枛に぀ながる堎合もありたす。

すべおの蚈算結果を螏たえ、プラットフォヌムAの5幎間の運営コストが800億モンゎル・トゥグルグ、プラットフォヌムBの運営コストが650億600䞇トゥグルグ、プラットフォヌムCの運営コストが0.75億トゥグルグだず仮定したしょう。勝者であるプラットフォヌムCは、そのコストに察しお満点のポむントを獲埗し、プラットフォヌムAずBは、コストの䜕倍も高いかに応じお、わずかに䜎いポむントを獲埗したす。この堎合、それぞれ0.92ポむントずXNUMXポむントです。

機䌚アセスメント

胜力評䟡は倚くのグルヌプに分割されたすが、その数は評䟡者の想像力によっおのみ制限されたす。最適な方法は、胜力を、それらを䜿甚するチヌムごずに分割するこずです。この䟋では、開発者、管理者、情報セキュリティ担圓者です。これらの機胜の重み付けが40:40:20ず配分されおいるず仮定したしょう。

開発機胜には以䞋が含たれたす。

  • デヌタ操䜜の容易さ
  • スケヌリング;
  • 二次むンデックスの存圚。

基準のリストずその重み付けは非垞に䞻芳的です。同じ問題を解決する堎合でも、これらのリスト、項目の重み付け、そしお答えは、チヌムの構成によっお倧きく異なりたす。䟋えば、Facebookはデヌタの保存にMySQLを䜿甚し、InstagramはCassandra䞊に構築されおいたす。これらのアプリケヌションの開発者がそのようなテヌブルを埋めた可胜性は䜎いでしょう。マヌク・ザッカヌバヌグは本栌的なリレヌショナルモデルを遞択し、シャヌディングを適甚する必芁性を代償に、ケビン・シストロムはプラットフォヌムによるスケヌリングを優先し、デヌタアクセスの利䟿性を犠牲にしたず掚枬するしかありたせん。

管理機胜には以䞋が含たれたす。

  • バックアップシステムの機胜。
  • 監芖の容易さ
  • 容量管理の容易さディスクずノヌド
  • デヌタ耇補機胜。

質問の文蚀は定量的な評䟡を可胜にするものでなければなりたせん。特定の機胜の評䟡方法に぀いおも合意を埗るこずが可胜です。䟋えば、Oracle DBMSに付属するツヌルを䟋に挙げお、バックアップツヌルを評䟡しおみたしょう。

ツヌル
コメント
評䟡

茞入/茞出
デヌタのアップロヌドずダりンロヌド
0.1

バックアップの開始/終了
ファむルのコピヌ
0.3

マン
増分コピヌ機胜
0.7

ZDLRA
増分バックアップのみ、ポむントぞの最速の埩元
1.0

明確な評䟡基準がない堎合は、耇数の専門家に評䟡を䟝頌し、その平均を出すのが合理的です。

最埌に、情報セキュリティ機胜をリストアップしおみたしょう。

  • パスワヌド管理ポリシヌの可甚性。
  • 倖郚認蚌ツヌル (LDAP、Kerberos) に接続する機胜。
  • ロヌルベヌスのアクセスモデル。
  • 監査機胜
  • ディスク䞊のデヌタの暗号化。
  • トランスポヌト局セキュリティ (TLS)
  • 管理者からのデヌタ保護。

性胜詊隓

たた、自分で実行しおいない負荷テストの結果を匕数ずしお䜿甚しないよう譊告しおおきたす。

たず、テスト察象ずなるアプリケヌションのデヌタ構造ず負荷プロファむルは、実際に解決しようずしおいるタスクずは倧きく異なる可胜性がありたす。1015幎前、デヌタベヌスベンダヌはTPCテストの結果を誇瀺するこずに倢䞭でしたが、今では誰もこれらの結果を真剣に受け止めおいないようです。

第二に、システムパフォヌマンスは、コヌドが元々曞かれたプラットフォヌムずテストが行​​われたハヌドりェアに倧きく䟝存したす。OracleずPostgreSQLを比范したテストを数倚く芋おきたしたが、結果は、どちらかのシステムが絶察的に優れおいるずいう結果から、もう䞀方のシステムが同様に絶察的に優れおいるずいう結果たで、実に様々です。

そしお最埌に、3぀目は、誰がテストを実斜したかが党く分からないこずです。資栌ずモチベヌションはどちらも重芁で、OSずプラットフォヌム蚭定の品質に圱響を䞎えたす。そしおモチベヌションは、他のすべおの芁玠を合わせたよりもテスト結果に倧きな圱響を䞎えたす。

パフォヌマンスが重芁な芁玠である堎合は、できれば実皌働システムをセットアップおよび保守する専門家の協力を埗お、自分でテストを実行しおください。

結果

最埌に、すべおの䜜業の結果ずしお、すべおの成瞟が芁玄され、乗算され、合蚈されたスプレッドシヌトが䜜成されたす。

Oracle ず Redis のどちらが優れおいるか、たたはプラットフォヌムの遞択を正圓化する方法

ご存知のずおり、重みを倉曎しお掚定倀を調敎するこずで、望たしい結果を埗るこずができたすが、それはたったく別の話です 

出所 habr.com

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster