Перейти к основному содержимому

029 Архитектура: партиционирование данных

  • Зачем партиционировать данные
    • скорость чтения и записи возрастает — каждый участок работает независимо от остальных
    • сложно делать сквозные запросы по данным
  • Партиционирование часто делают вместе с репликацией
    • многие проблемы сходны и можно решить их одновременно
  • распределение партиций по нодам при шардирование и репликации
    • несколько партиций на ноду
    • выделенные ноды для репликаций или просто хранение партиции на нескольких нодах
    • равномерность распределения данных
    • распределение устойчивым алгоритмом
    • распределение с метаданными
    • взятие хеша от первичного ключа
    • равномерность распределения нагрузки чтения/записи
      • на примере использования времени в качестве ключа
    • term and document партицирование данных
      • локальный и глобальный индексы
  • перебалансировка
  • роутинг запросов
    • каждая нода является роутером
    • специальные роутинг ноды
    • умный клиент
  • проблема сканирования данных на разных нодах