PostgreSQL vs MySQL – それらの違い
の主な違い PostgreSQL と MySQL
- PostgreSQL はオブジェクト リレーショナル データベース管理システム (ORDBMS) ですが、 MySQL コミュニティ主導の DBMS システムです。
- PostgreSQL JSON、XML などの最新のアプリケーション機能をサポートしていますが、 MySQL JSON のみをサポートします。
- 比較 PostgreSQL vs MySQL パフォーマンス、 PostgreSQL 複雑なクエリを実行する場合には優れたパフォーマンスを発揮しますが、 MySQL OLAP および OLTP システムで優れたパフォーマンスを発揮します。
- PostgreSQL 完全に ACID に準拠していますが、 MySQL InnoDB および NDB で使用する場合のみ ACID に準拠します。
- PostgreSQL マテリアライズド ビューをサポートしているのに対し、 MySQL マテリアライズド ビューはサポートされていません。

何ですか PostgreSQL?
Postgre は、オブジェクトリレーショナルデータベース管理システム (ORDBMS) です。カリフォルニア大学のコンピュータサイエンス学部で開発されました。Postgres は多くの概念の先駆者でした。
Postgre は、エンタープライズ クラスのリレーショナル データベース システムです。 セットアップも簡単で、 インストールするSQLとNoSQLをサポートしています。使用中に問題が発生した場合、喜んで対応してくれる素晴らしいコミュニティがあります。 PostgreSQL.
何ですか MySQL?
MYSQLは、広く使用されている人気DBMSシステムです。名前は、共同創設者のMichael Wideniusの娘であるMyという女の子の名前に由来しています。MYSQLのソースコードはGNU GPLで利用可能です。このプロジェクトは、 Oracle 株式会社。
これはRDBMS(リレーショナルデータベース管理システム)であり、主に リレーショナルデータベースモデル。 これにより、データベース管理がより簡単かつ柔軟になります。
との差 MySQL と PostgreSQL
以下は主な違いです PostgreSQL と MySQL:
MYSQL | PostgreSQL | |
---|---|---|
オープンソース | この MySQL プロジェクトは、GNU 一般公衆利用許諾契約書の条件に基づいてソース コードを利用できるようにしました。 | PostgreSQL の下でリリースされます PostgreSQL ライセンスは無料のオープンソースライセンスです。これは BSD および MIT ライセンスに似ています。 |
酸コンプライアンス | MySQL InnoDB および NDB で使用される場合にのみ ACID に準拠します。 Cluster ストレージエンジン。 | PostgreSQL 完全に ACID に準拠しています。 |
SQL準拠 | MySQL 部分的に SQL に準拠しています。たとえば、チェック制約はサポートされていません。 | PostgreSQL 大部分は SQL に準拠しています。 |
コミュニティ支援 | 既存の機能の維持に主に焦点を当て、新しい機能を時々追加する貢献者の大規模なコミュニティがあります。 | アクティブなコミュニティは既存の機能を継続的に改善し、革新的なコミュニティはデータベースが最も先進的な状態を維持するよう努めています。新しい最先端の機能とセキュリティ強化が定期的にリリースされます。 |
パフォーマンス | これは主に、単純なデータ トランザクションのためのデータベースを必要とする Web ベースのプロジェクトに使用されます。 | 読み取りおよび書き込み速度が重要な大規模システムでよく使用されます。 |
最適な | MySQL 読み取り速度のみが必要な場合、OLAP および OLTP システムで適切にパフォーマンスを発揮します。 | PostgreSQL 複雑なクエリを実行するときに優れたパフォーマンスを発揮します。 |
JSONのサポート | MySQL JSON データ型はサポートされていますが、他の NoSQL 機能はサポートされていません。 | JSON やネイティブ XML サポートなどの他の NoSQL 機能をサポートします。 また、JSON データにインデックスを付けてアクセスを高速化することもできます。 |
マテリアライズドビューのサポート | 一時テーブルをサポートしますが、マテリアライズド ビューは提供しません。 | マテリアライズド ビューと一時テーブルをサポートします。 |
生態系 | MySQL 次のような変種を含むダイナミックなエコシステムを持っています MariaDB、ペルコナ、ガレラなど。 | Postgres にはハイエンドのオプションが限られていました。 ただし、最新バージョンで導入された新機能により変更されています。 |
デフォルト値 | デフォルト値はセッション レベルおよびステートメント レベルで上書きできます。 | デフォルト値はシステムレベルでのみ変更できます |
B ツリー インデックス | 必要に応じて、XNUMX つ以上の B ツリー インデックスを使用できます。 | 実行時にマージされて評価される B ツリー インデックスは、動的に変換された述語です。 |
オブジェクトの統計情報 | かなり良好なオブジェクト統計 | 非常に優れたオブジェクト統計 |
スタック オーバーフローに関する質問 | 532K | 89.3K |
結合機能 | 結合機能を制限する | 優れた結合機能 |
GitHubスター | 3.34k | 5.6k |
フォーク | 1.6k | 2.4k |
製品を使用している著名な企業 | エアビーアンドビー、ウーバー、ツイッター | Netflix、インスタグラム、グルーポン |
の歴史 MySQL
- MySQL というスウェーデンの会社によって作られました。 MySQL AB 1995
- サンが買収 MySQL 1年に2008億ドルのAB
- Oracle 2010年にSunを買収し、それによって買収した MySQL
- 2012年には、 MySQL に分岐した MariaDB Monty Program Ab という会社の創立者 Michael Widenius による
- MariaDB 置き換え MySQL 2013 年のほとんどの配布では
- Monty Program Ab が SkySQL と統合 - 2013
- SkySQL Ab の名前が次のように変更されました MariaDB 法人 - 2014
の歴史 PostgreSQL
- INGRES 開発 - 1977 年
- Michael Stonebraker と彼の同僚は Postgres を開発しました - 1986
- 実際の ACID および PL/pgSQL のサポート – 1990 年
- -95 年に Postgres1995 としてリリース
- Postgres95 を次のように再リリースしました PostgreSQL 6.0 – 1996
- MVCC、GUC、結合構文コントロールおよび手続き型言語ローダーの追加 - 1998 ~ 2001
- バージョン 7.2 ~ 8.2: スキーマ サポート、ノンブロッキング VACUUM、ロール、dblink などの機能が含まれています – 2002 ~ 2006
- PostgreSQL 8.4年2009月発売
- PostgreSQL 9.0年2010月発売
- NYCPUG (ニューヨーク市) PostgreSQL ユーザーグループ) が PgUS (米国) に参加 PostgreSQL 協会)- 2013
- PGconf 開催 - 2014
なぜ使用 MySQL?
MYSQL を使用する重要な理由は次のとおりです。
- マスター/スレーブ レプリケーション、スケールアウトなどの機能をサポート
- オフロードレポート、地理データ配布などをサポートします。
- MyISAM ストレージ エンジンを読み取り中心のアプリケーションに使用した場合のオーバーヘッドが非常に低い
- 頻繁に使用されるテーブルのメモリ ストレージ エンジンのサポート
- 繰り返し使用されるステートメントのクエリ キャッシュ
- 簡単に学習してトラブルシューティングを行うことができます MySQL ブログ、ホワイトペーパー、書籍などのさまざまな情報源から
なぜ使用 PostgreSQL?
主な使用理由 PostgreSQL には次の値があります:
- テーブルパーティショニング、ポイントインタイムリカバリ、トランザクションDDLなどの便利な機能を提供します。
- 完全な PKI インフラストラクチャでサードパーティのキー ストアを利用する機能
- 開発者は、BSD に基づいてライセンス供与されているため、拡張機能を提供することなくオープン ソース コードを変更できます。
- 独立系ソフトウェア ベンダーは、オープン ソース ライセンスによる「感染」を恐れることなくソフトウェアを再配布できます。
- ユーザーとロールにはオブジェクトレベルの権限を割り当てることができます
- AES、3DES、その他のデータ暗号化アルゴリズムをサポートします。
の特長 MySQL
- MySQL コミュニティ主導です DBMSシステム
- すべての主要な言語とミドルウェアを使用してさまざまなプラットフォームと互換性があります
- マルチバージョン同時実行制御のサポートを提供します。
- ANSI SQL 標準に準拠
- ログベースおよびトリガーベースのレプリケーションSSLを許可します
- オブジェクト指向およびANSI-SQL2008互換
- 独立したモジュールを備えた多層設計
- カーネル スレッドを使用した完全なマルチスレッド化
- サーバーは組み込みDBまたはクライアントサーバーモデルで利用可能
- クエリ分析とスペース分析のための組み込みツールを提供
- 最大 50 万行以上のあらゆる量のデータを処理できます
- MySQL さまざまな種類の UNIX だけでなく、次のような他の非 UNIX システムでも実行できます。 Windows とOS/2
の特長 PostgreSQL
- 発展を加速させる活発なコミュニティ
- 最も一般的な代替手段 Oracle、DB2 および SQL Server
- 使用しているすべての主要な OS プラットフォームで動作します
- MVCCは多数の同時ユーザーをサポートします
- 高パフォーマンスのレポート作成のための広範なインデックス作成
- 最新のアプリケーション (XML および JSON) のサポート
- トランスポータブルなスキル/コードの ANSI SQL サポート
- データを効率的に保存するための外部キーのサポート
- 柔軟なデータ取得のためのテーブル結合とビュー
- 複雑なプログラムやトランザクションのためのトリガー/ストアドプロシージャ
- データのバックアップと読み取りのスケーラビリティのためのレプリケーション
使用のデメリット MySQL
- システムカタログに関連するトランザクションは対象外です。 ACID 準拠した
- 場合によっては、サーバーのクラッシュによりシステム カタログが破損する可能性があります
- プラグイン可能な認証モジュールがないため、アカウントの一元管理が妨げられます
- ロールがサポートされていないため、多くのユーザーの権限を維持することが困難です
- ストアド プロシージャはキャッシュ可能ではありません
- プロシージャまたはトリガーに使用されるテーブルは常に事前にロックされています
使用のデメリット PostgreSQL
- 現在の外部ソリューションは高い学習曲線を必要とします
- メジャーリリースのアップグレード機能なし
- データを新しいバージョンにエクスポートまたは複製する必要があります
- Double アップグレードプロセス中にストレージが必要になる
- インデックスを使用してクエリの結果を直接返すことはできません
- クエリ実行プランはキャッシュされません
- 一括読み込み操作はCPUにバインドされる可能性がある
- まばらな独立系ソフトウェア ベンダーのサポート
どちらが良いですか MySQL or PostgreSQL?
両方を比較した後、次のことが言えます MySQL 関連性を維持するために自らを改善するという素晴らしい仕事をしてきましたが、その一方で、 PostgreSQL、ライセンスは必要ありません。また、テーブル継承、ルール システム、カスタム データ型、データベース イベントも提供します。したがって、それは確かに上にあります MySQL.
まとめ
- MYSQL は、広く使用されている人気の DBMS システムです。RDBMS (リレーショナル データベース管理システム) であり、主にリレーショナル データベース モデルで動作します。これにより、データベース管理がより簡単かつ柔軟になります。
- Postgre は、オブジェクトリレーショナルデータベース管理システム (ORDBMS) です。カリフォルニア大学のコンピュータサイエンス学部で開発されました。Postgres は多くの概念の先駆者でした。
- MySQL というスウェーデンの会社によって作られました。 MySQL AB 1995。
- PostgreSQL -95 年に Postgres1995 としてリリースされました
- MySQL コミュニティ主導の DBMS システムです。
- PostgreSQL 活発なコミュニティがあり、開発を加速させています。