RSS Etsy Engineering | Code as Craft

Масштабирование платежной системы Etsy с помощью Vitess: Часть 1 – Модель данных

Базы данных платежей Etsy столкнулись с проблемами масштабируемости в 2020 году, что потребовало миграции в разбиваемую на части среду, управляемую Vitess. Проект включал перенос 40 миллиардов строк из четырех баз данных в одну разбиваемую на части среду, используя Vitess vindexes для разбиения. Первый этап включал миграцию инфраструктуры бухгалтерского учета продавцов, которая имела оптимальную модель данных для разбиения. Второй этап был сосредоточен на уменьшении нагрузки на основную базу данных платежей, которая имела сложную модель данных, требующую более индивидуализированного подхода. Были рассмотрены два варианта для второго этапа: перепроектировать основную модель данных или найти разбиватели в существующей модели. Был выбран последний вариант из-за временных ограничений и важности поддержания надежности. Команда использовала существующие основные и внешние ключи в качестве разбивателей, уменьшив нагрузку по сравнению с первым этапом. Функции Vitess по перестройке разбивки на части обеспечивают гибкость для будущих корректировок дизайна разбивки. Вторичные индексы в Vitess компенсируют ограничения неоптимальной модели данных, позволяя целевым запросам к разбивкам без использования разбивателя в запросах. Это миграция улучшила масштабируемость на 60% и обеспечила место для будущего роста.
favicon
etsy.com
Scaling Etsy Payments with Vitess: Part 1 – The Data Model