对于社交网站,我需要为每个实体(数百万这样的实体)存储经常修改的列表,这些实体是:
我已经在RDBMS中存储了一些其他类型的数据。我知道我可以将这些列表存储在RDBMS中,就像这样:创建一个包含两个列的表listItems & listId & listItem &要生成任何特定的列表,只需为所有记录WHERE listId = x执行SELECT查询即可。但是,在RDBMS中以这种方式存储列表对于高可伸缩性来说并不是非常理想的。相反,我想以一种自然的方式存储已准备好的列表,以便最大限度地提高检索性能。因为每当我的用户登录并查看页面时,我都需要为用户获取大约100个这样的列表。
那我该怎么解决呢?对于这些数据,应该使用什么样的数据库,可能是为由主键的列添加变量no的数据库,比如Cassandra?
发布于 2013-09-02 22:27:54
我知道您不想考虑关系数据库,但我认为对于这种简单的情况,也有一个带有关系数据库的可伸缩解决方案。主要的好处是您不需要维护一个单独的数据库系统。
为了获得可伸缩性,所有NoSQL解决方案将将您的数据分布在多个节点上。您可以在应用程序代码中这样做,将数据分散到多个关系数据库中。为了保持负载平衡,您可能需要偶尔移动数据,但只需为每个N个列表生成一个新的数据库就足够了。
https://stackoverflow.com/questions/18393438
复制相似问题