← На главную

SurrealDB 3.x обогнала PostgreSQL, MySQL и MongoDB в тестах

29.05.2026 14:53 · hackernews

Разработчики SurrealDB опубликовали свежий раунд бенчмарков своей базы данных — на этот раз с честными настройками. Каждый движок гоняли на одинаковом железе: AMD Ryzen Threadripper 9970X (32C/64T), 128 GiB DDR5, NVMe, Ubuntu 24.04. Нагрузку давали через открытый инструмент crud-bench — 128 клиентов, 48 конкурентных запросов каждый, таблицы от 5 до 15 миллионов строк со смешанными типами данных. Главное изменение по сравнению с прошлым тестом: везде включили fsync и полную запись на диск. Никаких кэшей в памяти — если транзакция подтверждена, данные уже на накопителе.

Самый большой прогресс — у самой SurrealDB. Между второй и третьей версией средняя пропускная способность CRUD выросла на 31%, пакетные операции — на 58%, а полнотабличные сканы без индекса — почти в 120 раз. Это результат переписывания планировщика запросов и движка хранения, который убрал накладные расходы на декодирование каждой строки.

В сравнении с другими базами SurrealDB 3.x показывает сильные результаты. Против PostgreSQL она быстрее на записи в среднем в 1,5 раза: создание — 122k против 83k операций в секунду, обновление — 106k против 81k, удаление — 156k против 86k. По чтению Postgres всё ещё впереди — 327k против 254k. Разрыв с MySQL ещё больше: SurrealDB быстрее на запись в 5–7 раз.

Против MongoDB картина интереснее. MongoDB опережает на одиночных записях, но SurrealDB примерно в 1,3 раза быстрее на чтение. На неиндексированных фильтрованных сканах — ключевой метрике для документных БД — SurrealDB оказывается быстрее MongoDB в 2,7 раза с меньшей задержкой. Против Neo4j разрыв драматический: SurrealDB обходит графовую базу в 2–3,5 раза на записи и в 35 раз на индексированных фильтрованных сканах — и всё это на одном движке и одном языке SurrealQL.

В режиме in-memory с персистентностью SurrealDB обходит Redis на записи примерно в 3 раза (300k против 85k операций в секунду), хотя Redis быстрее на чтении и пакетных операциях. Встраиваемая версия SurrealDB против SQLite: создание быстрее в 85 раз, обновление — в 110, удаление — в 75. Чтение — примерно на одном уровне, а индексированные сканы — в 3 раза быстрее.

Авторы прямо называют слабые места: пакетные операции против Redis, одиночные записи против MongoDB, индексированные фильтры против Postgres. Эти разрывы они планируют закрывать в цикле 3.1. Но главная идея не в том, чтобы быть самым быстрым в одной нише — SurrealDB позиционируется как единственная база, которая на одном движке и одном языке SurrealQL обрабатывает реляционные, документные, графовые, key-value и временные ряды, с полной транзакционной целостностью, встраиваемостью и распределённым режимом. Для AI-агентов, которым нужна мультимодельная память рядом с местом выполнения, это принципиально — меньше склеивания, меньше задержек, больше контекста на один вызов.

Читать оригинал →