4 ms·
The word database means transactions committed to a persistent, durable storage (such that the data could survive a reboot).
by lngnmn 10y ago
The word database means transactions committed to a persistent, durable storage (such that the data could survive a reboot).
- throwawayish 10y agoI correct you. You are wrong.
- castis 10y agoiirc "database" means an organized collection of data. persistence is just a nice feature.
- threeseed 10y agoIt literally means: "a structured set of data held in a computer, especially one that is accessible in various ways." You are right that restart survivable persistence has absolutely nothing to do with it.
- sbov 10y agoThis comment branch is a weird topic, but the implication of these definitions is that modern languages come packaged with multiple databases, some of which can scale to billions of writes per second (arrays, lists, sets, etc.)
- flukus 10y agoSo I can write a linked list and call it a database?
- eternalban 10y agoNo. OPs have datastores confused with databases. People used to get filthy rich (hi there Larry) building databases (which has all sorts of data access & management goodies) until 21st century came along and in the name of "progress" a hashtable with an HTTP interface was called a "database". Of course as nod to the said filthy rich guys from the 20th century we called them "noSQL" "databases" so as to let them continue to charge money from all those silly people in the 20th century that built their information systems on (the now "defunct" :) "databases".
- lngnmn 10y ago> OPs have datastores confused with databases. The other way around. All the in-memory stuff is nothing but a cache, distributed or not. Datastore is a layer, a set of routines and interfaces, which maintains persistent storage, such as Informix C-ISAM. I am old-school Informix DBA, so we knew that Larry has been a cheater.
- eternalban 10y ago> All the in-memory stuff is nothing but a cache, distributed or not. That's flat out wrong. A cache is a limited store that maintains a sub-set of the data that has been placed in it. Typically the eviction policy is temporal. A database or datastore on the other hand requires explicit removal of data that has been placed in it. p.s. Which is why we can meaningfully talk about "cache misses" in context of a perfectly functional cache, but "missing" data in a database is generally discussed in context of a buggy datastore or database. p.s.s. Most certainly we can have pure in-memory datastores/databases, as semantics of a database are orthogonal to its datastore component. And you don't have to take some random hn user's word for it. Go ahead and ask Michael Stonebraker. :)
- lngnmn 10y ago> That's flat out wrong. Oh, come on. Old time RDBMS have been designed to survive a sudden power outage - the system would rollback all the partially committed transactions to recover to the consistent state of the database. The durability and data consistency is what defines a database in the first place. For cache vs. database metaphor - think of the difference between a RAM-disk and HDD. This is fundamental difference. Protocol details are irrelevant. This is why, say, sqlite is a database, while redis is not.
- eternalban 10y agoYou are confusing the distinction between a cache & a non-durable datastore. Of course Redis is not a database, did I say it was? Data is implicitly removed from a "cache" in course of normal operation.
- lngnmn 10y agoNope. Old definitions still holds. If some hipsters are re-using the word to bullshit people it does not mean that correct connotations are deprecated.