Лучше всего в каком аспекте? С финансовой точки зрения, я бы выбрал много дешевого оборудования:)
MongoDB был создан для простого масштабирования между узлами, так почему бы не воспользоваться этим? Причина, по которой вам нужен только один или несколько мощных серверов для сервера SQL, заключается в том, чтобы минимизировать распространение реляционных данных между физическими узлами. Но поскольку MongoDB использует документы, большинство ваших связанных данных хранятся в одном документе. Это означает, что все они хранятся в одном и том же физическом месте, и вам не нужно выполнять дорогостоящие поиски на других узлах, чтобы восстановить «полную картину» ваших данных.
Еще одна вещь, которую нужно иметь в виду, заключается в том, что задания сокращения карт могут выполняться только параллельно в изолированной среде . Поэтому, если вы планируете много сокращать карты, большее количество осколков / серверов приведет к повышению производительности.
Что если ваша база данных превосходит ваши мощные серверы? Собираетесь ли вы инвестировать в еще один мощный сервер, который справляется с таким небольшим увеличением? Или что, если один из них падает? С меньшими и более дешевыми серверами вы можете увеличивать (или уменьшать) более постепенно, если возникнет такая необходимость. Кроме того, влияние сбоя сервера намного меньше, поскольку оно затронет только небольшую часть ваших данных.
Подводя итог: большой кластер серверов меньшего размера не является «серебряной пулей», поскольку управление таким кластером сопряжено со своими собственными проблемами, но это значительно дешевле и, возможно, быстрее, если вы выполняете сокращение карты. *