A database a standardized way of collecting and storing data. A web presence can access this data, create data, and or remove data.
Based on the plan that you have chosen you are given a set number of databases. This does not mean that you can only host one set of data. You can use a database prefix to create multiples sets of data but this, however, can be troublesome as your web presence expands. It can also hurt the performance of your sites as the traffic of 2 or more sites are accessing the database simultaneously.
It is recommended that a large site that receive large amounts of traffic they should separate their site's database to provide consistent performance and for ease of use and organization.
A table prefix is a string (a few characters) prepended to the name of your database table. Using a prefix enables you to run multiple websites using the same database, but these practices are not recommended.
This forms of technology are DBMS (Related Database Management Systems).
Name | MySQL | PostgreSQL | SQLite |
---|---|---|---|
Description | RDBMS (open source) | RDBMS (open source) | RDBMS (in-process) |
Primary Database Model | Relational DBMS Key/Value like access via memcached API |
Relational DBMS Object oriented extensions, e.g.: user defined types/functions and inheritance. Handling of key/value pairs with hstore module. |
Relational DBMS |
Secondary database models | Document store Key-value store |
Document store Key-value store |
Key-value store |
License | Open Source | Open Source | Open Source |
Implementation language | C and C++ | C | C |
Server operating systems | FreeBSD Linux OS X Solaris Windows |
FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows |
Server-Less |
Data scheme | Yes | Yes | Yes dynamic column types |
Typing | Yes | Yes | Yesnot rigid because of 'dynamic typing' concept. |
XML Support | Yes | Yes | No |
Secondary Indexes | Yes | Yes | Yes |
SQL | Yes | Yes | Yes (not fully supported) |
APIs and other access methods | Proprietary native API ADO.NET JDBC ODBC |
Native C library Streaming API for large objects ADO.NET JDBC ODBC |
ADO.NET JDBC ODBC |
Supported programming languages | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl |
.Net C C++ Delphi Java JDBC Perl PHP Python Tcl |
Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl |
Server-side Scripts | Yes | Yser defined functions | No |
Triggers | Yes | Yes | Yes |
Partitioning Methods | Horizontal Partitioning, sharding with MySQL Cluster or MySQL Fabric | Declarative Partitioning | None |
Replication methods | Master-master replication Master-slave replication |
Master-slave replication | None |
MapReduce | No | No | No |
Consistency Concepts | Immediate Consistency | Immediate Consistency | N/A |
Foreign Keys | Yes | Yes | Yes |
Transaction Concepts | ACID | ACID | ACID |
Concurrency | Yes | Yes | Yes |
Durability | Yes | Yes | Yes |
In-memory Capabilities | Yes | No | Yes |