Open Source Databases Comparison
来源:互联网 发布:一维数组java 编辑:程序博客网 时间:2024/05/21 21:34
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
- Open Source License Comparison
- Open Source In-Memory Databases
- A Primer on Open-Source NoSQL Databases
- Comparison of open-source HEVC encoders - x265
- MySQL: Your visual blueprint for creating open source databases
- 开源无线驱动比较 Comparison of open-source wireless drivers
- Open source
- open source
- OPEN SOURCE
- Open Source
- Open Source~
- open source
- Databases
- Go Open Source
- Thoughtworks Open Source Available
- 什么是open source
- SugarCRM -- Open Source CRM
- 关于Android的This text field does not specify an inputType or a hint 问题
- php获取汉字拼音首字母
- 蓝桥杯模拟题java本科
- 百度UEditor在线编辑器
- 【Android】Adapter里面复写监听器
- Open Source Databases Comparison
- hdu 2491 Priest John's Busiest Day
- 网络流poj(1273)Drainage Ditches
- Google Guice 教程(1)
- 如何使用window自带的远程桌面连接进行远程文件的上传和下载
- 每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止
- SQL_TRACE的作用
- Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
- php用simple_html_dom抓取网页 Segmentation fault