OrioleDB Blog
orioledb.com · Company blog · on HN since 2024
The team building OrioleDB, a storage engine for PostgreSQL, writes about its design, benchmarks, beta releases and table engine API patches.
What HN saysHN commenters link it when discussing Postgres storage engines, comparing it to Neon, and noting its patches to the table access method API.
27HN people shared it
16linked it in comments
20stories submitted
358story points
3 months agolast shared
2024people per year2026
Most-shared posts
- 1OrioleDB: next generation storage engine for PostgreSQL6 people · 1 points · first shared 2024 · discussion on HN
- 2Docs5 people · first shared 2024
- 3Why PostgreSQL needs a better API for alternative table engines?4 people · 24 points · first shared 2025 · 3 comments on HN
- 4The differences between OrioleDB and Neon4 people · 21 points · first shared 2025 · discussion on HN
- 5Ordered Insertion Optimization in OrioleDB3 people · 25 points · first shared 2025 · 1 comments on HN
- 6OrioleDB beta7: Benchmarks2 people · 140 points · first shared 2024 · 15 comments on HN
- 7Bridged Indexes in OrioleDB: architecture, internals and everyday use?2 people · 76 points · first shared 2025 · 15 comments on HN
- 8Show HN: OrioleDB Beta12 Features and Benchmarks2 people · 57 points · first shared 2025 · 17 comments on HN
- 9Rethinking PostgreSQL buffer mapping for modern hardware architectures2 people · 7 points · first shared 2024 · discussion on HN
- 10OrioleDB beta15 and beta16: stability, testing, and replication hardening2 people · 1 points · first shared 2026 · discussion on HN
- 11OrioleDB fastpath search (faster random key lookups for PostgreSQL)1 people · 4 points · first shared 2025 · 1 comments on HN
- 12Solving the Wraparound Freeze Problem in PostgreSQL1 people · 2 points · first shared 2024 · discussion on HN
- 13Getting started1 people · first shared 2025
- 14Overview1 people · first shared 2025
- 15Decoupled storage1 people · first shared 2025
What HN people wrote when they linked it
omneity · 2025-05-06
Serverless in the context of Postgres means to decouple storage and compute, so you could scale compute "infinitely" without setting up replica servers. This is what Neon offers, where you can just keep hitting their endpoints with your pg client and it should just take whatever load (in principle) and bill you per request.
Supabase gives you a server that runs classic Postgres in a process. Scaling in this scenario means you increase your server's capacity, with a potential downtime while the upgrade is happening.
You are confusing _managed_ Postgres for _serverless_.
Others in the serverless Postgres space:
- https://www.orioledb.com/ (pg extension)
- https://www.thenile.dev/ (pg "distribution")
- https://www.yugabyte.com/ (not emphasizing serverless but their architecture would allow for it)
jauntywundrkind · 2026-07-30
Port in OrioleDB next please. If our wish-granting really is at such a state. https://github.com/orioledb/orioledb
Great submission slipped by yesterday (!) on it's beta15 and beta16 released, on a big stability push. It now passes Postgres's own test suite! https://www.orioledb.com/blog/orioledb-beta15-16-stability https://news.ycombinator.com/item?id=49099108
hasyimibhar · 2026-05-10
How does Lakebase compare to OrioleDB[0]?
[0] https://www.orioledb.com/
giovannibonetti · 2026-05-01
As far as I can tell, Postgres is not designed with this inclination towards doing lighter work when clients are waiting and piling up maintenance work to do in background. I think the background work it does is mostly running vacuum on tables now and then.
Contrast that with ClickHouse, for example. It operates in a different niche than Postgres (OLAP instead of OLTP) – with their merge tree engine family [1] that does data deduplication in background.
There is one project of modernizing Postgres' storage engine called OrioleDB [2], but I think the company got acquihired by Supabase [3] and maybe the project has not been progressing very quickly since then.
[1] https://clickhouse.com/docs/engines/table-engines/mergetree-family
[2] https://www.orioledb.com/
[3] https://supabase.com/blog/supabase-acquires-oriole
kiwicopple · 2025-09-10
We are tracking the patches here:
https://www.orioledb.com/docs#patch-set
The actual storage engine is written as an extension - these patches are mostly to improve the TAM API. If these are accepted by the community then it should be simpler for anyone to write their own Storage extensions.
I think (correctly) it will take a lot longer to upstream the extension - the PG community should take a “default no” attitude with big changes like this. Over time we will prove its worthiness (hopefully beyond just supabase - it would be good to collaborate with other Postgres providers)
buremba · 2025-06-03
There is also this one from Supabase: https://www.orioledb.com/
Hixon10 · 2025-01-10
It's a bit sad that many modern databases were recently acquired. They had the potential to bring a lot of innovations.
1. https://www.warpstream.com/
2. https://www.orioledb.com/
3. https://quickwit.io/
akorotkov · 2025-09-10
This is generally true, but there are some additional aspects.
1. With PostgreSQL heap, you need to access the heap page itself. And it's not for free. It goes all through the buffer manager and other related components.
2. In OrioleDB, we have a lightweight protocol to read from pages. In-memory pages are connected using direct links (https://www.orioledb.com/docs/architecture/overview#dual-pointers), and pages are read lock-less (https://www.orioledb.com/docs/architecture/overview#page-structure). Additionally, tree navigation for simple data types skips both copying and tuple deforming (https://www.orioledb.com/blog/orioledb-fastpath-search).
According to all of the above, I believe OrioleDB still wins in the case of secondary key lookup. I think this is indirectly confirmed by the results of the TPC-C benchmark, which contains quite a lot of log of secondary key lookups. However, this subject is worth dedicated benchmarking in the future.
oliverrice · 2025-01-10
I don't want to hijack Datadogs+Quickwit's post comment section with unrelated promotional-looking info. Quick summary below but if you have any other questions pls tag olirice in a Supabase GH discussion.
The OrioleDB storage engine for postgres is a drop-in replacement for the default heap method. Its takes advantage of modern hardware (e.g. SSDs) and cloud infrastructure. The most basic benefit is that throughput at scale is > 5x higher than heap [1], but it also is architected for a bunch of other cool stuff [2]. copy-on-write unblocks branching. row-level-WAL enables an S3 backend and scale-to-zero compute. The combination of those two makes it a suitable target for multi-master.
So yes, given that it could greatly improve performance on the platform, it is a goal to release in Supabase's primary image once everything is buttoned up. Note that an OrioleDB release doesn't take away any of your existing options. Its implemented as an extension so users would be able to optionally create all heap tables, all orioledb tables, or a mix of both.
[1] https://www.orioledb.com/blog/orioledb-beta7-benchmarks
[2] https://www.orioledb.com/docs
tehlike · 2026-06-30
It is, but it's not usable right now without some patches to postgres. At least that was the case as of PG17, and very likely 18 too.
Context:
https://www.orioledb.com/docs#:~:text=OrioleDB%20currently%20requires%…
916c0553e164269 · 2025-09-10
"The differences between OrioleDB and Neon" ( June 20, 2025 )
https://www.orioledb.com/blog/orioledb-neon-differences
dangoodmanUT · 2025-09-10
> OrioleDB tables don't support SERIALIZABLE isolation level.
This is an unfortunate limitation to be aware of when evaluating
https://www.orioledb.com/docs/usage/getting-started#current-limitation…
pbronez · 2025-09-10
OrioleDB is new to me.
According to the docs, it “uses Postgres Table Access Method (TAM) to provide a pluggable storage engine for PostgreSQL. […] Pluggable Storage gives developers the ability to use different storage engines for different tables within the same database. Developers will be able to choose a storage method that is optimized for their specific needs: some tables could be configured for high transactional loads, others for analytics workloads, and still others for archiving.”
https://www.orioledb.com/docs
wwizo · 2025-09-10
Oreole is not a plug-and-play yet. From their docs ( https://www.orioledb.com/docs ) > OrioleDB currently requires a set of patches to PostgreSQL to enhance the pluggable storage API and other PostgreSQL subsystems. All of these patches have been submitted to the PostgreSQL community and are under review.
CathalMullan · 2025-05-30
There's an experimental feature which separates storage and compute.
https://www.orioledb.com/docs/usage/decoupled-storage
pashkinelfe · 2025-04-07
A nice performance review for Orioledb. I'm impressed with the results. These measurements use sysbench, and complement already published benchmarks using TPC-b, and TPC-c workload:
[1] https://www.orioledb.com/blog/orioledb-beta7-benchmarks
[2] https://www.socallinuxexpo.org/sites/default/files/presentations/solvi…
Thanks to Brian Misachi who did the test and shared the results!