关于是否将我的数据存储到SQL或表存储中以及存储它们以提高效率的最佳方法,我有很多疑问。
用例:
我有大约500万行目前存储在mysql数据库中的对象。目前,元数据仅存储在数据库中。 (Lat,Long,ID,Timestamp)。关于未使用太多的对象的其他150列被移动到表存储中。
对于数据库中的这500万个对象中的每一个,都有关于它们的某些信息(温度读数,轨迹等)。轨迹数据曾经存储在SQL(~300行/对象)中,但被移动到表存储以节省成本。目前,它们以关系方式存储在表存储中,其中每行看起来像(PK:ID,RK:ID-Depth-Date,X,Y,Z)。
我很难理解如何将数据分组并将其格式化为Azure Cloud Tables,以便在为我的应用程序获取数据时高效快捷。
以下是我的数据示例以及我如何获取数据:http://pastebin.com/CAyH4kHu
答案 0 :(得分:0)
作为表存储的替代方法,您可以考虑使用Azure SQL DB Elastic Scale在多个Azure SQL DB之间传播轨迹数据(和关联的对象元数据)。这允许您克服单个数据库的容量(和计算)限制。您将能够有效地执行特定于对象的查询或插入,并具有跨多个数据库执行查询的选项 - 假设您正在使用.Net应用程序层。您可以查看http://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-scale-get-started/
了解更多信息