Top.Mail.Ru
Patterns image

Архитектурные
паттерны

Какие решения можно реализовать на Tarantool, и главное, как эти решения помогают цифровизации бизнеса? Узнайте на этой странице или сразу закажите демонстрацию Tarantool для ваших задач.

Надежная NoSQL СУБД

Github link Паттерн
в репозитории
Link icon
  • Производительность чтение и на запись RPS до 1 млн на ядро
  • Минимальные задержки ответа от 50 наносекунд
  • Синхронная и асинхронная репликация

Вы можете использовать Tarantool как полноценное хранилище и первоисточник данных. Наша СУБД быстрая, устойчива к сбоям, cоответствует ACID. На Tarantool удобно строить решения как для всего проекта, например, если вы только открываете бизнес, так и использовать его как отдельный компонент в микросервисной архитектуре. В любом случае дополнительная СУБД не понадобится.

Запись на диск, синхронная репликация и механизмы резервного восстановления позволяют хранить на Tarantool данные mission-critical систем. Например, профили пользователей или данные для авторизации.

Скорость работы Tarantool обеспечивает сервер приложений. Он плотно встроен в движок in-memory, за счет чего вы можете настраивать поведение базы под любые бизнес-задачи. Tarantool содержит два движка. Вы можете хранить данные только в оперативной памяти или часть из них переносить на диск, когда данных становится больше доступного объема ОЗУ.

Server 1

Консистентный кэш базы данных

Github link Паттерн
в репозитории
Link icon
  • Отказоустойчивость за счет репликации.
  • Персистентеность — кэш не требует прогрева.
  • Готовые коннекторы к основным базам данных, шинам, очередям — Oracle, Kafka, MySQL, PostgreSQL, MQTT и другие.

Это самый частый паттерн. Больше половины решений на Tarantool сделаны, чтобы ускорить legacy-системы. Когда одновременно пользователи обращаются к одному набору данных, кратно увеличивается количество операций на чтение. Нагрузка усиливается, скорость отклика ухудшается, клиенты нервничают. Простой пример — каждый сотрудник в день зарплаты проверяет баланс.

В этом случае Tarantool выступает как промежуточное хранилище данных. Он на порядки быстрее основной базы данных: выдерживает нагрузку свыше 100 тысяч RPS против 1000 для традиционной СУБД. Такое решение легко масштабировать через репликацию и шардирование.

Поскольку Tarantool хранит данные персистентно, то в режиме кэша ему не требуется прогрев. Это значит, что вам не нужно ждать часы, которые могут уходить на разогрев традиционного кэша. Tarantool сразу восстанавливает последнее состояние при рестарте за счет файлов упреждающей записи и снэпшотов.

Cache

Репликация данных из Oracle или MySQL

Github link Паттерн
в репозитории
Link icon
  • Автоматическая миграция и применение схемы данных
  • Производительность на чтение и на запись RPS до 1 млн на ядро
  • Готовые коннекторы к основным базам данных, шинам, очередям.

Репликация полезна для проектов, где нужно улучшить производительность и отказоустойчивость. Это способ масштабировать базу данных, когда информация с одного сервера постоянно копируется на другой — реплику. В данном случае в качестве реплики выступает Tarantool, что позволяет экономить на оборудовании.

Поскольку Tarantool хранит данные в оперативной памяти, вы можете улучшить скорость вашего решения. Для этого реализуйте подход Write-through, то есть проводите все операции на запись через Tarantool.

Реплики Tarantool вы можете расположить на разных серверах или на одном сервере, но в нескольких экземплярах. Для таких распределенных баз данных мы реализуем ACID-гарантии кластерных транзакций.

Replication

Персистентная очередь

Github link Паттерн
в репозитории
Link icon
  • Скорость операция PUT/GET в очереди до 100 тысяч RPS на один экземпляр.
  • Возможность шардирования — размещение данных на несвязанных серверах.
  • Коннекторы к основным базам данных, шинам, очередям — Oracle, Kafka, MySQL, PosgreSQL, MQTT и другие.

Очередь нужна практически во всех проектах. Ее используют, чтобы разъединить сложные процессы обработки и сгладить пиковые нагрузки. Самый простой пример работы с очередью — это массовые почтовые рассылки.

Архитектура Tarantool с сервером приложений прекрасно подходит, чтобы организовать очереди. Персистентность обеспечивает сохранность данных. Tarantool сразу восстанавливает последнее состояние после ресарта. Вы можете также можете создавать распределенные очереди на Tarantool.

Встроенный сервер приложений позволяет реализовать сложную логику работы очереди. Он поддерживает гарантии «At-least-once», когда при сбоях сообщение точно будет доставлено, но может прийти несколько раз.

Persistent

Расскажите о задачах вашего проекта, и мы составим для вас решение на Tarantool

Заказать
демонстрацию

Получить
консультацию