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

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

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

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

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

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

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

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

Cache Cache

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

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

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

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

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

scroll-схема
Cache

Масштабируемость

  • Подходит, когда хранилище или кэш становятся слишком большими и не справляются с нагрузкой
  • Горизонтальное масштабирование выполняется с помощью встроенных инструментов шардирования и кластеризации
  • Можно сделать узлы на одной или нескольких машинах и масштабировать до 1000 кластеров за 40 минут

На сегодняшний день закладывать масштабирование сразу — это хороший тон разработки. Запас вертикального масштабирования очень легко исчерпывается. Горизонтально масштабировать работающую под нагрузкой систему сложно и дорого, готовых инструментов для этого нет.

Поэтому предусмотреть горизонтальное масштабирование экономически выгодно с самого начала проекта. По сути оно ничего не стоит, узлы можно сделать на одной машине, но в случае чего можно сразу растянуть. Все это можно легко сделать на in-memory платформе Tarantool.

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

scroll-схема
Scheme

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

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

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

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

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

scroll-схема
Replication

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

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

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

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

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

scroll-схема
Persistent

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

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

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

Спасибо за обращение

Специалисты Tarantool свяжутся с вами по оставленным контактам

Thanks
Thanks