Every time I’m assigned to a project that uses a document database
“So how are you guys handling all your related data?”
Finds collection of massive JSON documents containing all the related data
“Oh boy.”
NoSQL has always been a niche use case thing.
For some stuff, no ACID is no problem. They have their place. What I’m more suspicious of is things like Google offering distributed databases that they pretend as if they could break the CAP theorem.
What’s ACID?
Atomicity: either all parts of the transaction complete, or all parts of the transaction don’t complete; there’s no “partly complete” state
Consistency: the state of the database after a transaction is stable; all “downstream” effects (e.g. triggers) of the query are complete before the transaction is confirmed.
Isolation: concurrent transactions behave the same as sequential transactions
Durability: a power failure or crash won’t lose any transactions
Traditionally, ACID is where relational databases shine.
But it’s webscale
I still suggest piping data to /dev/null during meetings to see who gets the joke
Oh man, do i have the product for you