Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Can this be mitigated by ensuring that historical/legacy events are all transformed to more modern equivalents? Similar in theory to https://stripe.com/blog/api-versioning ? Then you at least have a chain of testable transformations and a reduced cardinality for the actual interactions that reflects the cardinality of all the ways your business users actually use your product today.
Of course, this can be lossy, but is it any more lossy than the non-event-sourced CRUD system which is essentially transforming historical events into "overwrite these fields" events that can only be used for their original purpose?
To me, the reason not to use event sourcing is more that the tooling and developer experience is just really poor - and so decisions like the above, while valuable to think through directly, rapidly become overwhelming. Visualizations of system state are only as good as the code you bring yourself. I'm hopeful that people building tools on top of things like https://materialize.com will start to change this though!
(I have no idea whether ES is used in temporal though… never looked at the code)
Similar thing happened on a project I joined. Except this person not only forced ES onto the business but their own specific library for it https://github.com/johnbywater/eventsourcing
The business eventually failed to due to this, due to slow implementation of simple features and many other issues with it.
I will never use ES due to this project, it's pointless, anything you can do with it, you can do without it.
Related posts
- Corrosion: Gossip-based service discovery for large distributed systems
- A Rust client library for interacting with Microsoft Airsim https://github.com/Sollimann/airsim-client
- Build a OLAP database using Rust for fun
- Ask HN: How Can I Make My Front End React to Database Changes in Real-Time?
- How Convex Works