Proposal: Database Engine for D

Piotrek via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 31 09:14:55 PST 2015


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


More information about the Digitalmars-d mailing list