🐘 Предел PostgreSQL для AI-тестовПредставьте платформу, которая выполняет UI-тесты без собственного Selenium-фреймворка.🫨
🌟 К примеру, есть сущность, которая сама управляет браузером, читает сценарии из репозитория и обращается к AI, чтобы найти нужные элементы на странице. Она получает в результате локаторы, снимок DOM, признаки элемента и сохраняет их в кеш. А затем использует эти данные для регресса.
=> Такую сущность назвали
Momentic CLI.
Её можно встроить в ваш CI/CD пайплайн. И выкинуть собственный фреймворк 👋
👀 Зачем кешировать?• Шаг с обращением к AI выполняется более 5 секунд
• С кешем - около 300 мс
• Меньше расходов на LLM
• Меньше недетерминированности в тестах
Компания предоставляла такой сервис и однажды упёрлась в лимиты PostgreSQL.
❗️Проблема ростаСначала в PostgreSQL хранилось около 80 тысяч записей. Но после разделения кеша по тестам, шагам, версиям CLI, Git-веткам и коммитам объём вырос до 1 миллиарда.
Начались:
• высокая нагрузка на чтение и запись
• постоянные обновления TTL
• конкуренция параллельных операций
• нестабильное потребление памяти и диска
• поиск последнего подходящего кеша среди сотен тысяч строк
💬 Решение было найдено - ClickHouseОбновления заменили вставкой новых версий через ReplacingMergeTree, а поиск ближайшего коммита с кешем вынесли в компактное материализованное представление.
🎯 Результат:• более 2 млн запросов к кешу в день;
• обработка почти 20 млрд записей в день;
• средняя задержка около 250 мс;
• Redis и PostgreSQL исключены из контура кеширования.
❗️ Главный вывод:
PostgreSQL был нормальным выбором для старта. Проблема появилась, когда небольшой изменяемый кеш превратился в миллиардное хранилище версионированных результатов AI.
Полная версия моего перевода с картинками на
Habr: Предел PostgreSQL: как кеш AI-тестов вырос до миллиарда записей и переехал на ClickHouse😳 Переезжали с PostgreSQL?Или хватает за глаза?))