【问题标题】:Scale-able Persistence in Web ApplicationWeb 应用程序中的可扩展持久性
【发布时间】:2012-07-30 08:08:36
【问题描述】:
我正在考虑创建一个网络应用程序,我的网络主机根据我在database 中坚持的次数向我收费,如果我在每次CRUD 操作之后都坚持,那将花费我太多,我在想一个解决方案,如果我将数据临时存储在ArrayLists 或HashMaps 中并安排我的持久性,即在每个30mins 或1hour 之后持久化,那会起作用吗?如果是这样,那么最大时间是多少,在那之后的时间我应该坚持我的Collection,以便我在数据库中实现更少的持久性。
【问题讨论】:
标签:
database
web-applications
persistence
temporary
【解决方案1】:
我认为这基本上是一种不好的方法。不要为您的网络主机设计您的网络应用程序。
每 30 分钟或 1 小时后持续一次
这样的设计将来会给你带来很多麻烦。想想当应用崩溃时修改会发生什么(无论出于何种原因,想象一下停电)。
另一方面,从性能的角度来看,缓存实体可能很有用,例如:http://memcached.org/
【解决方案2】:
它会起作用,但代价是什么。
如果您丢失了存储在内存中的数据,会发生什么情况,这将花费您多少钱?它将如何影响您的应用程序的用户?可扩展性如何?
在现实中,是否存在太多操作,以至于您无法在应该完成的时候执行所需的数据库事务。如果您进行更多交易,这是否意味着您拥有更多客户,因此可以支付更多费用。
我的建议是这是非常糟糕的做法。