Масштабные решения OLTP

Я ищу способ масштабирования инфраструктуры на моем рабочем месте. В настоящее время существует только одна база данных размером ~1,5 ТБ. Большинство запросов имеют тип OLTP, такие как вставка, обновление, удаление.

Я думал о том, чтобы защитить базу данных, используя что-то вроде структуры CitusDB, PostgresXL или MySQL, но я не знаю, какая именно, и является ли это хорошим решением для нас.

Это хорошее решение для такого рода запросов?

3 ответа

Citus может легко обрабатывать ~1,5 ТБ данных, а также может выполнять запросы вставки, обновления, удаления.

Для получения дополнительной информации вы можете проверить документацию: http://docs.citusdata.com/en/v5.2/performance/query_processing.html

Скорость приема данных в Citus: http://docs.citusdata.com/en/v5.2/performance/scaling_data_ingestion.html

Я вижу избыточную масштабируемость везде, поэтому позвольте мне быстро предложить не бессмысленный подход:

Что такое природный ключ шардинга? Часто это customer_id. Если клиенты более или менее изолированы (при использовании вашей системы), это будет работать нормально. Создайте базу данных для каждого клиента и автоматизируйте изменения схемы. У вас есть данные для всех клиентов? Настройте другой экземпляр базы данных, который содержит только эти данные. Сделайте два соединения с каждого сервера приложений.

Вам (также) нужна перекрестная аналитика клиентов? Запускать ночной экспорт и обрабатывать это в автономном режиме.

Может работать не для всех, но, по моему опыту, для более чем 90% бизнес-приложений.

Ох.. и ваш выбор технологии, очевидно, не имеет значения, но я бы выбрал open-source/free.

ClustrixDB регулярно обрабатывает рабочие нагрузки OLTP с высокой записью со многими ТБ данных. Он имеет архитектуру без общего доступа, является ACID и обладает встроенной отказоустойчивостью, и они были недавно приобретены MariaDB.

Недавно мы выполнили несколько тестов для измерения скорости приема Postgres-XL, и мы могли легко работать со скоростью до 9 миллионов строк / сек или 3 ТБ / час с кластером XL с 16 узлами. См. Этот пост в блоге для более подробной информации http://blog.2ndquadrant.com/load-data-postgres-xl-9m-rows-sec/

Другие вопросы по тегам