- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
了解 Azure 存储表。
对于包含地址和其他字段的人员表,设置 PartitionKey 和 RowKey 来优化这样的查询的最佳方法是什么?
SELECT * FROM {table}
WHERE
((FIRST_NAME LIKE '%{Name}%'
OR LAST_NAME LIKE '%{Name}%'
OR NICK_NAME LIKE '%{Name}%')
AND
(CITY LIKE '%{Loc}%'
OR STATE LIKE '{Loc}'
OR ZIP LIKE '%{Loc}%'))
我正在寻找一种方法来存储大量数据并能够快速查询,同时保持尽可能低的成本。我一直在查看存储表和 CosmosDB 表。从定价角度来看,CosmosDB 对于非常大的表来说可能会变得昂贵。
关于查询,我可以将“City”、“State”、“Zip”作为 PartitionKey,将“First_Name”、“Last_Name”和“Nick_Name”作为 RowKey。例如:“Los Angeles CA 90045”作为分区键,“John Doe JDoe”作为 RowKey。我能够快速执行包含 Los Angeles 的 PartitionKey 搜索和 John 的 KeySearch 吗?
最佳答案
据我所知,Azure 存储表的目标是单个区域的高容量(可选的辅助只读区域,但无故障转移)、按 PK/RK 建立索引以及存储优化定价。
Azure Cosmos DB 表的目标是高吞吐量(读取和写入的个位数毫秒延迟,在世界任何地方的任何规模,第 99 个百分位数的读取延迟小于 10 毫秒,写入延迟小于 15 毫秒),全局分布(多个故障转移)、SLA 支持的预测性能(具有每个属性/属性的自动索引)以及专注于吞吐量的定价模型。
定价:
Azure 表:
LRS First 1 TB / Month $0.07 per GB
Next 49 TB (1 to 50 TB) / Month $0.065 per GB
Access Prices:We charge $0.00036 per 10,000 transactions for Tables. Any type of operation against the storage is counted as a transaction, including reads, writes and deletes.
详情看这个article
Azure Cosmos 表 API:
SSD Storage (per GB) $0.25 GB/mo
Reserved RUs/second (per 100 RUs, 400 RUs minimum) $0.008/hr
详情看这个article
您可以看到 cosmosdb 比用于数据存储的表存储更昂贵。
所以如果你的数据量很大,我建议你可以选择表存储。
如果你想让数据查询保持快速,我建议你可以选择cosmosdb。
Regarding the query, could I put "City", "State", "Zip" as PartitionKey and "First_Name", "Last_Name", and "Nick_Name" as RowKey. Ex: " Los Angeles CA 90045" as partitionKey and "John Doe JDoe" as RowKey. Will I be able to do a PartitionKey search that contains Los Angeles and KeySearch for John quickly?
据我所知,在查询中同时指定 PartitionKey 和 RowKey。
诸如此类的点查询是最有效的表服务查询。关于如何设计表格,可以引用这个article .
因此,如果将“City_State_Zip”设置为PartitionKey,“First_Name_Last_Name_Nick_Name”设置为rowkey,这将是点查询。这将是最高效的表服务查询。
注意:表查询不支持like关键字,如果要使用点查询,需要发送正确的partitionkey和rowkey进行查询。
关于azure - Azure 存储表上的 PartitionKey 和 RowKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45653908/
我有一个场景,我存储大量第三方数据以供业务用户进行临时分析。大多数针对数据的查询都会很复杂,需要使用多个自连接、投影和范围。 在选择用于 Azure DocumentDB 的 PartitionKey
我正在尝试通过 azure 存储资源管理器将数据从 csv 文件加载/导入到表存储中,但我收到以下错误 打开文件“D//sample.csv”时出错。未指定所需的属性“Partitionkey”。 请
我想使用 PartitionKey 和日期时间过滤器获取一段时间内的数据。 https://sa.table.core.windows.net/ABC()?$filter=Timestamp%20gt
我希望获得所选分区中所有文档的数量。但是,以下代码将返回集合中所有文档的计数并且成本为 0 RU。 var collectionLink = UriFactory.CreateDocument
我正在尝试从 Azure Cosmos Db 集合中检索文档。我遇到了一个错误 Servlet.service() for servlet [dispatcherServlet] in context
我正在尝试配置 Semantinc Logging 退出进程以写入 Azure。 我终于成功地将事件写入表存储中。我的问题是如何定义 PartitionKey。 我刚刚插入了几个测试,Partitio
我正在开发一个全局应用程序,其中大多数搜索都基于地理空间数据(给定坐标的最近记录)和日期范围。 所以,基本上可能是 AirBnb、Booking 等应用程序的主要搜索。 考虑到这些上下文,我应该在 D
我正在开发一个全局应用程序,其中大多数搜索都基于地理空间数据(给定坐标的最近记录)和日期范围。 所以,基本上可能是 AirBnb、Booking 等应用程序的主要搜索。 考虑到这些上下文,我应该在 D
我正在使用 Linux 诊断监视附加到 Azure VM 的 VHD。使用 CLI 启用诊断时,监控数据最终位于 PublicConfig.json 中指定的表 (LinuxDiskMetric) 中
我创建 DynamicTableEntity 如下: string env = "envTest"; stting ver = "1.0"; siring id = "12356"; string m
我有一个分区键列表,如 ListpartitionIds。我想查询 Azure 表存储以获取所有实体,例如: var query = (from result in dataServiceContex
了解 Azure 存储表。 对于包含地址和其他字段的人员表,设置 PartitionKey 和 RowKey 来优化这样的查询的最佳方法是什么? SELECT * FROM {table} WHERE
GET/Product()?$filter=((PartitionKey%20eq%20'lIkfA81JpTmv')%20and%20(RowKey%20eq%20'')) %20或%20((Par
我有一个包含 PartitionKey.i 的集合,它创建了一个接受查询作为参数的存储过程。在此存储过程中,我正在获取一些要更新的文档,但在获取时显示错误,提示当我使用该方法时提供 Partition
我正在尝试从 Cosmos DB 中删除文档 我的代码是这样的: public async Task DeletePartner(string id) { va
GET/Product()?$filter=((PartitionKey%20eq%20'lIkfA81JpTmv')%20and%20(RowKey%20eq%20'')) %20或%20((Par
我有一个包含 PartitionKey.i 的集合,它创建了一个接受查询作为参数的存储过程。在此存储过程中,我正在获取一些要更新的文档,但在获取时显示错误,提示当我使用该方法时提供 Partition
我正在尝试从 Cosmos DB 中删除文档 我的代码是这样的: public async Task DeletePartner(string id) { va
使用 SQL api,您可以在 SQL 语句中指定分区键,例如SELECT * FROM c WHERE c.MyPartitionKey = 'KeyValue' 或使用 FeedOptions.P
使用 Azure 表,如果我知道实体的 RowKey 和 PartitionKey(以便我可以检索该实体),如何编辑该实体的特定属性值? 这听起来像是一个非常标准的操作,但正常的做法是这样的: pub
我是一名优秀的程序员,十分优秀!