Введение в проблему
Маркетинг новых инструментов инфраструктуры часто предполагает заявления о том, что они намного быстрее существующих решений. Это эффективная стратегия, поскольку никто не хочет использовать медленную базу данных. Недавно компания SpacetimeDB выпустила свою версию 2 с аналогичными заявлениями. Они представили видео, в котором утверждалось, что традиционная веб-архитектура, где сервер общается с базой данных по сети, фундаментально сломана. Решение, по их мнению, заключается в том, чтобы поместить код приложения непосредственно в базу данных. Для подтверждения этого утверждения они представили график, на котором SpacetimeDB v2 значительно опережает другие базы данных, включая Postgres, PlanetScale, Convex и CockroachDB.
Анализ графика
График, представленный SpacetimeDB, вызывает вопросы. Например, результаты для Node.js + SQLite показывают только 7 416 транзакций в секунду (TPS), что выглядит подозрительно низко, особенно если сравнивать с результатами SpacetimeDB, которые составляют 167 915 TPS для версии на Rust и 104 485 TPS для версии на JavaScript. Учитывая, что SpacetimeDB и Node.js + SQLite используют одинаковый архитектурный подход с colocated compute и storage, такой разрыв в производительности выглядит необычным.
Технический анализ
Эксперты, такие как Винсент, бывший инженер PlanetScale, написали технические разборы, в которых подняли вопросы о высокой доступности, кластерных развертываниях и опасностях, связанных с размещением приложения и базы данных на одном компьютере. Это справедливые опасения, поскольку они затрагивают не только производительность, но и надежность и масштабируемость системы. Кроме того, было бы интересно сравнить реальные результаты, полученные из различных сценариев использования и конфигураций, чтобы понять, как SpacetimeDB v2 работает в разных условиях.
Бенчмарки и производительность
Бенчмарки всегда вызывают споры, поскольку их результаты зависят от множества факторов, включая конфигурацию системы, нагрузку и конкретные сценарии использования. Чтобы сделать заявления о том, что одна база данных в несколько раз быстрее другой, необходимо провести тщательное и детальное сравнение. Это включает в себя не только простые метрики производительности, но и анализ поведения системы в различных условиях, таких как высокая нагрузка, отказы и восстановление.
Заключительные мысли
В заключение, сравнение производительности баз данных всегда является сложной задачей, требующей тщательного анализа и рассмотрения различных факторов. Хотя заявления SpacetimeDB о быстроте их базы данных привлекают внимание, для полного понимания их преимуществ и ограничений необходимо провести более глубокое исследование и сравнение с другими базами данных в различных сценариях использования. Только так можно определить, действительно ли SpacetimeDB v2 является лучшим решением для конкретных задач и требований.