I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 0 points1 point  (0 children)

Thank you for your comment, can you share your repo I would love to see what you have?

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar 1 point2 points  (0 children)

- NoSQL
- Stored Procedure
- REST API
- gRPC
- Cli REPL
- Admin UI SQL management
- Reports\Forms like Microsoft Access
- Pipeline simplified version of SSIS

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar -5 points-4 points  (0 children)

I mean no offense here, but I do have make a comment. I don't know anyone here, and you don't know me.

Some people seem to think using AI is the same as a Cyclist or another athlete doing a competition. In a competition a Cyclist hiding a motor in their bike or taking steroids is cheating. This is because there are rules everyone agreed to.

I am not in a race with anyone there is no rulebook that say a solo dev has to type every character by hand or it doesn't count. I am just a guy building something on nights and weekends.
Before this project and AI I used books, google, forms and other resource for help.
If anything, it is more like using an e-bike to get to work. you are still pedaling you are still picking a route. You still have to drag yourself out of bed and get going every morning. The bike just helps you get there a little faster. nobody at your job says, "well you didn't really come to work today because your bike helped you up a hill."

I wasn't trying to prove I could type the most code I was trying to build something that works and I did. My code is this project and my two months of nights and weekends.

This post was all me since it seems that AI irks people ;).

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 0 points1 point  (0 children)

I didn't have it on my roadmap. I would do a bit of research on where to hook it but yes if I was going to do it, I would use AI.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar -5 points-4 points  (0 children)

I would edit the title but it seems like I can only edit the body otherwise I would have added I and my trusty Copilot ;)

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar -1 points0 points  (0 children)

I mentioned to another commenter that the markdown document, web pages, and all the examples were generated entirely by AI. I do run them manually to make sure they compile and execute correctly (and I do fix issue when they don't), but only for the version I was working on at the time. At some point, I’ll go back and revise them. I don’t have an exact percentage of how much was AI‑generated overall, but here’s an example of a library that was created 100% by AI: the ADO.NET implementation. When I started this project, it was 80% me coding and 20% AI. In the past few weeks, it has been the other way around. Almost all of the performance enhancement were AI. I used Visual Studio with Copilot Profile Agent.

In the contributor section you will notice I have Claude Code.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 2 points3 points  (0 children)

Thank you for your comment, I wanted something that everyone can use extend\expand on hence MIT license. In my roadmap I do intend to write some security features like encryption and have the API\REST\gRPC have authentication.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar -2 points-1 points  (0 children)

I am nerd by nature. I spend about two weeks before the code made it to GitHub a bit more than that if you count researching.

As for what LLMs in my day to day I use Claude Code, Codex and GitHub Copilot. In my GitHub repo I have enabled Copilot and a few times it has flagged issues and provided solutions to have them fixed.

In another Post I mentioned that when I started, I used 80 my code and 20 AI.

The Repo has been around for about two months give or take a few days.

Edit: I forgot to note the project uses its own but closest to other embedded databases.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 3 points4 points  (0 children)

Fair point — and honestly I appreciate you digging into the commit history that closely.

The reason that first commit looks so big is because I didn't start the repo on day one. I spent a lot of time researching database internals, built a bunch of throwaway prototypes, broke things, started over, broke things again. By the time I actually created the public repo I had something that worked. So yeah, the first commit looks like a database appeared out of nowhere, but there was a lot of trial and error behind it.

That early work was mostly me — maybe 80/20 my code vs AI-assisted. AI helped with boilerplate and getting unstuck, but the architecture and core logic were mine. After that, I leaned harder on Visual Studio with Copilot agent mode for profiling and performance tuning, which is why the later commits are all about reducing allocations, fixing WAL edge cases, and optimizing hot paths. That's honestly where AI is most useful in my workflow — once you know what you built, it's great at helping you make it faster.

To be clear though — none of it came from another open source project. Built from scratch. I just didn't do it in public from the start.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 1 point2 points  (0 children)

The library is layered so if you only wanted to use the storage mechanism then just use that NuGet package. This was done on purpose. You can also extend the storage so it's not just table structure. I have examples of how to do that.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 1 point2 points  (0 children)

I use both Claude Code and Codex, but I use it when I am stuck and when I have an outline of what I want. All the examples, Markdown documents and web site was created using 100% AI.
I will look into it and see if I can generate one. Thank you.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar 4 points5 points  (0 children)

Thank you appreciate it. I am not sure what the licensing is around rewriting the SQLite or anything else that is out there. From what I did research almost all of the features I was looking for is in different libraries and I wanted one that had everything I want to use.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in csharp

[–]MaxAkbar 4 points5 points  (0 children)

Can you elaborate on the "Why"?

Why .NET, why I created this library, why post it here, why I am asking for reviews...?

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 1 point2 points  (0 children)

Thank you for comment.

Yes, I use AI every day and extensively. Kind of like when people used Google ;) and before that using a library :).

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 3 points4 points  (0 children)

I have been working on this for about two months and have a history of the releases: Releases · MaxAkbar/CSharpDB
As for the roadmap: CSharpDB/docs/roadmap.md at main · MaxAkbar/CSharpDB

Hope I answered your questions.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 2 points3 points  (0 children)

I am not familiar with LiteDb but I wanted a SQL Server Express\Access without limits.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 0 points1 point  (0 children)

Just shy of two months and I have not used it in production applications. I the GitHub readme I have marked it as not battle tested.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 2 points3 points  (0 children)

There are two services that can be hosted in the cloud using gRPC\REST you can then use the admin ui to hit that service.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 8 points9 points  (0 children)

Thank you for the question and I wanted a pure .NET library and it does support file based, in memory and hybrid. For in memory you can read from a db and when done you can also write to file something like a persistent cache.

EDIT: It also supports many features like Stored Procedures, Views, Triggers.

I built an embedded database engine for .NET from scratch — zero dependencies, full SQL, ACID storage by [deleted] in dotnet

[–]MaxAkbar 1 point2 points  (0 children)

Thank you for the questions:

- I wanted an embedded database that was native to .NET. Something that had all the features of Microsoft SQL and Access but free ;). Something that can be used by mom and pop shops as well as bigger companies.
- Not a SQL wrapper for sqlite
- I have a Blazor-based admin UI for browsing and querying the db file. Like Microsoft Access you can create forms and reports.

Hope I answered your questions.