|
|
|
|
|
by halomru
3347 days ago
|
|
How is Master/Slave discrimatory language? Who is discrimated there? In my eyes it is simply a factual description of an architecture: the master gives commands, the slave obeys. The slave doesn't act without permission from the master and only speaks when spoken to. I wish no such thing for any human, but it describes a great architecture for software and hardware. |
|
The real point here is that slave has a lot of meanings, currently and throughout history, and thus has a lot of baggage. A slave is not just someone/something that obeys or only speaks when spoken to. A slave is owned by its master. A slave is entirely under the domination of the master. That doesn't really map cleanly on to replication. A master database doesn't really own or control the slave database; it just provides a log of actions performed against it that the slave needs to mimic.
As I understand history, the master/slave metaphor has been used for a long time in technology (e.g., in machinery and photography), well before computers or software, but we have better terminology. Many organizations use primary/replica or even just master/replica.
Using replica instead of slave seems like an obvious win. It's more precise and clear, and it avoids the baggage. It's also more intuitive when you're using the slave DB for reporting, i.e., "read replica" makes more sense to me than "read slave". Maybe that's just me. I don't see a downside to using replica.