主要关系型数据库(Oracle、MySQL、PostgreSQL)的功能比较

スクリーンショット 2019-10-11 2.07.32.png

在这些中间,特别是针对Oracle、MySQL和PostgreSQL,我们简要对它们的功能进行了比较,并总结如下。

Oracle的主要特点

    Oracle社が開発・販売する商用RDBMS

行级锁定 jí

    複数のユーザーが同一の表の別の行に同時にアクセスするのでパフォーマンスが高い

读取的一致性

    ダーティ・リード(更新前の情報と更新後の情報の両方を取得)が発生しないように、更新前データのみを取得する

坚固性

    Oracle Data Guardと呼ばれる、災害時やデータ破損時などあらゆる障害からデータベースを保護し、サービスの継続を可能にするシステムが存在している

可转移性

    • Oracle Databaseは全てC言語で書かれいているので、幅広い運用が可能

 

    管理や開発の効率化のための様々なツールが利用できる

其他特點

    • トランザクションが自動的に開始する

 

    DDL(データ定義言語)やDCL(データ制御言語)の実行後に、コミットが自動的に行われる

MySQL和PostgreSQL的比较

    • MySQLは、MySQL ABが開発したRDBMSだが、現在の管理運営はOracle社が行っている

 

    PostgreSQLは、PostgreSQL Global Development Groupによって開発が行われている

许可证的差异 de

    • Oracleは高機能高性能のため圧倒的に高いです

 

    PostgreSQLはオープンソースソフトウェア
スクリーンショット 2019-10-11 2.06.29.png

创建的数据库类型

    PostgreSQLとMySQLは派生したデータベースが多く存在し利用されています。
スクリーンショット 2019-10-11 2.20.01.png

储存架构的差异

    • OracleやMySQLが「更新型」のアーキテクチャなのに比べて、PostgreSQLはストレージの管理方法が「追記型」のため、既存のデータの書き換えを行うことなく空いている領域を使って更新データを追記している

更新型 : 対象レコードをそのまま更新
追記型 : 既存レコードを保持したまま、新規レコードを追加して参照先を変更

なお、データ量についてはバキューム機能(VACUUM)により解決しているそう

スクリーンショット 2019-10-11 2.26.34.png

数据库功能比较

    • データ型や命名規制, 書式等はそれぞれ異なる形式になっているが大きな差は無い

 

    • Oracleはチェック制約があるが、MySQLではトリガーで実装する必要がある

 

    • OracleにはシーケンスがあるがMySQLにはなく、代わりに自動インクリメントで定義

 

    • Oracleはシノニム(オブジェクトに対する別名を定義)があるのに対し、MySQLとPostgreSQLには無い

 

    • OracleはNULLと空文字は同一判定だが、MySQLとPostgreSQLでは別枠

 

    • Oracleはトランザクションは任意単位だが、MySQLとPostgreSQLは基本的にSQL文単位で確定

 

    その他、実行計画の違いやヒント句の有無など
スクリーンショット 2019-10-11 2.27.53.png

请参考下列资料
仅需要一个选项

知道但又不知道!Oracle(甲骨文)是什么?
在2017年选择数据库时,
从SQL的角度整理出“Oracle Database”,“PostgreSQL”,“MySQL”的特点
选择PostgreSQL还是MySQL?数据库专家通过8个角度进行详细比较!

bannerAds