Show HN: Bemi – data versioning and time travel for PostgreSQL https://ift.tt/nZaC3uH

Show HN: Bemi – data versioning and time travel for PostgreSQL https://ift.tt/nZaC3uH

Show HN: Bemi – data versioning and time travel for PostgreSQL Hi HN, we’re Evgeny, Arjun, and Donna - the builders of Bemi ( https://bemi.io ). Bemi is an enhancement of your existing transactional database to unlock time travel querying. We enable engineers to track all PostgreSQL state changes. We used to all work together at a startup five years ago, and now have got the gang back together to work on Bemi! Many open-source libraries already track data changes, but they’re not reliable since they don’t track changes made outside ORMs with direct SQL queries. Additionally, they come with runtime performance overhead since they’re making database inserts in callbacks. We’ve also consistently seen hacks that engineers write on top of the libraries to store additional context or make it easier for them to query. There are databases already available for event sourcing, but we take a fundamentally different approach. We don’t want engineers to have to rearchitect their existing code, switch to highly specialized databases, or use unnecessary git-like abstractions. We want your system to work the way it already does with your existing database to allow keeping things as simple as possible. Bemi uses change data capture (CDC) by connecting to a built-in replication log of a database, ingesting all changes on the database level, and storing them in a structured format in a destination database. The database connection details can be securely configured through our dashboard UI in a few seconds. People also try adding database triggers to track low-level data change. The main difference is that Bemi integrates not just on the database level, but also on the application level with packages in the most popular frameworks (being released soon) and a Bemi worker automatically stitches application metadata with the lower-level change data to get the “where” (API endpoint, worker, and so on) and “who” (user, cron job, and so on) behind a change. This allows being able to revert all data changes made within an API request, for example. For the sake of transparency, we intend to make money by implementing usage-based pricing and a multi-cloud hosted option. Bemi’s free for early adopters. We are still early though and would love your feedback. What do you think HN? https://bemi.io/ November 17, 2023 at 09:42PM

0 Comments: