Data Model(数据模型)
Aerospike采用无模式(schema-less)数据模型,这意味着存储在库中的数据不符合严格模式。
这提供了你在Aerospike中存储数据的灵活性-数据修改不需要修改schema,库中已存在的数据也不需要符合指定的schema
Aerospike的无模式(schema-less)数据模型允许动态添加新类型的bin。尽管如此,仍然需要遵守bin名称与数据的对应关系。应用程序必须利用bin的一致性来保障查询和聚合的正确性。
How Data is Organized(数据如何组织)

Namespaces(命名空间)
命名空间(namespace)是数据最顶层的容器。就像在标准的RDBMS中一样,namespace可以是数据库的一部分也可以是一组数据库,这决定于你如何存储和管理namespace中的数据。
一个namespace包含记录(records),索引(indexes )及策略(policies)。策略决定namespace的行为,包括:
- 数据如何存储:存储于内存或是磁盘
- 一条记录存在多少个副本
- 记录何时过期
更多关于namespace配置的信息请参看Configuring Namespaces。
根据应用程序的需要,一个数据库可能包含多个不同策略的多个namespace。namespace被认为是一个物理容器,因为其中的数据必须绑定存储设备,存储设备可能是内存、磁盘或者是文件。
图1中,我们定义了两个namespace分别命名为ns1和
ns2。ns1将记录存放在磁盘上,ns2将记录存放在内存中。

Sets(集合)
在命名空间(namespace)中,记录可以属于一个称作集合(set)的逻辑容器。集合(set)为应用程序提供了收集记录组的能力。集合(set)继承了包含它的namespace的策略,也可为set指定其他的策略。
图2中,为ns1 namespace添加两个集合,people和places。用于存储基于类型的记录。除了存储于两个集合中的记录,namespace中有部分记录不属于任何set。

