【发布时间】:2011-09-13 05:08:37
【问题描述】:
我正在使用 Windows Azure 并首次尝试使用 Azure 表存储,以使我的应用程序可扩展到高密度流量负载。 我的目标很简单,根据一组参数记录每个传入的请求,并报告计数或汇总日志中的数据。在此我提出了 2 个选项,我想知道更有经验的人认为哪个更好。
选项 1:使用布尔值并计算“真”行
因为每一行都被写入一次并且从不更新,所以将每个计数参数存储为布尔值并在求和线程中,拉取查询中的行并对每组真值执行计数以获得每个参数的总数。 如果有很多参数,这将节省空间,因为我认为 Azure Tables 将 bool 存储为单个位值。
选项 2:使用 Int 值并对行求和
每一行都如上所写,但每个参数列都添加为 0 或 1 的值。求和将通过查询所有行并对每列使用求和运算来进行。这会更快,因为求和可能发生在单个查询中,但是在为布尔值存储 32 位整数时我会丢失一些东西吗?
我认为在这一点上查询速度,选项 2 是最好的,但我想大声询问存储和检索方面的意见,因为我不太了解 Azure 表(我希望这个帮助其他人)。
【问题讨论】:
标签: azure azure-storage azure-table-storage