TGViewer
Loser story Loser story @reverse13 · 946 subscribers
Post #750 6.4K
Привет, мы частично заопенсорсили текущий код нашего проекта -- SereneDB. Это оказалось тяжелее чем хотелось бы :) https://github.com/serenedb/serenedb

Большую часть ближайших тасок будем делать в опенсорсе. В целом проект ещё далековат от релизного состояния, но "бета" с первыми публичными бенчмарками планируется к концу февраля.

Пара интересных моментов, которые можно посмотреть уже сейчас, связаны с архитектурой:

=> pg wire protocol (postgres drivers and tools like psql)
=> libpq_query parser (postgres query syntax)
=> axiom query frontend (runner + optimizer)
=> velox query execution
=> rocksdb | search

На мой взгляд, наиболее любопытны два аспекта:

axiom -- библиотека оптимизатора для velox, которую недавно начала делать meta. Мы активно подключились к разработке, примерно половина коммитов за последние 3 месяца наши. Кстати в нашем форке есть пока отсутствующие у них "фичи": window функции, cross джоины, etc. Да, проект пока ещё совсем сырой, но мне кажется библиотека оптимайзера это классная идея, так как если с execution оно более менее устоялось, с оптимайзерами все не так однозначно

Второй аспект, но не по значению, поисковый движок, который изначально был сделан по дизайну lucene, но со временем эволюционировал во что-то ближе к гибриду с колоночным базам данных.

Кстати если вы не особо разработчик баз данных, у нас есть разные прикольных чисто инженерные моментов:
1) build from source (кроме libc, там пока не густо), как следствие например мы можем легко пропатчить libc++ и используем memory sanitizer
2) А ещё именно это позволяет легко получать static binary
3) И да у нас C++26, clang, llvm стек в общем
4) А для concurency юзаем YACLib
5) Да и в целом есть много прикольных решений про которые расскажем немного позже, например, сериализации структур с помощью boost pfr или кастомные локфри iobuf-ы

В любом случае буду рад всем кто поддержит наш пока небольшой проект с помощью PR/issue/звёздочек!
GitHub GitHub - serenedb/serenedb: The First Real-Time Search Analytics Database The First Real-Time Search Analytics Database. Contribute to serenedb/serenedb development by creating an account on GitHub.
  • 👍 62
More from @reverse13
  1. Jul 29, 2026Вообще мы тут сделали end-to-end search/analytics benchmarks на 1e9 otel logs Планируем ту…
  2. Mar 19, 2026Последние пару месяцев смотрел и правил перф серчевого движка и в общем у нас наконец-то е…
  3. Dec 23, 2025Мы тут написали небольшой пост про свой iobuf который юзаем для реализации postgres проток…
  4. Sep 28, 2025Вообще вот странная штука, больших проектов на C++, C, Rust которые делают базы данных или…
  5. Aug 30, 2025Решил почитать перед сном коммиты в llvm libc++, а то там llvm 21 вышел, думаю может обнов…
  6. Jul 16, 2025https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-na…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →