Live data from Hacker News

Apache Pegasus - A horizontally scalable, high-performance key-value store

github.com

11–20 of 41 posts

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#11
post #6

Will be interesting to see the benchmarks! There's a lot of KV engines that uses RocksDB now, like CockroachDB (Forked into PebbleDB though), YugabyteDB and TiDB. Those are all many times slower than Redis though, so having a middle-ground aimed to be similar to Redis, that doesn't eat all RAM, is very exciting!

Isn't TiDB built on top of TiKV?[0]

[0]: https://github.com/pingcap/tidb

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#12
post #6

Will be interesting to see the benchmarks! There's a lot of KV engines that uses RocksDB now, like CockroachDB (Forked into PebbleDB though), YugabyteDB and TiDB. Those are all many times slower than Redis though, so having a middle-ground aimed to be similar to Redis, that doesn't eat all RAM, is very exciting!

> Those are all many times slower than Redis though

I'd appreciate if there any links/doc that I could look into to learn more about this?

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#13
post #11
post #6

Will be interesting to see the benchmarks! There's a lot of KV engines that uses RocksDB now, like CockroachDB (Forked into PebbleDB though), YugabyteDB and TiDB. Those are all many times slower than Redis though, so having a middle-ground aimed to be similar to Redis, that doesn't eat all RAM, is very exciting!

Isn't TiDB built on top of TiKV?[0] [0]: https://github.com/pingcap/tidb

TiKV mainly runs on top of RocksDB in most scenarios.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#14
post #6

Will be interesting to see the benchmarks! There's a lot of KV engines that uses RocksDB now, like CockroachDB (Forked into PebbleDB though), YugabyteDB and TiDB. Those are all many times slower than Redis though, so having a middle-ground aimed to be similar to Redis, that doesn't eat all RAM, is very exciting!

because you are comparing in-memory store with permanent storage. many kvdb can be run from memory if needed.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#15
post #5
post #4

Why yet another key value store?

KV stores are a complex topic and research continues. Each new tool comes with its own set of trade offs. It would help to go through the documentation.

> Each new tool comes with its own set of trade offs

Is the cognitive load this produces still worth the consideration? At what level do you have to operate for the gains to actually make viable business sense to even consider?

Sometimes I am thinking "Well, surely at Google level" – and then I load up one of their interfaces, for example Google Ads, and I have to sit around for 10s before anything even shows up.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#16
post #11
post #6

Will be interesting to see the benchmarks! There's a lot of KV engines that uses RocksDB now, like CockroachDB (Forked into PebbleDB though), YugabyteDB and TiDB. Those are all many times slower than Redis though, so having a middle-ground aimed to be similar to Redis, that doesn't eat all RAM, is very exciting!

Isn't TiDB built on top of TiKV?[0] [0]: https://github.com/pingcap/tidb

TiKV is basically a layer on top of rocksdb https://github.com/tikv/tikv/blob/956610725039835557e7516828...

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#17
post #5

Earlier quoted context omitted.

KV stores are a complex topic and research continues. Each new tool comes with its own set of trade offs. It would help to go through the documentation.

> Each new tool comes with its own set of trade offs Is the cognitive load this produces still worth the consideration? At what level do you have to operate for the gains to actually make viable business sense to even consider? Sometimes I am thinking "Well, surely at Google level" – and then I load up one of their interfaces, for example Google Ads, and I have to sit around for 10s before anything even shows up.

Or not at all like last week. Screens would take forever! It was better the next day luckily.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#18
Note that this seems to be a relatively old project, first commits from 2015. The project seems active, but most of the work seems to have been done around its inception, with some significant activity from 2020 onwards. Speculation/interpretation: So this might be a project that was used internally by some company, but perhaps not any more, and they've decided to open-source it at some point (2017-2018?) because some folks were/are still excited about it and want to keep developing it.

This might explain some of the "why yet another RocksDB-based KV store?" line of questioning.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#19
post #18

Note that this seems to be a relatively old project, first commits from 2015. The project seems active, but most of the work seems to have been done around its inception, with some significant activity from 2020 onwards. Speculation/interpretation: So this might be a project that was used internally by some company, but perhaps not any more, and they've decided to open-source it at some point (2017-2018?) because som…

> yet another RocksDB-based KV store

Aaah, there was a super informative talk about the different databases at Facebook, most of them built on RocksDB, with different trade offs. (And I can't find the video :((((( )

Anyway, it makes sense to have yet another it if serves a different purpose. Eg. for read-heavy workloads (caches, serving user feeds, whatever), or write-heavy (monitoring, storing that sweet sweet tracking juice that then gets read once or twice while building the recommendation models), small or large blobs, latency requirements, HA/consistency requirements, how complicated queries are going to be, does it support secondary indices or not, etc.

Re: Apache Pegasus - A horizontally scalable, high-performance key-value store

#20
post #5

Earlier quoted context omitted.

KV stores are a complex topic and research continues. Each new tool comes with its own set of trade offs. It would help to go through the documentation.

> Each new tool comes with its own set of trade offs Is the cognitive load this produces still worth the consideration? At what level do you have to operate for the gains to actually make viable business sense to even consider? Sometimes I am thinking "Well, surely at Google level" – and then I load up one of their interfaces, for example Google Ads, and I have to sit around for 10s before anything even shows up.

There are so many startups in the KV DB space that it's absolutely worth it. Now if one is a consultancy, they can very well used any available key value stores. But beyond a certain scale, it's very useful to try and customize a KV store. That's where it becomes useful.
Post reply on HN