Hacker News new | ask | show | jobs
by tpsreport 4835 days ago
> -My account balance went from 10 to 0 to 10

That could potentially indicate a database infrastructure problem. Eventually consistent databases can issue responses that appear to travel backwards in time. And [1] says this:

  Coinbase uses MongoDB for their primary datastore for 
  their web app, api requests, etc. Coinbase is a
  decentralized, digital currency that is changing 
  the world of payments.
[1] http://www.mongodb.org/about/production-deployments/
5 comments

As much as I love MongoDB it has way too many issues to use it as a primary data store for financial transactions. I hope they backed up and tested their backup recovery. Something tells me they're dealing with a data corruption/loss which wiped out their master and slaves without a backup. Perhaps if they've got decent logging they can piece it together with logs.
I barely trust MongoDB with my personal projects. It's shot me in the foot enough given they're not a very stable vendor (case in point, see the 2.4.0 replication bug -- we didn't get hit by that thankfully).

We've had issues where databases can get on divergent paths, then MongoDB will keep up to 300mb of the stuff it can't match in a directory and after that you're hosed.

It's absolutely insane if they are using Mongo as their source of truth (and not say some kind of caching layer). If there is one thing that should be ACID, it's financial transactions.
I wish I would have seen that they use MongoDB before using the site.

My account has data inconsistency issues. They are letting me double-sell coins, which makes me wonder if the first sale went through (at $70). Also, I have experienced up to 48 hours delay in sending BTC transactions out from my coinbase wallet. These sound like Mongo problems and they wouldn't be the first to have their Mongo databases fail under load. I am making screenshots of my major transactions to ensure that they are not lost. Hopefully they have the logs to get everything in the correct state eventually.

But it does not appear to be used for the financial transaction component, so its use should not be able to cause inconsistencies in account balances, etc.
For a moment there, it seemed we were witnessing what http://www.mongodb-is-web-scale.com/ had prophesied:

"Now I've contracted hemorragic e-coli from cleaning cow stalls and I'm bleeding out my asshole. I'll be dead soon, but that is a welcome relief. I will never have to witness the collapse of the world economy because NoSQL radicals talked financial institutions into abandoning perfectly good datastores because they didn't support distributed fucking map/reduce."

Thanks for posting this. It inspired me to figure out how to get my BitCoins out of Coinbase and into my own wallet.

I've used MongoDB enough to know that I don't want my money to be held by MongoDB.