Holy cow, this is an intense article, with great definitions for a bunch of detailed variations of distribute system jargon, and even has some nice images to explain the ideas!
My specialty is in eventually consistent data types, which there section is much smaller on, but they have some links to follow up on CRDT stuff.
> are often limited in functionality and impose performance overheads
This is for the most part true, with CRDTs. However we just formalized and proposed in a new paper, with some Stanford colleagues, how to construct a generalizable CRDT. One that actually lets other more case-specific CRDTs be built on top of it, which we use at gunDB, so that way you can get the advantages of the more optimized CRDTs but still have the rest of your data glued together.
Another set of really interesting CRDTs which they didn't mention, are the ones used for making decentralized versions of Google Doc:
- And we recently did a "layman" animated explainer of a similar algorithm, that explains it for the non-academically minded, with simple analogies to "distributed systems" that happen in every day life: http://gun.js.org/explainers/school/class.html
I'll definitely be referencing the OP's article in the future though. Even though I'm in this world, I constantly get the vernacular mixed up. And this will be a really great dictionary to use.
Holy cow, this is an intense article, with great definitions for a bunch of detailed variations of distribute system jargon, and even has some nice images to explain the ideas!
My specialty is in eventually consistent data types, which there section is much smaller on, but they have some links to follow up on CRDT stuff.
> are often limited in functionality and impose performance overheads
This is for the most part true, with CRDTs. However we just formalized and proposed in a new paper, with some Stanford colleagues, how to construct a generalizable CRDT. One that actually lets other more case-specific CRDTs be built on top of it, which we use at gunDB, so that way you can get the advantages of the more optimized CRDTs but still have the rest of your data glued together.
Another set of really interesting CRDTs which they didn't mention, are the ones used for making decentralized versions of Google Doc:
- Martin's Kleppmann has an exceptionally great/interesting talk on this: https://www.youtube.com/watch?v=yCcWpzY8dIA&feature=youtu.be...
- And we recently did a "layman" animated explainer of a similar algorithm, that explains it for the non-academically minded, with simple analogies to "distributed systems" that happen in every day life: http://gun.js.org/explainers/school/class.html
I'll definitely be referencing the OP's article in the future though. Even though I'm in this world, I constantly get the vernacular mixed up. And this will be a really great dictionary to use.