[英]Should I use files or a database?
我正在构建一个云同步应用程序,该应用程序可以跨多个设备同步用户数据。 我正处于十字路口,正在决定是否将数据以文件或关系数据库的形式存储在服务器上。 我正在使用Amazon Web Services,并且如果我选择将数据存储在表中,将使用S3来存储用户文件或其数据库服务。 我存储的数据是每十秒钟应用程序的状态。 将其存储在数据库中可能会有问题,因为将要存储的每个用户的平均行数为100,000,而我目前的用户数量为20,000,所以马上就有20亿行。 我最好将这些信息存储在文件中吗? 因为那将是每个用户大约100个文件,总计6兆字节。
如评论中所述,我将这些存储为文件。
S3非常适合用作键/值存储,并且如果您能够区分更改并确保不必不必要地复制数据负载,则可以通过从S3和在客户端同步它们。
您不必运行数据库服务器即可节省大量成本,该数据库服务器可以存储大量的行并保持快速将其提供给客户端的能力。
我唯一真正关心的是,如果您想将多个用户的统计信息/数据/信息汇总为后端或管理视图,则很难解析这些文件中的数据。 您将无法编写简单的SQL查询来汇总值等,并且将不得不打开相关文件,使用awk
或正则表达式等对它们进行处理,然后以这种方式计算值。
不过,您可能会在客户端上针对与该用户相关的特定文件执行任何操作,因此可能存在一些重叠!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.