如何解决什么是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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。