Long road ahead

YouTrackDB
2 min readDec 30, 2024

--

I remember the first time I met with the passion of all my life — the OrientDB project.

Its state was, well, not as good as it is now, to say the least. However, I was so fascinated by this project's ideas that I rolled up my sleeves and started working hard to make the dreams reflected in it a reality. There were many mistakes, discoveries, and “aha “moments.

When SAP moved the OrientDB project to the sunset stage, it was one of the saddest moments of my life.

Thankfully for the YouTrack project, the OrientDB project has a new chance in its bumpy life to be reborn as the YouTrackDB project.

One of OrientDB’s mistakes was that it wanted to be everything for everyone, not fully utilizing the potential hidden by its design. My work on Xodus DNQ has confirmed this idea. Every developer who has worked with DNQ has characterized its design as the most developer-friendly database API ever seen. Surprisingly, Xodus DNQ and YouTrackDB share many ideas in common. They both try to avoid the complexities of relational databases and implement UX-friendly mapping of the application object-oriented model into the database storage model. Though DNQ does it by relying on K/V storage, that leads to apparent performance losses.

YouTrackDB aims to combine the strengths of both projects to be a one-stop entity store for server and desktop applications:

  1. It provides a seamless and transparent mapping of the application object model into a database model without hidden performance implications.
  2. Universal rich-client API can be used in all types of deployments (embedded, standalone server, distributed) without altering the application code.
  3. Because different schema modes are supported, starting from schema-less and ending with strict schema full, developers can begin working with a small database without thinking about schema and eventually enrich it with full-fledged database features, including security auditing, performance monitoring, etc.

YouTrackDB will stop being a universal database for every workload and every type of model. Instead, it will concentrate on delivering a single coherent model like the one described in Xodus DNQ without the zoo of terms and concepts from different areas hardly connected.

That leads to the following set of tasks that will be eventually implemented in YouTrackDB:

  1. Provide coherent public API.
  2. Finally, implement robust distributed storage based on the Raft protocol.
  3. Merge link-based and vertex/edge-based concepts into a single coherent model synchronized with the idea of relations between entities.
  4. Transaction isolation level will be increased to a serializable one with the ability to decrease it all down the road till read-committed to trade off consistency for performance.
  5. Implement ISO GQL query language standard and enhance it with capabilities needed for manipulation by entities.

All the changes above will allow YouTrackDB to be used as the default entity store for many application developers. Please join us on our journey and enjoy the database we create.

Sincerely yours,

Andrii Lomakin.

--

--

YouTrackDB
YouTrackDB

Written by YouTrackDB

Object-oriented graph database that effortlessly maps the application object model to the database storage format. https://github.com/youtrackdb/youtrackdb

No responses yet