我应该使用文件还是数据库?



我正在构建一个云同步应用程序,它可以跨多个设备同步用户数据。我正处在一个十字路口,正在决定是将数据作为文件存储在服务器上,还是存储在关系数据库中。我正在使用Amazon Web Services,如果我选择将数据存储在表中,则将为用户文件或其数据库服务使用S3。我存储的数据是应用程序每十秒的状态。这在数据库中存储可能会有问题,因为每个用户要存储的平均行数是100,000,而我当前的用户群是20,000人,这是20亿行。我把这些信息存储在文件里会更好吗?因为每个用户大约有100个文件,总共6mb。

如评论中所讨论的,我将把它们存储为文件。

S3非常适合作为键/值存储,如果您能够区分更改并确保不会不必要地复制数据负载,那么通过从S3下载相关文件并在客户端同步它们,同步将容易得多。

你得到了一个很大的成本节省,不必操作数据库服务器,可以存储大量的行,并保持快速提供给客户端。

我唯一真正关心的是,如果您希望将多个用户的统计/数据/信息作为后端或管理视图聚合,那么这些文件中的数据可能难以解析。你将无法编写简单的SQL查询来总结值等,并且必须打开相关文件,使用awk或正则表达式等处理它们,然后以这种方式计算值。

您可能在客户端为与该用户相关的特定文件做任何操作,因此可能会有一些重叠!

相关内容

  • 没有找到相关文章