Talk:Comparison of relational database management systems

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing / Software (Rated List-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 List  This article has been rated as List-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software.
WikiProject Databases / Computer science  (Rated List-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Databases, a collaborative effort to improve the coverage of database related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 List  This article has been rated as List-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computer science (marked as High-importance).

Programming languages of the implementations?[edit]

What about adding a mention of the programming language(s) that each DBMS implementation uses?

How can MySQL possibly be ACID compliant? Surely it should be marked as "No" under ACID[edit]

The footnote for the MySQL DBMS support of ACID transactions says that the software will in some cases accept values outside a range specified in the data definition. I.e. .."violates the integrity [Consistency] clause"...

By my understanding of ACID compliance this is a blatant breach of the Consistency / Integrity clause of ACID compliance - i.e. that the transaction enforces the database is taken from one consistent state to another. If the data constraints are not enforced in the transaction and it is possible to commit values outside those constraints, surely the system is not ACID compliant. —Preceding unsigned comment added by (talk) 15:14, 7 February 2010 (UTC)

I'm changing this to 'yes' with a footnote saying the same thing that is stated in the MySQL article, that ACID is supported only when using what is sometimes not the default storage engine. The listing should say which databases SUPPORT ACID. not which ones enforce it using any possible combinations of settings and in even the rarest exception cases. I think you would find a lot of other databases would not pass your strict interpretation either, and my interpretation is arguably of more use and interest to the reader (if someone is selecting which database to use for example).

LarsHolmberg (talk) 17:38, 19 August 2010 (UTC)

Lars: that doesn't make sense. What you're saying is akin to "this car can can go at 300mph, but you'll have to design and build a new engine to make it do that". I would say 'support' means that the product can do this, without one having to write their own storage engine to get it. Loads of RDMS's support ACID properly and out of the box by my interpretation - PostgreSQL, DB2 and Oracle being but a few popular ones. The simple fact is that because of the above problem with InnoDB not supporting ACID Consistency (and there being no other available and out of the box storage engines able to provide ACID compliance), MySQL cannot be said to support it. (talk) 16:41, 21 February 2011 (UTC)

Anyway, InnoDB is not ACID compliant, the problem is *some* engines listed for MySQL are said to be ACID compliant (like they said InnoDB is ...) and I have no information to confirm that. Sure thing is, the word should be spread that InnoDB is not 'C' compliant, including on this page . // This brings the question of how this list was compiled and how many others aren't actually ACID compliant.Yourbane (talk) 10:23, 23 August 2011 (UTC)
How many are or are not strictly ACID compliant is an excellent question, but also a lot of work to figure out. The bold course would seem to change them all to "unknown" then change them to something that can be backed up with a reference, and keep out the changes that aren't checkable. ACID is a hot buzzword (and subject to ill-informed fanboiism in certain quarters) but all the same important enough to get it correct. Also, I support the notion that this is not a place for loose interpretations. ACID is much less useful if you only get it if you contort yourself. The only approach that makes having it useful is to make it strictly the default then optionally allow for carefully loosening the requirements for speed; the SQL standard supports this. Doing it the other way just doesn't make sense, unless you believe in the awesome power of "your mileage may vary". — Preceding unsigned comment added by (talk) 12:50, 9 February 2012 (UTC)

Someone needs to add information about FileMaker Pro.[edit]

Filemaker Pro has been around for a long time and is still used. Why is it not included? Lehasa (talk) 19:06, 17 January 2009 (UTC)

We need comparison about clustering capabilities[edit]

A table is definitely needed about the clustering capabilities of relational databases. For instance middleware, Master-Slave. Sync Multimaster, etc. Specially I don't have too much info about Sync Multimaster. So far I only know about Oracle and Microsoft SQL capable of that. I beleive MySQL doesn't have plan to include that and that Postgres is working on it but then I'm not sure. PLease clarify. —Preceding unsigned comment added by (talk) 07:55, 21 September 2008 (UTC)

Transaction types support[edit]

This page definitely needs an overview of which transaction types the databases support. For many applications, it is important that you can start a transaction, make 100 select queries over a period of 10 minutes, and know that the first and last query will deliver the same result if they're identical, even if the database is being used and written to by other users in the same time period. It's needed because that's the only way you can make correct multi-query reports from production databases. For instance, Microsoft SQL Server 2000 doesn't support this. Also, it would be interesting to know what the default transaction type is - because that's typically the one that people use. (talk) 06:48, 1 May 2008 (UTC)

I don't see the point you're trying to make, but this sounds like ACID 'C' and there is a whole column for that, even if it's filled with random values apparently (...)Yourbane (talk) 10:24, 23 August 2011 (UTC)
A agree that a section with a detailed ACID break-down is necessary. Pessimistic vs. optimistic concurrency, distributed transaction support, isolation level support, level of durability. This is one of the most difficult aspects of DBMS implementation and is one of the most important when comparing. -- (talk) 19:09, 15 November 2012 (UTC)

Tables and views[edit]

So Postgres doesn't have materialized views but gets away with a "it can be done with triggers"? In that case, the same should go for MySQL. Just do a search on "materialized views mysql" and you will get similiar solutions that use stored procedures and triggers. The implementation referred to in the footnote doesn't utilize any functionality specific to Postgres. --Juha001 11:26, 7 April 2006 (UTC)

Be bold and make the change! Find one of the solutions and make a footnote to it. Turnstep 15:39, 7 April 2006 (UTC)
I think we can't fairly say that either Postgres or MySQL "implements materialized views"; they can be crudely emulated with triggers and a procedural language, but that is hardly the same as a proper materialized view implementation. Therefore I've changed both table entries to "No", but kept the footnotes. Neilc 16:55, 5 September 2006 (UTC)
Are even the footnotes worth keeping? If so, that note should go on every DB server which has procedures and triggers. --Craig Stuntz 19:00, 5 September 2006 (UTC)
I agree, remove the footnotes, triggers do not qualify as a materialized view. However, if the DB implements materialized views by using triggers, and does so such that there are a few defects to the implementation, then I would side with a footnote, that revealed the difference. It just seems rather pointless to say, complex things can be borne from simplicity, or that triggers make a DB turing-complete. EvanCarroll 18:07, 31 May 2007 (UTC)

Why are Microsoft SQL Server's indexed views only "similar" to a materialized view? -- A.M. 14 April 2006

ease in reordering columns? Jaydlewis (talk) 04:50, 26 December 2008 (UTC)

SQL compatibility[edit]

Would this be the right place to compare SQL compatibility with each database? Or is there another article that does this? For example, Interbase does not seem to support the MINUS operator (part of SQL). I was hoping to find a table listing tidbits like these. The management guys might also like a comparison of how "SQL-compliant" a database is, when it comes time to consider one. // Brick Thrower 15:00, 25 January 2007 (UTC)

Personally, I think this information would be too complex to reasonably add to this article. Neilc 04:35, 10 February 2007 (UTC)
I think otherwise, and so I've made an attempt, if people wish to detail the differences let's allow it.EvanCarroll 17:59, 31 May 2007 (UTC)
I think you're right but this article looks like a lot of stuff put together and nothing really clean in the end. anyone got time ? ^^Yourbane (talk) 10:25, 23 August 2011 (UTC)

Abusing comparison[edit]

I can see the argument that an empty entry in a comparison table encourages people to fill them in, but it leaves the current state of the article appearing amateurish and silly. If so little is known about an entry as to make it useless for the purpose of comparison lets exclude it entirely, rather than insert a bunch of kludgy "?" reminding us of what we do not know. We can use the discussion area for notes until enough is known to make the addition useful. *Note* I have not taken the action of reverting anything. EvanCarroll 15:52, 26 July 2007 (UTC)

If you are suggesting (a) to remove a column full of "?" I agree - as long as the column does not contain anything else. If you are suggesting (b) to remove a row full of "?" I don't since the table contain a consistent list of DBMSes. Note that I am talking from my own readers perspective, not as an author. Semiliki 19:52, 30 August 2007 (UTC)

Additional information[edit]

A couple of other pieces of basic information about these databases would be useful.

A number of them, like Derby, are in-memory RDBMSes. This ought to be at least noted if not added as column of information. I'm not sure if there is some more general categorization of the RDBMS that this could be part of.

Are you talking about how Derby and Sqlite are embeddable inside of an application and are not meant to run as a separate server process? I think this would be a good column to put somewhere. --Krappie (talk) 00:49, 20 April 2008 (UTC)
Client-server vs in-process is an orthogonal issue to in-memory vs disk based. perhaps we should have an extra table to cover such issues as:
  • In-memory tables (where the master copy of the table is in-memory for speed of access); subsidiary questions relate to whether such tables are persistent (there is some way to preserve their contents in case of system failure) and/or replicated (eg, copied to a standby server, or to other nodes in a cluster, depending on the distribution model), and whether a mixture of disk-based and in-memory tables can be supported in a single database.
  • Client-server? in-process? (by in-process I mean that the database software is just a library that can be linked into an application, and runs in the same process as the user code; this is much faster, obviously, but a fault in the user code can corrupt the data structures used by the DBMS software, and such corruption might not be detected until very much later. Some in-process DBMSs are in-memory, others are disk-based. There is also a shared library + shared memory approach: multiple applications can have fast access to the data, especially if it is in-memory - but of course, the data vulnerability is increased.) A subsidiary question for client-server architectures is about remoteness and heterogeneity: can client and server be on different machines? Can they be on different operating systems? different underlying architectures (viz, x86 and PowerPC, with their different endianisms - for real fun, throw something like a VAX machine in the mix, with its curious floating point format!)?
  • Hot-standby capability? here a 2nd server keeps an up to date copy of the database, ready to take over at a moment's notice. Subsidiary question: is the standby updated synchronously or asynchronously? (The latter gives greater system performance, but decreases durability.) If asynchronous, can a client detect when its transaction is durable?
  • Cluster replication? here, the database is distributed on a cluster of 3 or more servers, in such a way that the failure of one node does not lose data nor does it break the overall service. This is different from partitioning, as each item of data has at least 2 homes. The distribution scheme may allow for partial replication, where a given server might only hold a selected subset of the overall database, or all nodes may hold identical data. Replication of this type requires n-way commits , and also complex logic to decide how to reconcile the data on the various nodes if connectivity has been broken. Ngpd (talk) 11:43, 21 April 2008 (UTC)

Nevermind the messy issue of SQL compatibility, but whether the interface to the RDBMS is SQL at all as opposed to something else should be noted. I believe Adabas is a non-SQL RDBMS, though there are SQL "gateways" that will translate SQL into a native Adabas query. There are also RDBMSes being developed (such as Rel and Muldis Rosetta) based on Date and Darwins 3rd Manifesto, which use implementations of Tutorial D instead of SQL. I think a column should be added title "Interface" or something similar, under which should be SQL for most RDBMSes, but may be other things. --Ericjs 17:06, 31 October 2007 (UTC)

ADABAS is not a RDBMS, so it is tempting to remove it from here. However, along with its add-on SQL gateway, as the ADABAS 2006 presentation paper at Software AG's says, perhaps the whole has many of the functionalities considered here. But so far, nothing has been filled in the tables for ADABAS, except for OS support and stored procedures (and i suppose that they're ADABAS-specific procedures anyway). So perhaps we could give it some more time, after which, if the desired info hasn't been added here, out it goes? Or, the other way around, whoever has the information will have to recreate the ADABAS rows in the tables? --Jerome Potts (talk) 06:32, 8 January 2008 (UTC)

Database Specific Proprietary Index schemes[edit]

The last two columns of the available indexes table, GiST and GIN are specific to just the one database. I'm sure that all databases have some such unique index schemes. I don't think that they really belong in this article. I propose removing these two columns. TallMagic (talk) 19:56, 1 May 2008 (UTC)

GIST and GIN are now supported by Informix as well. I suggest we keep the column for now. Gcalis (talk) 14:49, 16 March 2009 (UTC)

Deleted contributions[edit]

I'd like an admin to look into how this content was deleted. old revision I wrote that in 07' and it is still true today. How will anyone know what you mean when you say schema or database if the difference can be totally confused by a bad implementation. That is fairly unbiased and agreeably worded. I've added the content again, anew. If you have a problem with it bring it up onto the discussion page. EvanCarroll (talk) 04:11, 26 November 2008 (UTC)

Comparsion of Client Tools[edit]

eg pgAdmin vs SQL Server Enterprise Manager... Jaydlewis (talk) 04:55, 26 December 2008 (UTC)

Now this I would say does not make as much sense as you think it does. I honestly don't care about GUI's, my server doesn't and my application doesn't. Picking a DBMS based on a client tool would be a really bad idea anyway. AND there are many tools that work on many DBMS's (from what you say, you'd need to compare pgAdmin,Toad,others vs SQL Server... not only would it take ages but it would be biased and unimportant in the end).Yourbane (talk) 10:29, 23 August 2011 (UTC)

