Почему у каждого клиента своя база данных и свой пул
Спросите типичную SaaS-платформу, как она хранит ваши данные, и почти всегда услышите вариацию «логической изоляции»: ваши строки живут в тех же таблицах, что и у всех остальных, разделённые ID арендатора и изрядной долей надежды. В Clonext мы решили иначе: каждый клиент получает выделенную базу данных и выделенный пул приложения. Вот логика — и что это нам стоит.
Общие схемы оптимизируют в пользу поставщика
Одна общая схема восхитительно удобна — тем, кто ведёт платформу. Одна миграция обновляет всех, один пул соединений обслуживает всех, одна резервная копия покрывает всех. Экономика превосходна — ровно до момента, когда перестаёт быть таковой: сорвавшийся запрос одного арендатора портит задержки всем, ошибка миграции может открыть данные через границу, а «удалите мои данные» превращается в криминалистическое расследование вместо одной чистой операции.
Multi-tenancy незаметно переносит издержки с баланса поставщика в реестр рисков клиента.
Что здесь значит изоляция
Когда мы говорим «изолировано», мы имеем в виду уровень инфраструктуры, а не конфигурации.
- Выделенная база данных — ваши таблицы, ваши индексы, ваше хранилище. Никакой колонки арендатора, делающей работу безопасности.
- Выделенный пул приложения — ваши процессы, ваша память, ваш CPU. Пик соседа — не ваша проблема.
- Выделенные резервные копии — зашифрованы каждую ночь и восстанавливаются только в вашу среду.
- Ваш собственный домен — DNS, TLS и почта настроены для вас, от края до края.
Компромиссы, которые мы принимаем
Изоляция не бесплатна. Мы ведём больше баз данных, пулов и заданий резервного копирования, чем любая multi-tenant-платформа, а наша автоматизация обязана считать флот штучных сред нормой. Мы принимаем эту цену, потому что она покупает то, что нельзя подделать задним числом: радиус поражения, который заканчивается на вашей границе.
Важно: изоляция не значит отставание. Поскольку каждая среда построена на одном проверенном ядре, улучшения сверху всё равно доходят до вас в темпе платформы — скорость общей системы без общего домена отказа.