和传统关系数据库不同的是,键值数据库采用键值对的方式存取数据。每一个数据对由键和值组成,其中键为一个字符串,值可以为任意类型,如整型、浮点数、字符串,甚至是集合等复杂类型。键值数据库中存储一个键值对的集合,形成一个类似字典的数据结构,并且存储在里面的键值对必须是不重复的,这样可以保证存取数据的时候不会发生冲突。键值数据库的数据模型足够简单,这使得键值数据库高度可分区,并且允许以其他类型的数据库无法实现的规模进行水平扩展,从而提供更高的性能和可用性。
以关系数据库中的某个Student表为例(见表4-1),如果希望将基本表存储在键值数据库中,可以将其转成表4-2所列的键值对存储方式。
表4-2 键值对存储方式
从表4-2可以看出,键会采用“主键:列名”构成,键所对应的值为指定行的指定列值。特别地,如果要将不同表格的数据均存储在同一个键值数据库中,则键会由“表名:主键:列名”构成。例如表4-2中的第一个键值对会相应地改动为(Student:100:Name,李明)。