Hacker News new | ask | show | jobs
Ask HN: Time-series DB for event sourcing?
9 points by kannangce 2693 days ago
I am in the process of choosing data storage for my event-series DB. There are various opinions on using RDMS, NoSQL or Columnar. Was there any exploration done on using Time-series DB for event-sourcing other than TimeScaleDB(https://blog.timescale.com/time-series-data-why-and-how-to-use-a-relational-database-instead-of-nosql-d0cd6975e87c/)? Or is it even a good idea to use Time-Series DB for event sourcing?
3 comments

I think you need analyze your requirements first, and then let that you point you towards the databases that provide the functionality you need. Then evaluate and compare the databases.

I would start by asking if a RDMBS or MPP warehouse can work. If it can't, why not?

I run a company that captures billions of events a day (an event source pattern) and we use Snowflake. I chose snowflake because it separates compute from storage (effecively paying $.20/compressed TB/month for storage) and allows me to elastically expand the compute required for analysis or alteration of data.

I don't need need most the real time features of a time serieis DB (but I could easily split the data out of Kafka to a TSDB if I needed). I need the ability to alter the data and run sophisticated aggregations across the data.

Bottom line: if you're not certain you need a TSDB, or know what features you need yet, I wouldn't go chasing down a TSDB. Let your requirements push you to a database.

Thanks @brettgriffin. I started with Timeseries DB, which is optimized for Timeseries data, also it is built on top of Postgres(RDBMS). So simple and serves the purpose.
I've already look at http://pumpkindb.org/ but finally use TrailDB. Else, there's also the leading InfluxDB for Time-Series DB. But if the volume isn't very high, a MySQL/PGSQL could satisfy no?
Is volume the only thing that we go for Time-Series DB? I doubt if Time-Series DB really satisfies the need of "Event sourcing" such as single/multiple column(s) aggregation, etc.
Try CitusDB