|
The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
[edit] General information[edit] Operating system supportThe operating systems the RDBMSes can run on.
Note (1): Open source databases listed as UNIX-compatible will likely compile and run under z/OS's built-in UNIX System Services (USS) subsystem. Most databases listed as Linux-compatible can run alongside z/OS on the same server using Linux on zSeries. Note (2): The database availability depends on Java Virtual Machine not on the operating system Note (3): Oracle Rdb was originally developed by DEC, and runs on OpenVMS Note (4): Oracle database 11g also runs on OpenVMS, HP/UX and AIX. Mac OS X is limited to 10g on PowerPC. 10g also supported BS2000/OSD and z/OS (31-bit), but that support has been discontinued in 11g. Earlier versions than 10g were available on a wide variety of platforms. Note (5): DB2 is also available for i5/OS, z/VM, z/VSE. Previous versions were also available for OS/2. [edit] Fundamental featuresInformation about what fundamental RDBMS features are implemented natively.
Note (6): For transactions and referential integrity, the InnoDB table type must be used; Windows installer sets this as default if support for transactions is selected, on other operating systems the default table type is MyISAM. However, even the InnoDB table type permits storage of values that exceed the data range; some view this as violating the Integrity constraint of ACID. Note (8): FOREIGN KEY constraints are parsed but are not enforced. Triggers can be used instead. Nested transactions are not supported. [1] Note (9): Available via Triggers. [edit] LimitsInformation about data size limits.
Note (1): Firebird 2.x maximum database size is effectively unlimited with the largest known database size >980GB[2]. Firebird 1.5.x maximum database size: 32 TB. Note (2): SQL Server 2008 will have minimum date of 0001-01-01[3] [edit] Tables and viewsInformation about what tables and views (other than basic ones) are supported natively.
Note (1): Server provides tempdb, which can be used for public and private (for the session) temp tables.[4] Note (2): Query optimizer support only in Developer and Enterprise Editions. In other versions, a direct reference to materialized view and a query hint are required. [5]. Note (3): Materialized views can be emulated using stored procedures and triggers.[6]. Note (4): Materialized views can be emulated with stored procedures and triggers using PL/pgSQL, PL/Perl, PL/Python, or other procedural languages.[7]. [edit] IndexesInformation about what indexes (other than basic B-/B+ tree indexes) are supported natively.
Note (8): Can be emulated by indexing a computed column (doesn't easily update) or by using an "Indexed View" (proper name not just any view works[1]) Note (9): Can be implemented by using an indexed view. [8] Note (10): A PostgreSQL functional index can be used to reverse the order of a field. Note (11): PostgreSQL will likely support on-disk bitmap indexes in 8.4. Version 8.2 supports a related technique known as "in-memory bitmap scans". Note (12): InnoDB automatically generates adaptive hash index entries as needed. Note (15): Can be implemented using Function-based Indexes in Oracle 8i and higher, but the function needs to be used in the sql for the index to be used. Note (16): The users need to use a function from freeAdhocUDF library or similar. [9] Note (17): Can be implemented using Function-based Indexes in Valentina. Note (18): Can be implemented for most data types using expression-based indexes. [edit] Database capabilities
|