Access Control[edit]

I think 'Access control' section need to be renamed as 'Security'. It is more adapted as we don't speak only of access control but also confidentialy/encryption, security certification, ...


It would be nice to add some performance information here. Does anyone know about benchmarking tools for DMSs? Is there a reasonable way of comparesion at all? —Preceding unsigned comment added by (talk) 16:51, 9 March 2009 (UTC)

There are a few benchmarks that are industry standard ... but *real* benchmarks are rare, i.e. with comparable TCO, relevant workloads etc. I've got benchmarks that show MySQL >>> PostgreSQL and others that show PostgreSQL >>>>>> MySQL, both are wrong and you'd need some smart weighting in order to do anything with such benchmarking data anyway.Yourbane (talk) 10:31, 23 August 2011 (UTC)

Limits: maximum column name length[edit]

I'm going to add a column "MAX column name length". I do believe this information will be useful for people who is porting one database to another. For example from MS Sql Server to Firebird or Oracle.

I googled and found the following sources:

I know some might not confirm to the wikipedia standard for sources, but at least its a start.


Concurrent Data Readers[edit]

It could be interesting to add information regarding support for Concurrent Data Readers, that is the ability to "for a concurrent data reader to access more than one result set in the same database connection and query both of those result sets concurrently" AFAIK only DB2 ( and MS SQLServer (using M.A.R.S) support it (but I guess Oracle also supports it). I have searched of any indication that opensource databases support such feature (PostgreSQL, MySQL, H2, etc) but have been unable to find any page that confirms support.

I do not to which of the already existing table should the "Concurrent Data Readers" column should be added (or perphas a new comparision table with "Connection Capabilities" should be created? —Preceding unsigned comment added by (talk) 14:36, 6 July 2009 (UTC) (talk) 18:32, 28 May 2009 (UTC)

I have no idea what you call a concurrent data reader, but multiple queries and multiple results in one package (i.e. one connect/query/return) is possible with both pg and MySQL.
I also believe the 'concurrently' is a blatant marketing lie, you cannot seek in two places at the same time, you can however multithread multiple requests.. and that's a feature any decent DBMS has.Yourbane (talk) 10:34, 23 August 2011 (UTC)



The column "Max table size" says "4 GB * block size (with BIGFILE tablespace)" without any explanation or footnote. This isn't easy to understand and perhaps "4 GB" is misleading or even wrong?
The article Super-Sizing A Database: Oracle 10g Tablespace Enhancements by Jim Czuprynski 28th October 2005 explains this much better in the section "Size Does Matter: BIGFILE Tablespaces": "A BIGFILE tablespace's datafile can now hold up to 4,294,967,296 (yes, you read that correctly - the multiplier is over 4 billion) blocks of data storage space. This means that a tablespace could conceivably hold up to 128 TB of data if the maximum Oracle tablespace block size of 32K is used."
In other words an Oracle table can be: 4,294,967,296 * 32 kB = 128 TB.
--Ohedland (talk) 11:43, 19 August 2009 (UTC)

The assertion that the maximum row size in Oracle is 8KB is also incorrect. While it does not appear in a document, at least as of version 10.2 of Oracle, the row size can easily exceed 8KB. For example, this is perfectly valid:

   A1 CHAR(2000 BYTE),
   A2 CHAR(2000 BYTE),
   A3 CHAR(2000 BYTE),
   A4 CHAR(2000 BYTE),
   A5 CHAR(2000 BYTE),
   A6 CHAR(2000 BYTE),
   A7 CHAR(2000 BYTE));

This example can be extended to the full 1000 column limit to create a table with a physical row length of 2000000 bytes. So, while the row length limit is not apparently documented, it is definitely not 8K.

-- (talk) 15:30, 16 June 2010 (UTC)


MyISAM does not have a table storage limit of 256TB! The default pointer sized used by version 5+ is 6 bytes, so this is true *by default*. However all versions support up to 8 byte (64bit) pointers, and hence 2^64 bytes = 16 Exabytes is permitted. You can control this when creating your table or when altering it, by setting: MAX_ROWS and AVG_ROW_LENGTH. —Preceding unsigned comment added by (talk) 06:10, 18 December 2009 (UTC)

Err.. while that could possibly be true, I believe some testing is in order before talking about random unrealistic values (or I'll just whip out my 16 Exahertz CPU for the benchmarking part...) / Same goes for all the other DBMS's listing unrealistic limits that their engines may not be able to handle Yourbane (talk) 10:36, 23 August 2011 (UTC)

DBMaker not listed - why?[edit]

Been using the beastie for 8 years in decision support role. works OK - was their link IIRC. (talk) 19:02, 4 September 2009 (UTC)

Price of them?[edit]

Please add price of each RDMS. Thank you! —Preceding unsigned comment added by Meocon quyet doan (talkcontribs) 03:25, 19 January 2010 (UTC)

Most DBMS's do not have a single 'price' (apart from those that are totally free), and some allow a choice of licensing models. Pricing might depend on a number of factors, including
  • number of developers
  • number of client applications connected to a database
  • the number of people using the overall system
  • number of databases supported by a server
  • number of processor cores on the system running the server
  • the software features that are being used
  • the size of the database(s)
The price might or might not include the first year of support, and support fees may vary according to the level of response required. For some products, support fees might be tied to the price of development licenses while for others it is tied to the deployment licenses.
In summary, I believe it is seriously misleading to give the price for a product without a huge amount of explanation, and this may not be appropriate in a comparison chart. However, it may be sensible to give a link to a page on the manufacturer's web site giving pricing information (and perhaps a link to a page describing their pricing model(s)?). Ngpd (talk) 10:05, 21 January 2010 (UTC)
It's like benchmarking .. if we had some serious benchmarking, we could say for 10.000 points on benchmark A with DBMS B, you need xyz $$ - but honestly who has the time --Yourbane (talk) 10:37, 23 August 2011 (UTC)

Tidying up the Comparison[edit]

To adhere to Wikipedia policy, this comparison needs to include entries that have an article, and not include lists of external links. See for example Wikipedia:WTAF and Wikipedia:External links. Greenman (talk) 12:34, 4 February 2010 (UTC)

FEATURE TABLE USE OF NON-STD FOOTNOTES The Features table uses a confusing combination of standard (Wikipedia) footnotes and non-standard notes. I was going to add a web reference to the SQLite API, but edit PREVIEW the Wikipedia assigned footnote number was NOT the "NOTE" number at the bottom of the table. BTW, the reference to the SQLite API is: It wasn't strictly necessary for understanding to footnote the SQLite API (except to prevent it from being deleted), however the footnote glitch prevented me from listing GUI's that are specifically designed to work with SQLite, but that are only available at URLs other than GUIs for SQLite links:

 Jim.Callahan,Orlando (talk) 15:59, 19 September 2013 (UTC)

Can someone show what 'Shadow' partitioning is? It is a heading in the Partitioning table, but only Firebird and InterBase support it. Since these have a common origin, this would seem to be a platform-specific term. 'Shadow partitioning' is not mentioned in the Partitioning article, and I have not come across it in any RDBMS platform I have used. I suggest deleting this column. (talk) 16:17, 21 September 2010 (UTC)

If it refers to database shadowing, as it appears to at first glance, it's hardly unique to those two, and should be merged. Greenman (talk) 20:56, 21 September 2010 (UTC)

Why is AmigaOS (and possibly also Symbian) included on the operating system compatibility table? This should only really contain mainstream (server) operating systems. Perhaps changing Unix to AIX and Solaris would also be useful. M3TA(info) @ 19:49, 20 March 2011 (UTC)

In that sense I would also remove all toy or deceased software ... like Access or other random stuff .. but hey this is here for the sake of completeneess, so as long as you have access and dbase, why not add amiga ;) — Preceding unsigned comment added by Yourbane (talkcontribs) 10:39, 23 August 2011 (UTC)

Drizzle is on the list?[edit]

How can a non-relational DBMS be on a list of Relation DBMS's? Sounds quite weak to me, should be removed from this list just as all other DBMS's that do not support referential integrity which is the key to being relational. —Preceding unsigned comment added by (talk) 00:24, 11 March 2010 (UTC)

Could you add a reference? It seems like Drizzle supports Referential integrity and there is a table comparison for it.

Referential Integrity isn't the key[edit]

Some RDBMS, e.g. MySQL/MariaDB, have DB engines which maintain referential integrity, and some which don't. Claiming that they offer 'partial' support is misleading. They give you the choice of ACID conformance, when you need it, as well as offering options that don't incur the overhead. Open source is all about choice... — Preceding unsigned comment added by (talk) 15:32, 4 October 2014 (UTC)

"Free" licensed versions of proprietary products not handled well[edit]

The various tables don't document "free to use" versions of various proprietary products clearly.

For example:

Microsoft SQL Server Express (free to use, technical limitations) Oracle Personal Edition (ditto)

There are a number of others, I'm sure (DB2? Sybase? Informix?)

Also, lower cost cut down versions and embedded versions not well addressed

For example Oracle Standard One (cut down from Enterprise--may be best handled by a footnote) Oracle Lite (embedded, not code related) Oracle Times10 (in memory) Sleepycat (also now owned by Oracle, I think it qualifies as relational) (talk) 17:39, 19 May 2010 (UTC)MilesT

db vs schemas[edit]

section is 100% original research - marked as such Kaelfischer (talk) 22:38, 10 June 2010 (UTC)

Modern RD Only Option[edit]

Many people coming to the page are only interested in comparing current RDs to decide which to use. However, because all of the comparison tables are multiple screens long and compare every RD that has ever existed, they find the page to be mostly useless. We need a way to show only current information for those who want it, in order to increase utility. A method for allowing the viewer to sort information and suppress what they don't need would also be good.

This is a general comment applicable to all comparison articles. —Preceding unsigned comment added by (talk) 22:45, 15 October 2010 (UTC)

I do not mind removing obsolete databases. What databases would you remove? —Preceding unsigned comment added by (talk) 12:07, 1 April 2011 (UTC)
I would remove most of them but I don't think that's a good idea. IMHO we should take the big ones, put them on top (Oracle,DB2,MSSQL,MySQL,PostgreSQL,Sybase,H or SQLlite and maybe one or two more) and then let the rest of the information rot on the bottom of the page xDYourbane (talk) 10:41, 23 August 2011 (UTC)
I would only remove truly obsolete databases. But I would not change the alphabetical ordering. — Preceding unsigned comment added by (talk) 10:28, 5 October 2011 (UTC)

Limits Max Index Length[edit]

It may be interesting to also have a Max Index Length column in the Limits comparison but I do not have access to every database and this data is not quite documented in every database.

Would anyone also like to see it? Would you help me gather that information?

Here are the limits for MySQL InnoDB —Preceding unsigned comment added by (talk) 12:34, 1 April 2011 (UTC)

ALTER TABLE support[edit]

Some databases have very basic ALTER TABLE support

What section should include ALTER TABLE support? — Preceding unsigned comment added by (talk) 17:49, 26 August 2011 (UTC)

Native Replication API[edit]

I do not know what you mean by that.

Please add at least a reference or I will remove it. — Preceding unsigned comment added by (talk) 12:59, 21 September 2011 (UTC)

I had to remove Native Replication API as no one stepped up to provide a single reference. — Preceding unsigned comment added by (talk) 09:28, 17 October 2011 (UTC)

Proper fine grained locking[edit]

It seems like Oracle Database has proper fine grained locking while Microsoft SQL Server does not.

Would someone help me filling what databases have proper fine grained locking? — Preceding unsigned comment added by (talk) 10:12, 5 October 2011 (UTC)

A lot of databases are not locking but versioning. They has no 'fine-grained' locking because their only locks are (rarely) used for concurrent updates of one row by two+ transactions. These are Interbase-family (Informix, Firebird, Yaffi), PostgreSQL etc. Even MsSQL has an option for snapshots. So this 'fine' locking is not a self-sufficient feature but an option for locking databases only. \chAlx (talk) 11:04, 10 April 2015 (UTC)


Someone added MariaDB again to the comparison but being just a fork has (right now) exactly the same features.

Should we keep forks in the comparison that have the same features? — Preceding unsigned comment added by (talk) 10:35, 5 October 2011 (UTC)

Please categorize by serverless/client-server/etc.[edit]

I think that it this article would be a lot more useful if it would also categorize database management systems by whether they use a client/server model or are serverless, or any other kinds of IPC (Inter-Process Communication) that they use. For example this makes a big difference between MySQL and SQLite. I added the stub category "Category:Database management systems by process model". I also requested an article for "List of serverless database management systems". It would be helpful to programmers and readers to have a list of serverless database management systems here in the comparison groupings and/or in a separate article, and the DBMS's should be categorized as such.

Multiversion concurrency control[edit]

Some databases like Apache Derby do not support Multiversion concurrency control[1]

Should we add this feature to the comparison? Where should it be added? — Preceding unsigned comment added by (talk) 12:28, 25 May 2012 (UTC)

LibreOffice and OpenOffice Base[edit]

Is Base considered a relational database?, if so it could be added to comparision Jonpatterns (talk) 10:43, 12 May 2013 (UTC)

I can now answer my own question, the default database backend for LibreOffice is HSQLDB, with is compared here. Jonpatterns (talk) 14:09, 17 May 2013 (UTC)

Percona Server[edit]

As a currently-popular choice, I wish that this article covered the MySQL fork "Percona Server".

Doctorgage (talk) 00:07, 19 September 2013 (UTC)

Delete old (SaaS) databases?[edit]

If unmaintained but not SaaS, I guess not (disagree?). However for Saas as Xeround Cloud Database that planned to shut down by now even for paying customers I guess (if really gone). comp.arch (talk) 15:13, 26 February 2014 (UTC)

Review section[edit]

"Postgres lacks off-the-shelf cross-database functionality that MySQL has". Now that PostgreSQL has foreign-data-wrappers, I'm not sure this is true, but I'm not familiar with all the issues there. comp.arch (talk) 13:52, 14 April 2014 (UTC)

Edit Request[edit]

Hello, I have a conflict of interest for this article because I am being paid by NuoDB to help them add information. We would like to add NuoDB’s data to the following sections: Operating system support, Fundamental features, Limits, Tables and view, Indices, Database capabilities, Data types, Other objects, Partitioning, and Access control. I understand that I am not supposed to edit articles where I have a COI, so I’m asking for someone to do it for me. I have all the data and can provide it to any editor willing to add it for me. Bcooper87 (talk) 13:56, 28 May 2015 (UTC)

Thank you for being transparent about your conflict of interest! What is the name of NuoDB's product? In general, a person, product or organization added to a list should have a pre-existing article before being added to most lists. For example, all of the entries in Comparison of relational database management systems link to pre-existing product articles, not company articles. If you think that NuoDB's product qualifies for a separate, stand-alone article according to Wikipedia's notability guideline, I suggest you write a userspace draft. You can then ask someone to review it through Wikipedia:Feedback, the live help channel, or Articles for creation. Note that the creation of article drafts by, or on behalf of, article subjects is regarded by some Wikipedians as controversial and unethical. The draft should aim for neutrality, but there's no guarantee it will be used. Nor should it be incorporated into Wikipedia without sufficient review from a variety of editors in proportion to its scope and contentiousness. Any draft may be rigorously edited to conform with our policies. --Dodi 8238 (talk) 14:59, 28 May 2015 (UTC)
Thanks, I've put the information for the requested edit into my sandbox Bcooper87 (talk) 16:00, 10 June 2015 (UTC)
This help request has been answered. If you need more help, you can ask another question on your talk page, contact the responding user(s) directly on their user talk page, or consider visiting the Teahouse.

Hi! I am wondering if someone can help me with this request. Thank you!Bcooper87 (talk) 16:10, 23 July 2015 (UTC)

I don't see that we have an article on the product, as opposed to the company. I don't see any reliable sources for the information you want to add, much less inndependent ones. Huon (talk) 17:33, 23 July 2015 (UTC)

Why Oracle is marked as ACID compliant?[edit]

It doesn't provide ANSI SERIALIZABLE isolation level (allows non-serializable executions). So, it lacks full transaction isolation. Or, if ACID actually means nothing these days, why not just remove its line? This is the citation from this wiki ( "Snapshot isolation is called "serializable" mode in Oracle..." (talk) 01:26, 18 October 2015 (UTC) anonymous

External links modified[edit]

Hello fellow Wikipedians,

I have just added archive links to one external link on Comparison of relational database management systems. Please take a moment to review my edit. If necessary, add {{cbignore}} after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

N An editor has determined that the edit contains an error somewhere. Please follow the instructions below and mark the |checked= to true

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers.—cyberbot IITalk to my owner:Online 02:02, 29 February 2016 (UTC)

Referential integrity MySQL and MariaDB[edit]

In the table referential integrity for MySQL is yes and for MariaDB is partial. However, they both have the same limited note: "For other [than InnoDB] storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines." Perhaps this is a mistake and they are both partial? Jonpatterns (talk) 13:16, 16 April 2016 (UTC)

Max Row size on Limits table[edit]

Max Row size on Limits table would be better is values are listed in kb as the lowest unit - to make comparison easier. Jonpatterns (talk) 13:16, 16 April 2016 (UTC)


Improve SAP HANA related technical details[edit]

SAP HANA information is completely missing. I added some information. Does anyone know more details about HANA? Feel free to add more details if you have any information. — Preceding unsigned comment added by Stvw80 (talkcontribs) 05:11, 17 June 2016 (UTC)

Missing Databases[edit]

I can't locate MongoDB in here - but it's quite popular.-- (talk) 15:03, 12 April 2017 (UTC)

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Comparison of relational database management systems. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

You may set the |checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting |needhelp= to your help request.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers.—InternetArchiveBot (Report bug) 17:42, 11 August 2017 (UTC)