I am one of the maintainers of this project you can ask any question here.
I am one of the maintainers of this project you can ask any question here.
But now when I look at the new repo and the online doc there is no mention of succinct data struct anywhere.
Also, the benchmarks back then claimed 10x or more faster than RocksDB. Now the performance claim is much more modest.
Does that mean TerarkDB no longer uses succinct data struct? Or are you just open sourcing a lower-end version of the software without the secret sauce?
Can you talk about what makes TerarkDB faster than RocksDB?
Here's the reasons: 1. Our `all-in-one` docs are still under writing, we will cover that part later. 2. For the performance part, we are now showing real-world cases, not a well-designed benchmark.(We selected the best result to show our work few years ago, don't want to do it anymore) 3. About why TerarkDB is faster than RocksDB will be explained in our `all-in-one docs` in one week, and most of the reasons are not magic, just engineering efforts
Thanks again for your remembering us.
So... You're saying there is magic? :)
What are the reasons for the perf improvements we see here?
"An error occurred. This browser is not supported, click here to learn more."
[1] https://bytedance.feishu.cn/docs/doccnZmYFqHBm06BbvYgjsHHcKc
I'm on firefox on MacOS too, and it happens with my ad blocker on or off. Chrome works fine. The support document linked in the error explicitly says only chrome and safari are supported on macos. I'm confused why my grandparent comment has been downvoted - this is a real bug report stopping me (and maybe others) from reading documentation that looks to have a lot of thought put into it. And given the content seemed to be loading fine before the error message came up, well, it feels forced.
1. We changed the source code too much that we are not able to merge it back to RocksDB easily (This project started at 2016 as an close-source project) 2. We have different road path with RocksDB (e.g. We will remove a lot of un-used code to make TerarkDB much more light-weight than current version in the future) 3. We have lots of third-party partners (e.g. Intel, on Opatane SSD/Memory and others with ZNS...) may participant in this project so we want to handle all commits ourself to make sure everything is under control.
EDIT: Detrimental to the original. Eg. Amazon forking and selling MongoDB.
Please someone feel free to correct me, but if I recall correctly a lot of the improvements in Vim 8 were a result of the popularity of functionality in NeoVim?
Second, even if you do the first, the whole thing gets screwed up again when you start trying to introduce vendor code into the mix. Generally, no one upstream gives a crap that you have super compelling business reasons to compromise on code quality (or even trivial things like how code is committed: tarballs vs good git hygiene), and vendors sometimes compromise a lot.
So it’s not surprising that sometimes groups choose to do the expedient thing to get something to market instead of doing things “the right way.” In a lot of respects, the original Android did this with Linux.
Competition is good.
Android vendors keep doing this over and over again with Linux, which explains why so many phones are stuck on old versions of Android.
Are they giving back the source? And letting Mongo merge their changes if they wish?
Because that's what open source is all about.
There are much more egregious and fundamentally different violations to open source namely those you mention in your comment.
The comparison figures presented looked really impressive, thanks for sharing it.
So RocksDB came from LevelDB and here we go again.
I want to address that we are not meant to "get rid of" RocksDB (which lots of KV engine claimed). What we want to do is provide another solution for storage engine users with different road path (focusing on new hardware and heavy-write workloads).
For simple use cases, there will be no difference no matter what engine you use.
And for most cases, upgrade your hardware (e.g. SATA SSD to NVMe SSD) or tuning your RocksDB parameters would save you lots time, just make sure you understand what you are doing.
There's no cue for every workloads, try TerarkDB if RocksDB happens not fit your scenario.
Almost all kinds of workloads are here since TerarkDB runs under too many database clusters (each cluster only serves a single application)