什么是Azure Table Storage日志数据更好的计数算法?

| 我正在使用Windows Azure并首次进入Azure Table Storage,以使我的应用程序可扩展到高密度流量负载。 我的目标很简单,针对一组参数记录每个传入的请求,并报告计数或对日志中的数据求和。在此,我提出了2个选项,我想知道更有经验的人认为哪种方法更好。 选项1:使用布尔值并计算\“ True \”行 由于每一行只被写入一次,并且从不更新,因此将每个count参数存储为布尔值,并将其存储在求和线程中,在查询中提取各行,并对每组true值进行计数以获取每个参数的总数。 如果有很多参数,这将节省空间,因为我想象Azure表将bool存储为单个位值。 选项2:使用Int值并对行求和 每行的写法与上面相同,但是每个参数列的值都为0或1。将通过查询所有行并对每列使用Sum操作来求和。这样会更快,因为汇总可能会在单个查询中发生,但是我在为布尔值存储32位整数时会丢失某些东西吗? 我认为在此情况下,对于查询速度而言,选项2是最好的,但是我想大声地征询有关存储和检索方面的意见,因为我不太了解Azure表(我希望这会有所帮助)其他人)。     
已邀请:
        表存储不会在服务器端进行聚合,因此,对于这两个选项,最终都会在本地拉出所有行(及其所有属性)并进行计数/求和。这使得他们俩的表现同样糟糕。 :-) 我认为您最好保持连续运行,而不是每次都重新汇总所有内容。我们在Cloud Cover第43集上谈到了一些模式:http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-43-Scalable-Counters-with-Windows-Azure     

要回复问题请先登录注册