|
||||||||||||||||||||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||||||||||||||||||||
| PostgreSQLのデータ構造は追記型 | ||||||||||||||||||||||||||||||||||
|
PostgreSQLの最大の特長を1つあげるとすると、テーブルファイル内に追記型構造にてレコードを格納している点です。この追記型構造により、非常にシンプルにMVCCモデルを実現している一方、不要領域を定期的に削除するためのVACUUM処理を定期的に実行する必要があります。 更新処理(UPDATEとDELETE)が多いシステムでは、頻繁にVACUUM処理を実施しないとPostgreSQLのデータベース処理の性能劣化に繋がります。しかし、VACUUM処理自体もデータベース処理に影響を与えますので、十分な配慮が必要です。 PostgreSQLは、バージョンアップを重ねるごとにこのVACUUM処理に関して改良が施されています。今後も更なる改良に期待したいところです。 |
||||||||||||||||||||||||||||||||||
| MySQLはストレージエンジンを選択できる | ||||||||||||||||||||||||||||||||||
|
MySQLの最大の特長は、ストレージエンジンをテーブルごとに選択できる点です。そして、その選択したストレージエンジンによって特長が異なることです。MyISAMは、テーブル単位のファイルによるデータ構造を持ち、トランザクション機能をサポートしていません。一方のInnoDBは、テーブルスペース内に複数のテーブルやインデックスを格納するデータ構造を持ち、トランザクション機能をサポートしています。 このように、代表的な2つのストレージエンジンにおいても、まったく異なる特長を持っています。よってMySQLをシステムに適用する際には、慎重に使用するストレージエンジンを選択する必要があります。 なお、MySQLのバージョン5.0では表2のようなストレージエンジンが使用できます。
表2:MySQLにて使用できるストレージエンジン |
||||||||||||||||||||||||||||||||||
| RDBMS付加機能 | ||||||||||||||||||||||||||||||||||
|
PostgreSQLとMySQLのRDBMS付加機能を表3にまとめました。
表3:RDBMS付加機能 表2にあげた各機能をさらに詳細の仕様まで比較すれば様々な差異があります。しかし、各機能をサポートしているかどうかといった観点においては、PostgreSQLとMySQLに特別な差はありません。 ただし、MySQLがストアドプロシージャやトリガ機能をサポートしたのはバージョン5.0からですので、PostgreSQLに比べると若干歴史が浅いと思います。歴史が浅いということは、それらの機能の実績がPostgreSQLに比べMySQLの方が少ないということに繋がります。 |
||||||||||||||||||||||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||

