View a markdown version of this page

确定是否需要多个分区 - AWS 数据库加密 SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

确定是否需要多个分区

默认情况下,所有信标都是使用分区派生的。在最简单的配置中,信标使用单个分区。使用其他分区是一种调整决策,有助于解决偏差、热门值和频率泄露问题,但它也可能增加查询扇出,因为每个分区必须发出一次查询。本节说明单个分区何时足够,以及何时应配置多个分区。

从人口和均匀性开始

首先评估您计划信标化的属性:

  • 人口规模:信标应来自具有足够不同值(例如,至少 32 个唯一值)的字段,信标化才能生效。如果不满足此要求,则增加分区数量可以帮助更有效地分配值。

  • 频率分布:使用均匀性分析来评估该属性的分布是否基本均匀或显示出明显的偏差。

    如果一个属性的分布大致均匀,则单个分区通常就足够了。如果分布存在偏差或包含明确的热门值,则建议配置多个分区。

当建议使用多个分区时

当满足以下一个或多个条件时,建议配置多个分区:

  • 热门值或热门信标:少数值的出现频率比其他值高得多(例如,一个非常常见的姓氏)。这些值创建了非常大的相同信标组,使它们更容易与其他值区分开来。

  • 数据分布不均匀:有些值非常频繁地出现,而其他许多值只出现几次。这些稀有值出现的频率不够高,无法与其他值融为一体,这使得在足够大的群体中保护它们变得更加困难。

  • 需要更长的信标长度:使用更长的信标长度可以提高查询的准确性,但可以减少发生冲突的机会。分区通过将值分布到多个分区来帮助维持冲突。由于每个分区都有自己的信标空间,因此相同的值可能会与不同分区中的不同值发生冲突,从而有助于平衡隐私和精度。

  • High-volume 搜索属性:经常查询该属性,误报的代价很高。分区允许您增加信标长度以减少误报,同时仍能保持可接受的隐私保护。

当单个分区足够时

在以下情况下,使用单个分区可能是合适的:

  • 该属性的分布大致均匀,并通过了均匀性检查。

  • 该属性很少用作搜索谓词,或者误报和频率泄漏不是重要问题。

在这些情况下,使用单个分区配置属性会更简单,并且可以避免额外的查询扇出。

通常,如果某个属性适合信标化,但存在偏差、热门值或匿名限制,而单个分区无法满足这些限制,则配置多个分区可以提供更安全、更灵活的解决方案。