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


  • 相关阅读:
    Fiddler工具抓包
    简单Ant打包
    android中ActionBar的几个属性
    yum安装php7.2
    java 获取计算机内存
    docker apache安装
    docker 安装 openresty
    docker 安装nginx
    docker安装gitlab
    java获取时间格式
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3060172.html
Copyright © 2011-2022 走看看