zoukankan      html  css  js  c++  java
  • Open Source Databases Comparison

    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


  • 相关阅读:
    关于使用CodeFirst,修改类或上下文时操作数据库报错解决方法
    解决:启用多线程调用webBrowsers函数报错:指定的转换无效
    强制IE浏览器或WebBrowser控件使用指定版本显示网页
    EF:分页查询 + 条件查询 + 排序
    (.NET高级课程笔记)委托、事件总结
    windows server 2008 磁盘挂载
    Git的使用
    VLAN原理详解
    Jumpserver的部署和使用
    进程与线程的理解
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3060172.html
Copyright © 2011-2022 走看看