Database

OpenRegistry’s philosophy is to offer tailored solutions without imposing a “one size fits all” approach, even more so at the technical level. This is why OpenRegistry uses PostgreSQL, the best available database at this point. PostgreSQL is an object-relational database management system (ORDBMS) developed at the University of California at Berkeley Computer Science Department.
Hundreds of companies and global organizations have built products, solutions, web sites and tools around it, including

  • Safeway, Apple, Fujitsu, Sun Microsystems, Cisco, BASF, Greenpeace
  • The universities of Oslo, Sydney and Prague
  • United Nations Industrial Development Organisation and the U.S. State Department

PostgreSQL supports a large part of the SQL standard and offers many modern features such as complex queries, foreign keys, triggers, views, transactional integrity, multi-version concurrency control. Also, PostgreSQL can be extended by the user in many ways, for example by adding new data types, functions, operators, aggregate functions, index methods, procedural languages.
Proven technology and fully transactional, it frees the client from any dependency, in many ways:

1) Open source, no additional hidden costs

Over-deployment is what some proprietary database vendors regard as their #1 licence compliance problem. With PostgreSQL, no-one can sue you for breaking licensing agreements, as there is no associated licensing cost for the database software.

Some registry providers may license you their registry software, but this doesn’t include the fees you pay for the database system license. Such fees can be considerably higher than the registry software license itself. A typical setup for a brand TLD would then cost an additional 200.000 $ per year for Oracle licences. The OpenRegistry system may also be configured to run with another database system (such as Oracle) to adapt with the existing environment of the client, but does not lock the user into a proprietary solution.

2) Concurrency control guarantees database consistency

When storing and adding thousands, possibly millions of user data each day, it is essential that the database is and remains consistent. Consistency means that no invalid data are stored. Inconsistency can occur when f.i. simultaneous transactions, such as registrations, are not synchronized. The errors that are then created, are dragged along the way and are very hard to find and repair afterwards.

PostgreSQL offers the best set of tools to guarantee database consistency, using concurrent access to data.
Internally, data consistency is maintained by using a multi-version model (Multiversion Concurrency Control, MVCC). This means that while querying a database each transaction sees a snapshot of data (a database version) as it was some time ago, regardless of the current state of the underlying data. This protects the transaction from viewing inconsistent data that could be caused by (other) concurrent transaction updates on the same data rows, providing transaction isolation for each database session. MVCC, by eschewing explicit locking methodologies of traditional database systems, minimizes lock contention in order to allow for reasonable performance in multiuser environments.

3) Runs on a wide variety of OS platforms

  • Linux and other *nix systems
  • Microsoft Windows
  • Mac

4) It allows for a range of possibilities for standby, mirroring, and load balancing