I built Foyer: a Rust hybrid cache that slashes S3 latency
Объектные хранилища вроде Amazon S3 стали основой для современных систем данных благодаря почти неограниченной ёмкости, низкой стоимости и высокой долговечности. Однако их высокая задержка и стоимость каждого запроса создают серьёзные проблемы для приложений, требующих низкой задержки, таких как потоковые системы вроде RisingWave. Задержки в сотни миллисекунд накапливаются при частых чтениях, делая систему медленной и дорогой.
Для решения этой проблемы разработан гибридный кеш Foyer на Rust, объединяющий память и локальный диск. Он снижает количество обращений к S3, ускоряя доступ к горячим данным в памяти и тёплым — на диске, что сокращает задержки и затраты. Архитектура Foyer включает шардированный кеш в памяти для высокого параллелизма и дисковый кеш с эффективным управлением данными, координируемые единым компонентом. Это позволяет достичь баланса между скоростью и ёмкостью, критически важного для реального времени.
Комментарии (54)
- Обсуждение библиотеки Foyer для гибридного кеширования (память + диск) и сравнение с альтернативами (CacheLib, rclone, S3 Mountpoint, AWS Storage Gateway).
- Вопросы о производительности S3 и целесообразности кеширования из-за задержек и стоимости запросов.
- Технические детали реализации: инвалидация кеша, запись в S3, поведение в гибридном и in-memory режимах.
- Проблемы с работой сайта Medium (модальные окна, блокировка прокрутки) в Firefox.
- Критика формата комментариев и призыв к содержательным обсуждениям.
Will Amazon S3 Vectors kill vector databases or save them? 🔥 Горячее
Amazon S3 Vectors: убийца или спаситель векторных БД?
AWS запустил S3 Vectors — хранилище эмбеддингов прямо в S3. Цена низкая, интеграция в экосистему AWS очевидна. Кто-то уже похоронил специализированные векторные СУБД вроде Milvus, Pinecone, Qdrant. На деле — не так.
Почему это не конец векторных БД
- Стоимость поиска может быть выше, чем вызов LLM. У одного AI-стартапа расходы на векторный поиск в 2× превышают счёт за OpenAI.
- RAG вырос до миллиардов векторов за ночь. С3 не масштабируется до таких размеров без потери скорости и точности.
- Latency-требования изменились, но не исчезли. Пока LLM генерирует ответ, можно подождать 100 мс, но не 5 с.
Что умеет S3 Vectors
- Простой knn через REST / SQL-подобный язык.
- Хранит векторы рядом с объектами, без отдельного кластера.
- Цена: ≈ 0,32 $/млн запросов + стандартные тарифы S3.
Чего нет
- GPU-ускорения, HNSW, PQ, динамического индексирования.
- Фильтрация по метаданным на лету.
- Горизонтального масштабирования под высокую QPS.
- SLA на latency и точность.
Где пригодится
- Холодный архив, редкие запросы, прототипы.
- Совместная работа с полноценной векторной БД: S3 держит дешёвую «копию всего», а hot-слой (Milvus/Pinecone) — быстрый доступ к топ-N.
Итог
S3 Vectors — ещё один кирпичик в стеке, а не замена. Специализированные СУБД остаются единственным способом получить миллиардные индексы, фильтры и суб-100 мс latency без компромиссов.
Комментарии (113)
- S3 Vectors — это дёшево и сердито: холодное хранилище, top-k ≤ 30, фильтры после поиска, нет гибридного поиска и нормальной документации.
- Подходит лишь для низких QPS и «холодных» данных; для рекомендаций, высокого top-k или сложных фильтров придётся шардировать или выбирать другой продукт.
- Цена растёт ступенчато: одна «квантовая» добавка в фильтре может удвоить счёт; у некоторых компаний поиск стоит дороже, чем вызовы OpenAI.
- Альтернативы: Turbopuffer, LanceDB, Cloudflare Vectorize, pgvector в Postgres — каждый даёт больше контроля, функций и/или дешевле при миллионах векторов.
- AWS не раскрывает внутренности, поэтому сообщество тратит дни на реверс-инжиниринг; при превью-ограничениях производительность может вырасти, но гарантий нет.