SQL Azure vs表存储-带“0”的queryig实体参数;包括「;
我正在使用Azure Table Storage,以便将其作为一个大数据项目的平台。作为测试数据,我使用英国公司内部数据源向我提供350万份英国公司记录。我已经成功地创建了一个实体,并将大量条目加载到我的表“companys”中,但我认为这个模型不适合我,因为我的“搜索”或查询要求不仅仅是PartitionKey和RowKey 我的公司类如下所示:SQL Azure vs表存储-带“0”的queryig实体参数;包括「;,azure,azure-sql-database,azure-table-storage,Azure,Azure Sql Database,Azure Table Storage,我正在使用Azure Table Storage,以便将其作为一个大数据项目的平台。作为测试数据,我使用英国公司内部数据源向我提供350万份英国公司记录。我已经成功地创建了一个实体,并将大量条目加载到我的表“companys”中,但我认为这个模型不适合我,因为我的“搜索”或查询要求不仅仅是PartitionKey和RowKey 我的公司类如下所示: public class Company : TableEntity { public Company() { } public
public class Company : TableEntity
{
public Company() { }
public Company(string companyNumnber)
{
CompanyNumber = companyNumnber;
this.PartitionKey = "Company";
this.RowKey = companyNumnber;
RegAddress = new Address();
}
public String CompanyNumber { get; set; }
public Address RegAddress { get; set; }
public String CompanyName { get; set; }
public String PhoneNumber { get; set; }
public String CompanyCategory { get; set; }
public String CompanyStatus { get; set; }
public String CountryOfOrigin { get; set; }
public String DissolutionDate { get; set; }
public String IncorporationDate { get; set; }
public String URI { get; set; }
}
public class Address
{
public Address() { }
public String CareOf { get; set; }
public String POBox { get; set; }
public String AddressLine1 { get; set; }
public String AddressLine2 { get; set; }
public String PostTown { get; set; }
public String County { get; set; }
public String Country { get; set; }
public String PostCode { get; set; }
}
这一切都很好,我可以将实体加载到表存储中,我可以根据CompanyNumber查询表,但我还需要在CompanyName上查询表,这不限于eq“equals”运算符。。。我需要能够做一个“包含”的属性,这似乎是不可能的
我说得对吗?如果是这样的话,解决办法是什么?在我看来,我“被困”在SQL中托管这350万条记录,然后使用表存储来存储带有PartitionKey公司编号的“相关”内容,然后以这种方式进行查找
我希望它能降低(SQLAzure)的成本,但似乎我需要一种混合方法
我很想听听其他人对这方面的评论。看来您必须使用一个索引库,它具有文本搜索功能,例如 最后,这完全取决于您的需要,如果数据没有那么大,您可能希望使用SQLAzure,以便可以使用文本查询
另一个选项是组织字段,以便可以使用表查询支持的前缀匹配来搜索所需字符串。(您可以使用“StartsWith”查询而不是“Contains”)感谢您的回复。我不喜欢第三方索引引擎。StartsWith不适用于我,因为“公司名称搜索”需要从名称中的任何位置进行搜索。看起来我的最佳选择是使用SQLAzure存储350万条公司记录,然后使用表存储存储针对公司存储的“相关”内容;350万?您需要多快的速度来运行该查询?公司之家提供了一个包含4个CSV文件的数据列表,每个CSV文件中包含85万条公司记录。初始加载可能需要任何时间,这并不重要,但是没有“变更集”,所以每个月我都需要寻找“新”项目并上传它们。我可以运行一个单独的作业来检查每个项目加载后的更新。主要的问题是,在我的网站上,最终用户需要查找公司的详细信息。。。他们会希望输入公司名称的一部分,以查找详细信息(不一定是名称的开头),好的-那么我同意您应该查看索引平台;SQLAzure是一个很好的候选者。对于您的记录,如果您保持简单,您不需要非常大的数据库,因此您应该能够将成本降至最低。感谢Herve,是的,我需要将结构化内容保留在SQL数据库中。我知道它不会超过350万条记录,而且数据也不多。我可以为项目的大数据元素使用表存储。谢谢你的帮助。