I stumbled upon CUBRID via its Important Facts to Know about CUBRID page, where the first entry reads:
Naming Conventions:
The name of this DBMS is CUBRID, written in capital letters, and not Cubrid. We would appreciate much if you followed this naming conventions. It should be fairly simple to remember, itsn’t it!?
Got my attention!
Not for a lack of projects with “attitude” on the Net but a project with “attitude” that expressed it cleverly. Not just offensively.
Features of CUBRID:
Here are the key features that make CUBRID the most optimized open source database management system:
- High Availability (HA) – Probably the most important feature in any database management system.
- Powerful backup features – CUBRID open source database comes with easy to use backup/restore mechanism;
- High Performance – Powerful optimizations and features for increased performance;
- Java Stored Procedures – You may write CUBRID powered applications in a variety of languages;
- CUBRID Manager – Easy and Secure administration of all your CUBRID instances regardless of their location;
- CUBRID Query Browser – Lightweight version of CUBRID Manager;
- CUBRID Demo Applications – Try CUBRID Applications directly online with no installation required;
First time I have seen CUBRID.
Does promise a release supporting sharding in June 2012.
The documentation posits extensions to the relational data model:
Extending the Relational Data Model
Collection
For the relational data model, it is not allowed that a single column has multiple values. In CUBRID, however, you can create a column with several values. For this purpose, collection data types are provided in CUBRID. The collection data type is mainly divided into SET, MULTISET and LIST; the types are distinguished by duplicated availability and order.
- SET : A collection type that does not allow the duplication of elements. Elements are stored without duplication after being sorted regardless of their order of entry.
- MULTISET : A collection type that allows the duplication of elements. The order of entry is not considered.
- LIST : A collection type that allows the duplication of elements. Unlike with SET and MULTISET, the order of entry is maintained.
Inheritance
Inheritance is a concept to reuse columns and methods of a parent table in those of child tables. CUBRID supports reusability through inheritance. By using inheritance provided by CUBRID, you can create a parent table with some common columns and then create child tables inherited from the parent table with some unique columns added. In this way, you can create a database model which can minimize the number of columns.
Composition
In a relational database, the reference relationship between tables is defined as a foreign key. If the foreign key consists of multiple columns or the size of the key is significantly large, the performance of join operations between tables will be degraded. However, CUBRID allows the direct use of the physical address (OID) where the records of the referred table are located, so you can define the reference relationship between tables without using join operations.
That is, in an object-oriented database, you can create a composition relation where one record has a reference value to another by using the column displayed in the referred table as a domain (type), instead of referring to the primary key column from the referred table.
Suggestions/comments on what to try first?