Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rescrv
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
rescrv
10y ago
JS vs sparse C++? Cut comments and change coding style and you can easily get close to 500 lines. One thing I think is worth touching on is the pipelining ability of multi-paxos that is missing when you have a single register with the Syno
32.
▲
by
rescrv
10y ago
If you mean, "The Part-time Parliament," it's indeed a little complex. It's worth reading his description of the paper to understand why: http://lamport.azurewebsites.net/pubs/pubs.html#lamport-paxo
33.
▲
by
rescrv
10y ago
In order to get a linearizable read in Spanner, you do need to have a heartbeat from the leader of the Paxos tablet for the data you are reading in order to know that all data has been replicated up to the time at which you are taking your
34.
▲
by
rescrv
10y ago
Paxos's complexity is often overstated. I made a simple implementation of Paxos for a key-value store as a proof of concept to demonstrate how you can simplify Paxos by removing leader election, multi-master management, and log garbag
35.
▲
by
rescrv
10y ago
I'd ask you to please read the discussion section of the paper on Consus before calling Aphyr.
36.
▲
by
rescrv
10y ago
Almost every single host SQL solution I know of is built on a B-Tree for at least some of its properties. A B-Tree is nothing more than a lexicographically sorted key-value store. Consus is a lexicographically sorted key-value store. Where
37.
▲
by
rescrv
10y ago
"... In Modern times, Consus is very similar to the word consensus; not coincidentally the former uses the latter to serve as the protector of data."
38.
▲
by
rescrv
12y ago
Code here: https://github.com/rescrv/libmacaroons
39.
▲
Macaroons are better than cookies
(hackingdistributed.com)
5 points
by
rescrv
12y ago
|
1 comments
40.
▲
by
rescrv
13y ago
We use quite a few flags to issue warnings for our code[1]. The linked autoconf macro will detect whether or not the flags are supported on the detected compiler, and automatically add the flags to the build. It works for clang, gcc, g++,
41.
▲
by
rescrv
13y ago
I'm one of the authors of this post and am happy to answer any questions people may have about Replicant.
42.
▲
by
rescrv
13y ago
It uses shared writable mappings to reflect writes in the file on disk, and the core purpose of msync is to synchronize the file with the memory map. Your random quotes from man pages are out of context (and keep changing as you edit your p
43.
▲
by
rescrv
13y ago
Can you link to the man page you are reading, because this is not in the Debian page for mmap(2), which includes munmap. Additionally, the statement you quote explicitly relates to private mappings. LevelDB uses shared mappings.
44.
▲
by
rescrv
13y ago
Gavin posted a link to some corrupt LevelDB instances here: https://github.com/bitcoin/bitcoin/issues/2770 He also sent the same link to me via email. I took a look at them, and figured out what in the write
45.
▲
HyperDex 1.0.rc5: automatic scaling, live backup, and more
(hackingdistributed.com)
3 points
by
rescrv
13y ago
|
0 comments
46.
▲
by
rescrv
13y ago
There's also the HyperLevelDB fork which outperforms the Basho one by quite a bit for random write workloads. Here's a write up about it: http://hackingdistributed.com/2013/06/17/hyperleveldb/
47.
▲
by
rescrv
13y ago
We've kept the API is compatible with LevelDB. You just need to change the imports and link against libhyperleveldb.
48.
▲
by
rescrv
13y ago
Please look at the graphs again. Each comparison is done twice: once on hdd and once on ssd. This gives an apples-to-apples comparison for each platform.
49.
▲
by
rescrv
13y ago
We will try to push upstream those pieces that upstream would need. Some pieces, such as the autoconfiscated build system are likely not of interest to them, but of interest to us.
50.
▲
by
rescrv
13y ago
Here's a more-robust way to bootstrap: autoreconf -I ./configure make
51.
▲
by
rescrv
13y ago
I've not fully compared the code, but at first glance, they're choosing different constants for compaction (such as level size, and ratio of compacted-to-uncompacted data) and have done-away with the non-overlapping invariant for the first
52.
▲
by
rescrv
13y ago
I'm the HyperDex developer who did the work on HyperLevelDB. I'll answer your questions in order as best I can. 1. Our internal synchronization mechanism is a simple change. The stock LevelDB does the following: place our current o
53.
▲
by
rescrv
13y ago
We're doing our best to keep API compatibility with LevelDB and will do our best to keep true to LevelDB. That being said, it'd be great to see our changes flow upstream.
54.
▲
by
rescrv
13y ago
So we scale up to (num_cores - 1). We have 8-way and a 4-way machines. I'll update the page to make this clear.
55.
▲
by
rescrv
13y ago
And each of those individual operations must be preserved. The example of account credit/debit is not used because it reflects reality 100%, but because its a simple-to-understand example to illustrate the power of transactions. Most develo
56.
▲
The NoSQL Partition Tolerance Myth
(hackingdistributed.com)
19 points
by
rescrv
14y ago
|
0 comments
57.
▲
by
rescrv
14y ago
I am the lead developer on HyperDex Warp so hopefully I can answer any questions for you. We've put many sleepless nights into testing the code base and are always looking to improve our feature set and reliability.
58.
▲
HyperDex brings ACID transactions to NoSQL
(hyperdex.org)
12 points
by
rescrv
14y ago
|
3 comments
59.
▲
by
rescrv
14y ago
There's ongoing work to write one. Tibor Vass started hacking on it [1] awhile back. Scott Dunlop (swdunlop?) has recently started working on finishing the client. Hopefully he'll notice this and reply so maybe you won't have to write yo
60.
▲
by
rescrv
14y ago
It's also worth noting that Cassandra and MongoDB offer strictly weaker fault tolerance than HyperDex in these benchmarks.
More ›