Finland has a long tradition in inventing and developing new technology.

We see that the next technology that should be invented and solved is a database technology for the same Object Oriented Programming (OOP) paradigm which is the prevailing standard in software engineering.

We are proud to present a complete new object database system RootDB .

RootDB finally solves all the problems that have plagued object databases until today. In fact, RootDB does a bit more, for example RootDB has a new Level Query Language (LQL) that executes queries 100% concurrently exploiting all the execution power that is available in the hardware, i.e. in the multi-core processors that nowadays are used by nearly all computing devices (from the mobile devices to the servers).

Below is a picture of typical CPU usage in a LQL query:

LQL also provides an excellent technology for query tools where a layman can use common sense (= normal logical thinking) and nearly natural language in order to express even very complex queries.

The next level of OOP database technology includes:

  1. Full power of parallel computing.
  2. Efficient NoSQL processing of Big Data.
  3. Data structures from simple to complex object-oriented data structures.
  4. Object modeling freedom based on inheritance, polymorphism and abstract classes.
  5. Level Query Language ( LQL), queries according to the Object Oriented Programming ( OOP) paradigm.
  6. Transparent persistence for object-oriented data structures.
  7. Efficient management of complex object networks.

RootDB project is partly funded by Business Finland .

RootDB - Java Object Database

The relational database (RDB) technology has been the prevailing database technology from the early days of computing until today. The history of computing includes only a few attempts to challenge the dominance of the RDB.

For example, Object Oriented Programming (OOP) is currently widely applied and obviously it would be beneficial to have a database technology for direct operations on objects. This has been tried by some object database products but with very limited success.

At present object databases are rarely used and the RDB continues to have very well-established position in the database marketplace. One reason for the success of the RDB is that the infamous mismatch between OOP and object modeling capabilities of the RDB has been able to satisfactorily resolved, or at least alleviated, by the object-relational mapping (ORM) programming technique.

However, it seems that the RDB is unable to provide reasonable efficient and properly working solutions for complex object-oriented data structures and big data, and the RDB is also unable to utilize the full execution power of multi-core processors which are nowadays used by nearly all computing devices (from the mobile devices to the servers). These are severe handicaps for the RDB.

RootDB database provides the same Object Oriented Programming (OOP) model for database operations that is already widely used in application development. In fact, RootDB database is the first implementation of the so called transparent persistence that is also capable to handle efficiently complex object-oriented data structures with recursion and inheritance together with abstract classes. At present, RootDB database is available on Java programming language.

RootDB database provides new solutions for the Object Oriented Programming (OOP) that can be summarized in five features:

  • Transparent persistence for object-oriented data structures
  • Level Query Language ( LQL) for database queries according to the OOP paradigm.
  • Parallel computing on database queries.
  • Big data database for complex object-oriented data structures.
  • Efficient management of complex object networks with shared responsibility on sub-structures.

The complete feature list of RootDB database is described in detail below:

  1. An object model is defined by Java classes with a few RootDB specific annotations.
  2. Java classes define POJOs ( Plain Old Java Object) and the Java inheritance and abstract classes are also completely supported.
  3. Recursive object-oriented data structures are supported.
  4. Automatic garbage collector takes care of deleting garbage objects from RootDB database. The garbage collector works like the Java garbage collector on the heap data of a running program in the run time memory.
  5. All the normal database operations insert, update and delete are replaced by a single operation store. Although delete method still exists it is rarely needed because of the automatic garbage collector.
  6. The OOP programmer is completely free from the burden of programming the logic of database operations and the database schema.
  7. RootDB database is the first known complete implementation of the transparent persistence concept. This means that an OOP program can persist and access its object-oriented data structures directly, without any explicit defined conversion, in RootDB database.
  8. RootDB database maintains a lot of information about the context where an object exists in its object model. For example, objects know which objects are referencing to them and this information is efficiently and easily available.
  9. RootDB database provides a mechanism where the values of fields in a unique index or a known id value can be used to give a clue for the store method. The clue is given in a user class field of an object and if an object is found according to the clue then the found object is set to the field.
  10. An object model can be extended easily in spite of existing data content in RootDB database. New fields, classes, extended classes and relationships can be added without any extra effort.
  11. The Level Query Language ( LQL) is a completely new query language for complex queries of objects with full power of concurrency. LQL is easy to write and understand, completely object oriented and especially superior to SQL in complex queries.
  12. A query written by LQL has usually a length that is only a fraction of the length of the corresponding SQL query. In addition, often a query can be expressed by one LQL query when it requires more than one SQL queries.
  13. LQL has the not before seen logical operators for complex hierarchical object-oriented data structures with inheritance:
    • AND = intersection
    • OR = union
    • = difference
    • ! = complement
  14. LQL queries utilize the full power of computing hardware because the multiple threads available by the multi-core processors are automatically fully exploited.
  15. RootDB is implemented on MariaDB Server database system but other database products can be easily supported, too. The implementation database system provides also the transaction system that is directly used by RootDB. Thus the same level of transaction isolation is available with RootDB as is provided by the implementation database system.
  16. RootDB Android version on SQLite database is available in the near future.
  17. RootDB can easily be delivered on any other RDB system that provides the normal relational database features.

Get in Touch