
# 键值存储服务基本概念
- **存储仓** **（Store）**
  存储仓，简称仓，是用来存储表数据的单元。用户可以根据自己的业务系统划分，创建不同的仓。
  
- **表（Table）**
  表是用来存储键值数据的集合，归属于某个仓。用户可以在一个仓中创建多个表，用来储存键值数据。通过本地二级索引和全局二级索引可以快速而准确地检索到表中的键值数据。
  
- **KV** **（Key-Value）**
  键值数据（Key-Value），简称KV，是文档型的数据项，提供主键到整条数据的映射。KV数据存储在表中。
  
- **分区键** **和排序键**
  **分区键**：分区键是一个表的属性，用于确定该表中的每一个KV存储所在的分区。例如，对于一个用户表，可以指定用户名属性作为分区键。 KVS会根据此用户名的名称（KV）选择分区，同样的用户名名称存储在同一个分区。
  **排序键**：排序键是一个表的属性，该表中的KV会根据排序键进行排序以后存储。查询数据时，您可以按照排序键输出数据。
  创建表时，除表名称外，您还必须指定表的主键。主键唯一标识表中的每个KV，因此，任意两个KV的主键都不相同。KVS支持两种不同类型的主键：
  **简单主键**：由分区键构成。
  **复合主键**：由分区键和排序键组合构成。
  
- **索引**
  索引是用来辅助查询表中的KV数据，能够加速键值检索，准确访问键值数据。KVS提供本地二级索引和全局二级索引。
  **本地二级索引：**对于复合主键（分区键+排序键）的表，支持创建本地二级索引，实现分区键下的多个键值的辅助索引。键值写入时，自动生成并存储本地二级索引记录，并保证键值与本地二级索引记录的强一致。
  **全局二级索引：**索引分区键和主表分区键不同，全局二级索引只保存索引记录，不保存完整键值内容。键值写入时，自动生成索引记录，并异步写入全局二级索引，键值与全局二级索引记录为最终一致。
  
关于存储仓、表、KV、索引之间的关系，如[图1]所示。
图1KVS基本概念之间的关系   
![](https://support.huaweicloud.com/productdesc-kvs/zh-cn_image_0000001783808905.png)
