Building an English Auction With MongoDB
artsy.github.io
artsy.github.io
Not trolling, I'm genuinely asking.
I've been trying to gather objective information from people who have actually been successful with mongo about exactly why mongo was the best tool for that job.
> I spent a fair amount of time visiting engineering teams that have built internet auctions, most of which were transactional systems where taking a position on an item involved starting a transaction, running an auction round and committing the changes.
That sounds pretty straight forward, where are the pain points?
>In contrast, we chose to deliver a simpler, eventually consistent system on top of MongoDB, in which all data is immutable and where some level of serialization occurs within a single background process.
why was that simpler? what was stopping you from just inserting records instead of updating them? and why did it matter that serialization occurs in a single background process?
I think the work is interesting precisely because it achieves some of the benefits of transactional systems using a data store that isn't usually considered for these purposes. Immutable documents and serializing the processing of bids (to limit concurrent access), as described in the post, helped.