Hacker News .hnnew | past | comments | ask | show | jobs | submit | jiryu's commentslogin

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/


Thank you for the kind words! I haven't really talked about it anywhere yet since it's fresh off the press, I'll definitely post it on the mailing list.


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.


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


Saw you on here last month and popped resumes in for the Technical Consultant and Tech Writer roles; radio silence ever since. Possible that something went wrong?


REM0TE possible from Europe?


w00t!


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.


Yes of course, but it's kinda slow if you have to maintain one compound index for each possible query you're going to run, that's why I was asking.


Nope, you can use the compound index 'a,b,c' to query over the following fields:

    a
    a.b
    a,b,c
The manual actually explains it like that.


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.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: