Live data from Hacker News

UnQLite - An Embeddable NoSQL Database Engine

unqlite.org

51–60 of 88 posts

Re: UnQLite - An Embeddable NoSQL Database Engine

#51

The licensing is strange as well. The BSD license is listed as a feature, but the embedded scripting language (Jx9) is SPL (their own GPL-alike/Sleepycat license). Since the Jx9 language is fully embedded (even stated as " All C source code for UnQLite and Jx9 are combined into a single source file."), they seem to contradicting their own licensing. The resulting library would also retain the copyleft SPL license. Th…

From UnQLite core developer: No, Jx9 (the standalone library) is under SPL, while UnQLite is 2-clause BSD (including the Jx9 core), so there is no worry about that since the two software are developed by the same company. In other words, use UnQLite without restrictions

Re: UnQLite - An Embeddable NoSQL Database Engine

#52

A very uncharitable reading of the features seems to suggest that this is some strange bastard child of a hashmap, a scripting language interpreter, and a JSON serializer. I'm sure it's much more than that, but one wonders where this stacks up compared to existing solutions.

It looks like they started with the scripting language and this is a tactic of trying to get it out there (we all want to see our creations adopted, etc, so an understandable desire). Unfortunately the pitch is hitting some of the wrong notes by being a bit loose with the truth in some of the narrative (e.g. implies that Berkeley DB doesn't have concurrency or transactions, and claims of significant benchmark superio…

Indeed, BerkleyDB even is implemented with MVCC while as far as I can see they use a global lock. This means BerkleyDB is superior in regards of concurrency.

Re: UnQLite - An Embeddable NoSQL Database Engine

#53
post #20

If I wasn't going to get the benefit of my data automatically being distributed across servers, why would I use this? In many cases, NoSQL solutions seem to be a compromise that you make, giving up ACID (yes I know this has it) and other nice query features of databases and in return gaining the ability to scale to much larger amounts of data and having redundancy without needing to think about it. In this case thoug…

The point being that if you need a local data store, sometimes you would rather have a document-based one where you don't have to create the code to serialize your objects into (e.g.) a SQLite database, and to reconstitute them back.

A good example would be something like an address book data store. Especially if you want it to be dynamic so that the user can add/remove fields (e.g. allowing the user to attach as many phone numbers as they like to the contact, rather than just a static 5 numbers). If you have to implement this in SQLite, then you have to develop the schema for it, and the (de)serialization code. With a document-store, you can just do something like say "store these fields" and you're done with it.

  | giving up ACID (yes I know this has it)
If you know that this has ACID, then why are you talking about giving up ACID? The fact that many NoSQL implementations give up ACID doesn't have any bearing on this discussion.

Re: UnQLite - An Embeddable NoSQL Database Engine

#54
post #23

If you actually need something like this, there's Kyoto Cabinet, BerkleyDB and others that are well known and well tested. Why use something new with no apparent benefits? (and a lot of drawbacks) http://en.wikipedia.org/wiki/Berkeley_DB http://en.wikipedia.org/wiki/Kyoto_Cabinet Edit: For extra points, read this: http://www.aosabook.org/en/bdb.html

BDB is really slow, and KyotoCabinet is GPL. For some better alternatives, check out LevelDB: https://code.google.com/p/leveldb/ and LMDB: http://symas.com/mdb/

There are some decent benchmarks put out by the mdb guys here: http://symas.com/mdb/microbench/ .

Re: UnQLite - An Embeddable NoSQL Database Engine

#55
post #34

Earlier quoted context omitted.

What's wrong with BerkleyDB, Tokyo Kabinet, Kyoto Kabinet, LevelDB .. ? It's a real question because I haven't actually used them. SQLite is fine, but if you don't need sql they probably fare better.

Afaik, all of those require additional setup. SQLite3 is already included in Python. I also tested year ago several database options and SQLite3 was also the fastest one.

Maybe it depends on your work load, but thats not true if you just want a regular K-V store. LevelDB and LMDB are usually way faster: http://symas.com/mdb/microbench/

Of course, neither of these systems have indexing. If you want to use them directly, you have to organise your data so that you can translate your queries into range queries on an ordered set. The FoundationDB guys talk about this here: http://foundationdb.com/documentation/beta1/data-modeling.ht...

Re: UnQLite - An Embeddable NoSQL Database Engine

#57
I am working on a similar project: a persistent database in Node for Node projects, with no external dependencies. That means you can use it with a simple require(), no external software needed.

This is useful for small projects that don't need the power of a behemoth like MongoDB and want to be installable by a simple git-clone + npm install

I am very interested in feedback on it! https://github.com/louischatriot/nedb

Re: UnQLite - An Embeddable NoSQL Database Engine

#58

Is this what Richard Hipp was working on? It doesn't sound like what I remember hearing about back in 2011, but maybe things changed and I missed the news?

No. Dr Hipp and Damien Katz were working on UnQL ( http://www.unqlspec.org/display/UnQL/Home ), which is unfortunately quite similar in name to this new UnQLite project.

Actually, Hipp has said publicly that he intended to created a new embedded database called UnQLite.

It seems this developer just blatantly ripped off the exact name Hipp was planning to use. He also ripped off some of the core SQLite code (the VFS, etc.), which is legal to do since SQLite is in the public domain, but still...

Not cool.

Re: UnQLite - An Embeddable NoSQL Database Engine

#59

What an unfortunate name. I spent some confused minutes thinking that the author of SQLite had finally done a complete implementation of [1], which he has been involved in. [1] http://unqlspec.org

Yes, so did I, especially given that the author of SQLite said he was working on a new database with exactly this name, UnQLite.

This UnQLite developer is a first-class tool.

Re: UnQLite - An Embeddable NoSQL Database Engine

#60

The licensing is strange as well. The BSD license is listed as a feature, but the embedded scripting language (Jx9) is SPL (their own GPL-alike/Sleepycat license). Since the Jx9 language is fully embedded (even stated as " All C source code for UnQLite and Jx9 are combined into a single source file."), they seem to contradicting their own licensing. The resulting library would also retain the copyleft SPL license. Th…

From UnQLite core developer: No, Jx9 (the standalone library) is under SPL, while UnQLite is 2-clause BSD (including the Jx9 core), so there is no worry about that since the two software are developed by the same company. In other words, use UnQLite without restrictions

Care to respond to this complaint?

https://news.ycombinator.com/item?id=5751928

Post reply on HN