620
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 20 Aug 2024
620 points (88.8% liked)
Showerthoughts
29447 readers
1672 users here now
A "Showerthought" is a simple term used to describe the thoughts that pop into your head while you're doing everyday things like taking a shower, driving, or just daydreaming. The best ones are thoughts that many people can relate to and they find something funny or interesting in regular stuff.
Rules
- All posts must be showerthoughts
- The entire showerthought must be in the title
- Posts must be original/unique
- Be good to others - no bigotry - including racism, sexism, ableism, homophobia, transphobia, or xenophobia
- Adhere to Lemmy's Code of Conduct
founded 1 year ago
MODERATORS
I've switched over to using primary/replica for database stuff because it's more accurate. The replicas don't always behave themselves so calling them "slaves" implies a level of obedience to the "master" that they don't have.
For a distributed database there is also fragmentation/sharing though. In this case calling the nodes replicas is not accurate. I guess you would call these “shard” or “dsta” nodes.
You are right about the “slaves” not behaving, in fact they jump on the chance to become the “master” themselves once the current “master” goes down. Then there is the split-brain problem.
It's really more like a worker boss relationship, but I would hesitate to call database nodes “workers” because this one is usually used for a processing engine like Spark.
A lot of distributed databases use the concept of quorum to prevent split-brain. Does that make them a kind of democracy?
Usually quorum is maintained by using odd numbering so that when one node fails the next sequential node assumes the role allowing quorum-election breaking any ties.
It depends, there are too many different databases to say they all use that approach.
In Cassandra all nodes are equal, but specific nodes hold specific parts of data. The only concept is the coordinator node which is the node that got the query. All nodes can handle all queries. The coordinator node is different per request.