Records(记录)
Aerospike数据库是行存储的所以焦点是独立的记录(在标准RDBMS中称作行)。记录是数据库存储的基本单元。行属于某个namespace或者某个namespace中的set。记录通过namespace中定义的唯一key来访问。
记录的组成如下:
key | 记录是通过一个哈希键进行访问的,称作摘要 |
metadata | 元数据提供记录的版本信息(代)以及活动时间(ttl) |
bins (fields) | bin相当于传统数据中的字段 |
Key / Digest
应用程序中,每一条记录都有一个用来访问它的key。应用程序通过key来读写记录。
当key被发送至数据库,key(与set信息一起)被哈希化成一个160位的摘要。数据库中,摘要为所有操作定位记录。
key主要用于应用程序访问,而摘要主要用于数据库定位记录。
key可能是整型,字符串或者二进制。细节请参阅Data Types.
Metadata(元数据)
每条记录与描述它自身的元数据一块存储,包括下列事物:
-
generation(代)反映记录被修改的次数。这个数字在应用程序读的时候交回,用来确定正在写入的数据从最后一次读开始未被修改过。
-
存活时间 (TTL) 用来指定记录生存多长时间。Aerospike会自动依据记录的TTL使其过期。每次在对象上执行写操作TTL就会增加
Bins
在记录(record)中数据被存储于一个或多个bin。一个bin有名字和值组成。bin不指定类型,类型由bin中包含的值定义。
动态类型为数据模型提供了很大的弹性。例如,一条记录中包含值为字符串"bob"名称为 "id"的bin。bin的值可以变成不同的字符串值,也可以变为其他类型的值,比如整型的72.
namespace或set中的记录可能由迥然不同的bin的集合组成。记录无模式,所以每条记录拥有完全不同的bins是有可能的。在记录的生命周期中的任何时点都可以添加或移除bin
在一个namespace钟bin名称的数量是有限制的。最多32k个唯一bin名称。
bin的值可能是任意原生支持的类型(native supported types)和LDTs.
译者:北京IT爷们儿
相关推荐
"FACE_2.1_Shared_Data_Model_v2.1.30_共享数据模型_机载_face_V2_" 是一个关于未来机载能力环境(Future Airborne Capability Environment, 简称FACE)的重要资源,主要关注的是其共享数据模型的一个特定版本——v...
Oracle通讯数据模型(Oracle Communications Data Model)是针对通信服务提供商(Communications Service Providers, CSP)的数据仓库解决方案。它基于标准预构建的方法,旨在加快通信服务提供商实现洞察力的能力,...
- **Task Data Model**: 该模型包含了所有任务的基本属性和操作逻辑,比如分配给谁、位于何处等。 - **ApprovalTask**: 特殊类型的Task,涉及审批流程。 - **CatalogTask**: 与服务目录相关的任务,通常由用户请求...
### 数据模型资源手册 第一卷 #### 书籍概述 《数据模型资源手册 第一卷》是一本由Len Silverston编写的、旨在为企业提供通用建模方法的手册。本书是企业数据建模人员不可或缺的参考资料之一,它包含了大量经典的...
### 数据模型评分卡(Data Model Scorecard):应用行业标准评估数据模型质量 #### 知识点一:数据模型的重要性及质量验证的需求 - **数据模型的定义**:数据模型是数据库设计的核心,它通过图形化的表示方法来描述...
### TR-181 Issue-2 Amendment-2 设备数据模型详解 #### 一、概述 TR-181 Issue-2 Amendment-2是宽带论坛(The Broadband Forum)发布的一项技术报告,主要关注于为TR-069提供设备数据模型。TR-069是一种广泛应用...
本篇文章将深入探讨BlackBerry Datamodel的几个核心知识点,包括信号与槽(Signal and Slot)、排序数据模型(Sorted Data Models)、异步数据提供(Asynchronous Data Providing)以及未排序数据模型(Unsorted ...
数据模型资源手册卷1覆盖了数据模型的基本元素和构建基础,而卷2则针对特定行业,详细阐述了如何设计符合行业特性的数据模型。 在卷1中,我们首先了解到数据模型在数据库设计中的核心地位。数据模型包括了数据结构...
高级数据模型英文课件 Some Basic Terms History of Database Models Problems with RDBMS Aspects of Advanced Data Models
企业通用建模手册第二卷,作者为Len Silverston。 是企业数据建模人员的不二选择。 提供了许多与特定行业相关的模型,如生产企业,电信行业,医疗行业等。
《数据模型资源手册卷3》是一本专注于数据库建模的专业资料,它作为前两卷的深化和提炼,为读者提供了全面而深入的数据模型设计知识。本手册覆盖了多个关键概念和实践,旨在帮助读者理解并掌握如何有效地设计和构建...
总结来说,文档《Teradata Travel and Hospitality Industry Data Model》提供了关于Teradata旅游和酒店行业数据模型的详细知识,说明了这个模型如何帮助相关行业的组织快速获得业务的宏观理解,并通过标准化的数据...
企业通用建模手册第二卷第二部份,作者为Len Silverston。 是企业数据建模人员的不二选择。 提供了许多与特定行业相关的模型,如生产企业,电信行业,医疗行业等。
1.2数据模型(Data Model) 数据模型是一种模型,是对现实世界数据特征的抽象。数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。 数据模型的组成要素:数据...
作为 Oracle Retail Data Model 的参考手册,Release 11.3.2-726 版本提供了详细的数据模型信息,旨在帮助用户更好地理解和使用 Oracle Retail Data Model。 数据模型概述 Oracle Retail Data Model 是一个基于...
TR-98数据模型是DSLHomeTM Internet Gateway Device Version 1.1 Data Model for TR-069的重要组成部分,它不仅为远程管理系统提供了标准化的方式来进行设备管理,还确保了不同厂商之间设备的互操作性。通过详细了解...
数据模型资源手册是建模专业人士的重要参考资料,尤其对于那些希望深入了解和掌握数据建模技术的英文读者来说。这本书详尽地介绍了数据模型的概念、类型、设计原则和实践应用,是学习和提升数据建模能力的理想工具。...