I need a C++ library that can store and retrieve time series on demand to stream to client front-ends. I will be storing each component as structure of arrays format. I am currently using MySQL for correctness, but the DB access is starting to get ridiculously slow. I am trying to migrate away from this. Intuitively I can build such a library but it is not my business goal and will take quite a bit of implementation to get working. I am looking for an existing solution that can meet the following requirements:
- O(1) lookup scheme
- Excellent compression, each component is separated, so there should be plenty of redundancy that can be removed
- Scalable to terabytes
- (optional: Audit tracking)
Most important: Transactional support. There is going to be BIG data, and I can’t have the possibility of a bad run corrupt an entire dataset which will create an unnecessary burden for backups and downtime during restores.
Also checkout TempoDB: http://tempo-db.com I’m a co-founder, and we built the service to solve this problem. We don’t have a C++ client yet, but could work with you to develop one.