the_precipitate

Joined 2 years ago

Karma
52
Submissions
24
Member since
Jul 22
View on Hacker News

Recent submissions

Comment · 9 months ago
With DRAM price this high, this is certainly a welcome feature. But how do you control write latency? B+ Tree is pretty bad at updates and LMDB, another BTree based storage is lightning fast on reads but quite bad on writes compared with RocksDB.
Comment · 1 year ago
FerretDB and DocumentDB seem to be the only other two Mongo-compatible open source database implementations. Both are based on PostgreSQL.
Comment · 1 year ago
I've been testing EloqKV against TiKV, and it's much faster, specially for in-memory reads. I was seeking an alternative solution to replace KVRocks, which is essentially just a single node RocksDB wraped with a Redis API, EloqKV easily outperforms it by a large margin. Moreover, EloqKV can scale to multiple nodes.

I personally think that using the Redis API as a real database interface is quite useful. It saves me from dealing with the complexity of SQL, and it’s very natural to map my needs into Redis data structures. Coming from a programming background rather than a traditional DB background, I find imperative programming far more intuitive than declarative SQL, which I cannot "compile in my head" as easily.

Overall, kudos to the team for building such a solid solution and making it open source under a proper GPL license, which is becoming rare for new databases these days.

Comment · 1 year ago
My understanding is that they have a common layer over which they hold full copyright, so they can license it however they like. But since this software is also used in EloqSQL (which includes MariaDB code) and EloqDoc (which includes MongoDB code), the license has to be compatible with both. That’s why they state that the code can be licensed under either license (note the OR part).

I doubt they would accept any code that cannot be re-licensed, because the common layer essentially “transmits the infection,” for lack of a better way to describe it.

Comment · 1 year ago
Thanks! I remember that for a long time Aerospike didn’t support transactions, and I just found out they rolled out this feature just a few months ago. I’ve always been a bit suspicious of NoSQL databases that add transaction support late in their lifecycle. MongoDB seems to fall into the same category, and its transaction support is, to say the least, rather unsatisfying.
Comment · 1 year ago
I have tried TiKV and TiDB but they are quite slow. EloqKV is much faster, especially for in-memory reads. I use it to replace KVRocks, which is just a single node KV store wrapper around RocksDB with a Redis API, and EloqKV nicely outperforms it.
Comment · 1 year ago
I have tested EloqKV for a pet project and seems it is quite solid. Performance is fantastic, far out-performing most databases with durability by a large margin. I am not sure about the distributed transaction correctness but all my tests seem to indicate it works as advertised, which is very interesting because the other distributed NewSql databases are all rather slow. Haven't tried their SQL and Mongo solutions, but they also look quite interesting.
Comment · 1 year ago
Kudos. Haven't seen many serious databases that are open sourced (GPL) instead of "SSPL" or "Source Available" for a while.
Comment · 1 year ago
To really appreciate inverted indexes, it’s worthwhile to study ISR (Inverted Stream Readers), a concept introduced by the great Mike Burrows. It’s also worth exploring encoding techniques like PForDelta. These elegant ideas demonstrate how true systems design masters can distill complex concepts into simple, powerful abstractions.

Edit: I stand corrected: it's called index stream readers (thanks atombender for pointing this out). For those who knows Mike Burrows only for the Burrows-Wheeler transformation (BZip), you might also want to know that he was also one of the main developers of AltaVista, the first real search engine for the internet. He also designed the early versions of Bing search engine. Eventually he worked for Google and designed their lock service called Chubby.

Comment · 1 year ago
And you do know that .exe file is wasteful, .com file actually saves quite a few bytes if you can limit your executable's size to be smaller than 0xFF00h (man, I am old).
Comment · 1 year ago
Self taught means you are self-motivated. You are not just looking at it as a job. That's why code quality is better. Interest is the most strong driving force for one to improve.
Comment · 1 year ago
TCP-in-UDP keeps TCP's battle-tested logic but wraps it to bypass middleboxes—great for legacy systems. QUIC is a clean-slate rewrite, better for new apps. Tradeoff: compatibility vs modern features.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton