【发布时间】:2013-07-07 20:04:20
【问题描述】:
由于我长期使用传统的关系数据库,因此迁移到 nosql,尤其是 Cassandra,是一个很大的变化。我通常设计我的应用程序,以便在启动时将数据库中的所有内容加载到应用程序的内部缓存中,如果数据库表有任何更新,其相应的缓存也会更新。例如,如果我有一个表Student,在启动时,该表中的所有数据都会加载到StudentCache,当我想插入/更新/删除时,我会调用一个服务来更新它们同时。我的设计目的是防止直接从数据库中选择。
在 Cassandra 中,由于想法是构建包含所有需要的数据的表,这样连接就变得不必要了,我想知道我最喜欢的设计是否仍然有用,或者直接从数据库(即从一个表中)查询数据是否更有效) 需要时。
【问题讨论】:
-
附带说明,在应用程序中保存数据库是一个非常糟糕的主意,因为您的应用程序的性能将基于输入。
-
是的,它实际上使启动时间更长,但是,这是我在开发应用程序时必须做出的权衡,这需要大量查找。我相信将它们存储在地图中会更快。