我正在分析如何每秒50次存储超过10000个信号。我可能会从记忆中读出它们。每个信号都有一个时间戳(8个字节)和一个双倍(8个字节)。这个过程将每周运行4小时。然后:
10000 x 50 x 16 = 8 MBS /秒。
8 x 3600 x 4 =每周115 GBS。
我应该使用什么数据库(或文件等其他选项)来快速存储这些数据。 MondoDB或Cassandra是不错的选择?什么语言会好? Java是否足以快速从内存中读取数据并存储在数据库中,或者C是更好的选择?
需要群集解决方案吗?
感谢。
答案 0 :(得分:1)
每天大约有700~800 MB的数据 - 所以如果你需要查询它 - 一个月后 - 将扫描25 GB。
在这种情况下,您可能需要一个聚集/分片解决方案来分割负载。
随着数据的不断增长 - 您需要一个动态解决方案,它可以使用mongoDB分片和副本集来跨越负载和管理数据分发。
答案 1 :(得分:1)
根据您的描述,我建议使用Sqlite数据库。它比MySQL和MongoDb重量轻,速度快。
请在此处查看benchmark。