无需登录 数据私有 本地保存

Storage Buckets API 实验室 - 分区存储策略

87
0
0
0

Storage Buckets API 实验室 专业术语表

术语 释义
Storage Buckets API W3C 标准化的浏览器存储接口,允许开发者创建多个独立的存储桶(Bucket),每个桶拥有独立的配额、权限和持久化策略,是对 IndexedDB 单一命名空间模型的重要扩展。
存储桶(Bucket) Storage Buckets API 中的逻辑存储单元,类似于数据库中的表空间概念。每个存储桶拥有独立的名称、配额限制和持久化偏好设置, 开发者可以通过 bucket.open() 方法创建和访问。
哈希分区(Hash Partitioning) 一种数据分区策略,通过对分区键进行哈希运算,将数据均匀散布到多个分区桶中。哈希分区在点查询场景下性能优异, 但由于哈希函数的离散性,范围查询需要跨多个分区扫描,效率较低。
范围分区(Range Partitioning) 按照键值的连续区间将数据划分到不同分区桶中。范围分区天然适配范围查询操作,但在点查询时需要先定位目标区间, 且容易因数据分布不均导致热点分区问题。
列表分区(List Partitioning) 依据预定义的分类枚举值将数据分组到对应分区桶中。列表分区适合具有明确分类维度的数据(如地区、类型), 分区规则的合理性直接决定了数据分布的均匀程度。
数据倾斜(Data Skew) 指数据在各分区桶中分布不均匀的现象。严重的数据倾斜会导致某些分区成为热点,负载集中到少数节点上, 降低并行处理效率并增加查询延迟。倾斜程度通常用基尼系数或标准差来量化。
倾斜因子(Skew Factor) 本实验工具中的参数,用于控制生成数据的分布均匀程度。均匀模式下各分区数据量近似相等,40%倾斜模式下部分分区数据量 有所偏移,严重倾斜模式下数据会高度集中到少数分区。
基尼系数(Gini Coefficient) 源自经济学的不平等度量指标,在存储领域用于衡量数据在各分区间的分布均匀性。基尼系数取值范围为0到1,0表示完全均匀, 1表示所有数据集中在单个分区。本工具通过该指标提供倾斜程度的客观量化。
热点风险评分 本工具自定义的评估指标,衡量数据集中到少数分区的风险程度。评分基于各分区数据量与平均值的偏差幅度计算, 高分表示存在严重的热点分区问题,需要考虑调整分区策略。
点查询(Point Query) 精确匹配单条记录的查询操作,通过指定完整的键值来获取对应的数据项。在哈希分区下点查询效率最高, 因为哈希函数可以直接定位目标分区。
范围查询(Range Query) 检索键值落在指定区间内的所有记录的查询操作。范围分区天然适配范围查询,因为同一区间的数据存储在同一分区中, 而哈希分区执行范围查询时需要扫描所有分区。
全扫描(Full Scan) 遍历分区或全部数据中所有记录的查询操作。全扫描的性能与数据总量成正比,与分区数量关系不大, 但在无分区模式下需要遍历整个数据集,耗时最长。
IndexedDB 浏览器内置的事务型键值数据库,支持存储大量结构化数据并提供索引查询能力。Storage Buckets API 建立在 IndexedDB 之上, 是其多命名空间的扩展方案。
配额管理(Quota Management) 浏览器对 Web 应用存储空间的限制机制。Storage Buckets API 允许每个桶独立管理配额, 开发者可以为重要数据请求持久化存储权限,为临时数据设置自动清理策略。
持久化偏好(Persistence Preference) Storage Buckets API 中每个桶可设置的属性,指示浏览器在存储空间不足时是否优先保留该桶的数据。 支持 "none"(可自由清理)和 "possible"(尽量保留)两种策略。