我正在研究一个需要将复杂数据存储为Azure表中的实体的研究项目。表的实体是包含许多几何点和线的单元格,引用父项等等。
除非我弄错了,否则实体只能包含简单类型(string,int,bool等),但不包含List。在此期间,我正在解决这个问题,只需序列化整个结构并将其转换为base64字符串,并让实体只包含此字符串以及其他一些标志。
从长远来看,现在这是一种荒谬的做法,但在部署更负责任/适当的方法之前,黑客必须立即行动。
对于复杂数据类型和Azure,最佳做法是什么?写出许多blob并用表格跟踪它们?
答案 0 :(得分:2)
在这种情况下,我认为Azure存储与常规数据存储的区别不大。复杂数据类型总是将其属性映射到简单数据列,或者序列化(如您所述)。
答案 1 :(得分:2)
我认为在将Azure用于此类存储时需要考虑很多 - 特别是考虑:
(account, table name, partition key, row key)
进行索引和排序 - 因此,如果您需要以多种方式搜索或订购数据,那么通常需要考虑将多个实体添加到多个表中代表您的单个实际实体关于使用Azure表和blob存储的模式和实践,有很多文章和文档 - 根据您的情况,使用带有一个或多个基于表的指标的Blob肯定听起来像是一种探索的途径。
答案 2 :(得分:0)
lokad工具包是你最好的天蓝色朋友。
您正在寻找“胖实体”http://code.google.com/p/lokad-cloud/wiki/FatEntities