MongoDB использует репликацию главный-подчиненный, что означает, что все записи отправляются на один главный узел (ведомые являются просто резервными копиями или резервными или могут обслуживать операции чтения, которые не обязательно должны быть абсолютно актуальными).
MongoDB также имеет шард, который разбивает данные на шарды, каждый из которых имеет свой собственный набор репликации (т.е. свой собственный мастер). В результате, если записи распределяются равномерно по частям, производительность записи увеличивается.
До сих пор я рассматривал шардинг только как вариант горизонтального масштабирования: добавьте больше машин для размещения шардов.
Имеет ли смысл иметь несколько осколков на одной и той же машине только для разметки записей?
Machine A: [Shard A Master] [Shard B Replica]
Machine B: [Shard B Master] [Shard C Replica]
Machine C: [Shard C Master] [Shard A Replica]