A memory database that forgets, consolidates, and detects contradiction
Vector DBs store memories; this one forgets, consolidates, and flags contradictions like human memory.
Cyoda-Go: The Enterprise EDBMS
Entity-first abstraction with temporal history beats row-based SQL for state machines.
Backend engineers building complex stateful enterprise applications
Temporal · Datomic · EventStoreDB
https://simonw.substack.com/p/how-strongdms-ai-team-build-se...
I got thinking that, hey, what if we built a digital twin of our enterprise application platform Cyoda? With an in-memory local Cyoda service, it would make it much easier for people to get started building Cyoda apps, and rapidly speed up development.
I also wanted to see how far one can go using agentic engineering to build that out, thinking it's a good use-case since the tool wasn't (originally) destined for production.
I'm a Java/Kotlin/Spring/Cassandra person, so I decided to write it in Go, because I've never written a line of Go. This would ensure that I stay hands off from the code and see this from the perspective of an architect and project manager.
But after the in-memory storage engine was built, I quickly realized that it would be straightforward to implement a postgres plugin. Then I remembered sqlite. This looked so cool, that I decided over Easter to tackle Cassandra.
And out came cyoda-go.
We're still working intensively on fleshing it out, but the vision is to provide an open source EDBMS (Entity Database Managment System) that has production quality and can cover a very wide variety of use cases.
The design is based on our work of the last ten years on Cyoda.
So what's an EDBMS? ...you are probably asking.
Under the hood, it's a combination of a JSON/document database, a workflow engine, messaging/queuing middleware, and a CDC audit. Data are entity state machines persisted append-only. Transitions can launch externalized processors over gRPC that do business logic. All mutations are bi-temporal and the consistency model is snapshot isolation with first-committer-wins on entity-level conflicts. An engine automates workflow traversal, so that a single trigger cascades across entities inside the same transactional boundary.
The core assembly is a single Go binary. Once you've understood the design, it's really easy to write event-based applications with transactional rigour and a bi-temporal view on the data at no performance cost, and built-in auditability and data lineage.
Repo: https://github.com/Cyoda-platform/cyoda-go Docs: https://docs.cyoda.net
I would be very interested to know what the community thinks. Is this kind of architecture, that consolidates several key frameworks into a unified platform, effective in accelerating the building of complex enterprise systems?
Vector DBs store memories; this one forgets, consolidates, and flags contradictions like human memory.
Bi-temporal versioning with LLM-driven auto-supersede solves agent memory rot elegantly.
Portable .pid identity format lets AI minds migrate across models and hardware.
Entity-resolution fixes ticker recycling headaches that break most free financial APIs.
Bundled 7MB embedder means zero network calls or model downloads for agent memory.
Predict-calibrate extraction reduces noise, but Zep and Mem0 already dominate the agent memory space.