Live data from Hacker News

WhiteDB – Lightweight NoSQL database written in C, operating in main memory

whitedb.org

11–20 of 83 posts

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#12
post #9
post #3

Why, oh why GPLv3 for a linkable library? Request something more permissive (LGPL, MIT, BSD)?

Closed-source licenses are provided per request and the only restriction seems to be that you don't sell a DB system backed by the lib[1]. If you really want to prevent closed-source abuse of your library, a GPL-based dual licensing setup is the only way I can think of. 1 - http://whitedb.org/licence.html

Ah -- ok -- I got my info from the COPYING file in the git repo.

Regardless: "those which are distributed and marketed as database systems to be used by other developers" looks to be _full_ of wiggle room within what I suspect[1] is the authors intent.

[1] "I/somebody will/might make this a higher-order database tool for developers and I don't want anyone to compete with anybody else without forcing everybody involved (with this code) to open their entire codebase" (??)

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#16
post #7

Earlier quoted context omitted.

But it will be WEBSCALE!!1! /s

It is webscale... "Locking We use a database level lock implemented via a task-fair atomic spinlock queue for concurrency control ..." Fantastic, database level locking!

If the task is read-heavy (example: shared cache), it's mostly harmless.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#17
One of the authors here. A few answers quickly. It does write to disk: you can either dump memory or write all changes to log (turn it on/off yourself). Sure it has a global read/write lock, with several locking strategies to select from (task-fair atomic spinlock queue or a reader-preference or a writer-preference spinlock). It is definitely meant to be a simple library. We strived to document it carefully to make usage as easy as possible. Yes, you can very easily form lists, trees or any other pointer structures. Happy to see it on the Hacker News, we never really expected that :)

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#18
Looking at the benchmarks, I'm trying to rack my brain about how it outperforms redis consistently on every single benchmark for a simple associative map.

I don't know if this is likely, but it looks like redis doesn't lock memory [1], which means that the benchmarks could be explained by swapping. Depending on the type of shared memory used by whitedb, it could be that its pages are locked and immune to swapping.

[1] https://github.com/antirez/redis/issues/1177

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#20
post #9
post #3

Why, oh why GPLv3 for a linkable library? Request something more permissive (LGPL, MIT, BSD)?

Closed-source licenses are provided per request and the only restriction seems to be that you don't sell a DB system backed by the lib[1]. If you really want to prevent closed-source abuse of your library, a GPL-based dual licensing setup is the only way I can think of. 1 - http://whitedb.org/licence.html

[deleted]
Post reply on HN