Open Source Databases Comparison

系统 2002 0

The following table describes the comparison between several open source databases. The comparison will cover: HSQLDB, H2, PostgresSQL, MySQL, Derby in terms of their limitations and strength. This analysis could help to select database for our project.

 

 

PostgreSQL 8.2

MySQL 5.0

Apache Derby 10.3

HSQLDB 1.8

H2

OS support

First windows supported version, only support linux and windows, special compilation requires for other platforms

Supports Windows/Linux/Unix/Mac OSX

Any OS that can run Java

Any OS that can run Java

Any OS that can run Java

Documentation

Full pre and post installation documentations

Extensive pre and post installation documentations

Extensive pre and post installation documentations

Full pre and post installation documentations

Extensive pre and post installation documentations

License

BSD License - Free

Depends - GPL for open source or Commercial for commercial

Apache License v2 - Free

BSD License - Free

Modified MPL - Free

Maximum Database Size

Unlimited

Unlimited

Unlimited

Unlimited (depends on memory)

Unlimited (depends on memory)

Maximum Number of Tables

Unlimited

Unlimited

Unlimited

Unlimited (depends on memory)

Unlimited (depends on memory)

Maximum Table Size

32 TB

64 TB

Unlimited

8 GB

?

Maximum Row Size

1.6 TB

8 kB

Unlimited

Unlimited (depends on memory)

?

Maximum Field Size

1 GB

255 B

2 GB

Unlimited (depends on memory)

?

Maximum Rows per Table

Unlimited

Unlimited (Limited by tablespace of 64TB)

Unlimited

Unlimited (depends on memory)

Unlimited (depends on memory)

Maximum Columns per Table

250 - 1600 depending on column types

1000 columns

1012 columns

Unlimited (depends on memory)

Unlimited (depends on memory)

Maximum Indexes per Table

Unlimited

64 indexes

32767 indexes

Unlimited (depends on memory)

Unlimited (depends on memory)

Indexes

32 fields - B-Tree, R-Tree, GiST, and Hash

16 fields - B-Tree

16 fields

?

?

Interfaces

ODBC, JDBC, C, etc.

ODBC, JDBC, C, etc.

JDBC

JDBC

JDBC

Transactional

ACID-compliant

InnoDB type tables only - ACID-compliant

Yes

?

Yes

Bind Variables

Yes

Yes

Yes

?

?

Stored Procedures

Yes - SQL, PL/Tcl, PL/pgSQL

Yes

Yes

Yes

Yes

Trigger

Yes - SQL, PL/Tcl, PL/pgSQL

Yes

Yes

Yes

Yes

Row Level Locking

Yes

Yes

Yes

?

Yes

Timeout

Yes

No

Yes - deadlock detection and timeout

Yes

Yes

Error Code

Yes

Yes

Yes

Yes

Yes

Date Time

Broad range of date/time formats

Broad range of date/time formats

Broad range of date/time formats

Broad range of date/time formats

Broad range of date/time formats

Scalability/SMP

Each connection uses one CPU, but spread the processes of different connections across available CPUs

SMP is supported by using OS threads. All connections are executed in one thread, queries are not using multiple CPUs

Yes, embedded engine does all work in client threads

Multithread listener, but execute queries one at a time

Load Balancing

Select queries are distributed among the master and slave servers in random manner. Other queries are executed on master and replicated to slaves

MySQL clusters - handle transactions in a round robin manner

N/A

N/A

N/A

Replication

Slony1 replication solution, not core

Master-Slave replication and Chained replication

Master-Slave replication with manual fail-over

N/A

N/A

Online Backup

Write-ahead log and PostgreSQL point-in-time recovery, also Hot Standby System

Online Backup with Mysqldump, InnoDB Hot Backup (commercial add-on), MySQL Clusters commited log

Yes - Online backup utility

Yes - backup manually data files and redo logs

Yes - built-in tool

Cluster

PGCluster

in-memory, shared-nothing, replicatied to 4 replicas. If 1 node fails, currenct transaction fails even all other nodes survive

N/A

N/A

Yes?

Ease of Embedding in Java-based Application

Needs a lot of customizations

Can use MySQL Embedded

Almost no customization requires

Almost no customization requires

Almost no customization requires, and run as server after embedded

 

 


 

Open Source Databases Comparison


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论