The goal of this post is to measure the craziness of an idea to embed a database engine into the D language ;)

I think about a database engine which would meet my three main requirements:
  - integrated with D (ranges)
  - ACID
  - fast

Since the days when I was working on financing data SW I become allergic to SQL. I though that NoSQL databases would fill the bill. Unfortunately they didn't. And I want to have an ability to write a code like this without too much effort:

  struct Person
  {
   string name;
   string surname;
   ubyte age;
   Address address;
  }

 DataBase db = new DataBase("file.db");
 auto coll = db.collection!Person("NSA.Registry");
 auto visitationList = coll.filter!(p => p.name == "James");
 writeln (visitationList);

And other things like updating and deleting from db. I think you get my point.

So I started a PoC project based on SQLite design:
https://github.com/PiotrekDlang/AirLock/blob/master/docs/database/design.md#architecture

The PoC code: https://github.com/PiotrekDlang/AirLock/tree/master/src/database

Can you please share your thoughts and experience on the topic? Has anyone tried similar things?

Piotrek

Reply via email to