jiryu
jiryu on Hacker News
That's a really cool technique oggy, I don't think I've heard of anything exactly like it. If you haven't told the TLA+ community about it yet, I'm sure they'd like to learn about your approach, either on the mailing list[1] or at the next TLA+ conference[2] in 2026.
[1] https://groups.google.com/g/tlaplus
[2] https://conf.tlapl.us/home/
I gave the presentation in the linked article, here's a written version of the presentation:
https://emptysqua.re/blog/paxos-vs-raft/I hope that the "Paxos vs Raft" debate can die down, now that engineers are learning TLA+ and distributed systems more thoroughly. These days we can design new protocols and prove their correctness, instead of always relying on academics. For example, at MongoDB we considered adopting the reconfiguration protocol from Raft, but instead we designed our own and checked it with TLA+. See "Design and Verification of a Logless Dynamic Reconfiguration Protocol in MongoDB Replication" for details: https://arxiv.org/pdf/2102.11960.pdf
"Avoid instant messaging at all costs" is definitely good advice. I usually forget to take three breaths before answering there, but I usually remember before I answer an email. Plus, I have GMail's "undo send" feature enabled so I have a few more secrets to repent before my message cannot be untyped.
Posted by
jiryu on Wednesday February 11, 2015 @10:34PM
from the emptysqua.re dept.
Posted by
jiryu on Thursday March 27, 2014 @05:48PM
from the emptysqua.re dept.
MongoDB, Inc. in New York City, Palo Alto, and worldwide. H1B welcome.
We make the open-source document database. Virtually all the software we make is open source. We solve very hard problems using C++, C, Java, Python, and a half-dozen other languages. I'm a Python programmer who's been working here for two years, it's the best gig I've had, and I've had many. Do you like coding, blogging, speaking at conferences, solving problems for customers, contributing to other people's open source projects? See the list of positions and apply here:
http://jobvite.com/m?3lb47gws
Posted by
jiryu on Monday July 22, 2013 @03:25PM
from the emptysqua.re dept.
No - it can only use one for a given query. But a compound index like the ones I describe in the post can index many fields.
Posted by
jiryu on Monday October 08, 2012 @01:46PM
from the emptysquare.net dept.
None, almost certainly -- if you have enough RAM to fit your working data set, then MongoDB's writes are just changing memory. If it does need to read data from disk before changing it, the new yielding architecture that others have mentioned will help prevent lock contention.
One of the reasons DB-level locking is actually quite important is that the replication oplog is on the 'local' database and your data is on other databases -- so your application is no longer fighting with replication for the write lock.
Posted by
jiryu on Wednesday July 11, 2012 @05:04PM
from the emptysquare.net dept.
Posted by
jiryu on Monday July 09, 2012 @10:55PM
from the emptysquare.net dept.
http://emptysquare.net/blog/motor-internals-how-i-asynchronized-a-synchronous-library/
I wrote Motor, a non-blocking MongoDB driver for Python and Tornado. Here's how it works.