Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Every programmer eventually creates own db: https://github.com/antonmedv/medb
 help



Building dbs is lots of fun. I recently did a few. Some in rust and some in go. And its really interesting.

Agreed. I went the route of building on top of something else. Sill lots of fun.

https://github.com/ncruces/go-sqlite3

And I'm still having fun.

https://github.com/ncruces/go-sqlite3/pull/421


And it's not complete until it can send and receive email.

Yep. I made a simple one in Bash even! (Do not recommend.)

You should've used recutils probably :)

https://labs.tomasino.org/gnu-recutils/


TIL!

Sharding would be so easy! Just run "split" and spread the chunks over a bunch of servers, then run "recutils" with "parallel" to retrieve!

Truly webscale.


No way(hides)

A file-backed hashtable isn't really a DB.

Well, dbm (database manager) is basically that and has been called that for almost 50 years

dbm isn't a database either, and people who call it that are simply wrong.

So... Databases weren't invented, until after the name was in common use?

If someone asked me what a DB is, I'd probably start the conversation with the exact description "a file-backed map, like a hashmap".

it's not a relational database, but those aren't the only kind.

In fact the name "relational database" implies there are other kinds.

Why not?

"Database" implies there's some sort of data aggregation or query primitive under the hood.

In 1971, the Database Task Group, presented the formalisation of a standard to approaches used at the time, CODASYL (1959), in the formation of... COBOL.

There is no query primitives in the CODASYL Data Model. Only a Data Manipulation Language.

Because "relational" databases didn't really happen until the early '80s - nearly a decade later. (SQL came directly out of work on CODASYL).

We had a Database Task Group, long, long, before we had the concept of a query primitive.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: