I really appreciate the author for bringing this issue up but somehow the main/subordinate doesn't seem right too.
Wondering if people have thought about this. And if yes, what alternative terminology people have been following?
I'd suggest changing both, so you won't possibly be asked to change again later. I went with "Primary/Replica" here, because it's genuinely more logically descriptive of the roles, as well as moving completely away from older "traditional" use of language that might cause offence or hurt.
Think about master/slave hard drive controllers (the old IDE interface) for instance. And what about the Git "master" branch: what has to do with racists concepts?
And what about "master degree"?
Heck, in Germany quite a few two-letter abbreviations like "SS" are that taboo that you'll never find them even in numerical source code. ("SS" was the acronym for the Nazi storm troopers.) These letter combinations are utterly burnt and nobody uses them since the WWII was over.