下面这个场景我该使用什么数据存储方案?

我做的是一个线上视频培训服务,每10s就要记录一次学员的已观看时长,一般一个学员需要参加一套120课时的课程,每个课时45分钟,可以计算出理想状况每个学员产生的记录都超过3w+。而计划的学员数量在三年内会到10w,这个数据量比较大了,用mysql存储感觉不是很适合。存储的数据在监管单位要求调学员数据的时候可以导出学习的明细,也就是记录的数据。

这种业务场景应该用哪个数据存储方案?

阅读 914
3 个回答

cassandra

对于你这种高频数据记录和大数据量的场景,传统的关系型数据库如 MySQL 可能并不是最优的选择。以下是几个适合你的业务场景的数据存储方案:

1. 时序数据库(Time-Series Database)
时序数据库非常适合处理高频率的数据记录,并且在数据压缩和查询性能上有很大的优势。推荐使用以下几种:

  • InfluxDB: 一个开源的时序数据库,具有高性能写入和查询能力,支持高压缩比存储大量数据。
  • TimescaleDB: 基于PostgreSQL的时序数据库,结合了关系型数据库的特性,易于使用且具有强大的时序数据处理能力。

2. 分布式数据库(Distributed Database)
分布式数据库能够处理大规模数据存储和并发访问,同时具有良好的可扩展性。推荐以下几种:

  • Cassandra: 一个高度可扩展的分布式数据库,适用于大规模数据写入和查询。它的高可用性和无单点故障设计使其非常可靠。
  • HBase: 基于Hadoop的分布式数据库,适用于存储和处理大规模数据,特别是在需要高吞吐量的写入操作时。
新手上路,请多包涵

Clickhouse

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