Databases

Database (RDBMS or directories) are often seen has the foundations for almost all applications used within the enterprise.
  • RDBMS will be often used when there is many read and write. RDBMS, the SQL databases, can hold any kind of data, ordered and linked just like you want, but the protocols to access them may be more heavy than for directories
    • PostgreSQL, probably the most advanced Open Source RDBMS. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl or ODBC among others.
    • PostgresPLUS, an enhanced version of PostgreSQL, supporting transparent migrations from Oracle or MySQL, including the conversion of stored procedure.
  • Directories will be often used when there is many read and a few write. Directories, the LDAP databases, use a very strict organization of data, the so called LDAP schema who define how the data objects are organized. This is suited for database holding authentication and authorization information (like username and password) or address book information.
    • OpenLDAP, a very extended Open Source LDAP directory, supporting (since version 2.4) multi-master replication / synchronisation. Master-slave replication beeing supported since longer time. It has support for various backends (where the information physically resides) allowing complex deployment scenarios. With its technology of overlay, you are allowed to dynamically modify the results of the queries, like automatically resolving dynamic groups and presenting a list of their member objects based on the URI attribute.
    • Fedora Directory, which was know previously as Netscape Directory, if you prefer a solution with a nice and efficient graphical management tool to perform all the administration taks.