4 ms·
FWIW, having worked with the Stripe API for ~5 years and put all our sales through them for the lifetime of the business, I wouldn’t have guessed they used Mong
by danpalmer 7y ago
FWIW, having worked with the Stripe API for ~5 years and put all our sales through them for the lifetime of the business, I wouldn’t have guessed they used MongoDB. The API is mostly excellent, and it has always presented a consistent view of the world to our side.
The same cannot he said for a number of other services we use, including those from some companies with supposedly very good tech credentials. We’ve had to back out of integrations due to the clear evidence that they are non transactional and/or eventually consistent.
- benologist 7y agoYou couldn't tell what backend they use just from their API unless there's some errant exceptions leaking information. Their test API might give us some clues. It can only purge your data one record at a time, at about 1.5 records a second, and locks your API credentials for however long it takes to crash or finish iterating through each object. I don't know what storage engine would have that constraint but they've stuck with it for years and simulate a fast test API with a whole other piece of software instead of just having a fast test API. What storage options don't have the ability to delete all your records at once quickly? If it was MongoDB there would surely be an index attaching the data to your account. Same with PostgreSQL.
- throwaway9980 7y agoI’ve worked with Stripe enough to have a hunch that it was Mongo. Never really thought much about it until it was confirmed here just now. There’s a lot of immutability in their system, tons of it makes sense but some of it smells of a weak data store.
- Rapzid 7y agoYou can make all those mistakes with a traditional RDBMS. Iterating over objects to delete them one at a time with database round trips is also a common mistake people make with ORMs(along with many other things that could have been done in one statement).