1.1 海量数据的黎明
(1)Hadoop擅长存储任意的、半结构化的,非结构化的数据。
(2)大多数RDBMS遵守科德十二定律(Codd's 12 rules):
准则0 :一个关系形的必须能完全通过它的关系能力来管理数据库。
准则1 信息准则:的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。
准则2 保证访问准则 :靠表名、主码和列名的组合,保证能以逻辑方式访问中的每个数据项。
准则3 的系统化处理 :全关系的支持空值的概念,并用系统化的方法处理空值。
准则4 基于关系模型的动态的联机 :数据库的描述在逻辑级上和普通数据采用同样的表述方式。
准则5 统一的数据子语言 :一个可以具有几种语言和多种访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。
准则6 视图更新准则 :所有理论上可更新的视图也应该允许由系统更新。
准则7 高级的插入、修改和删除操作:系统应该对各种操作进行查询优化。
准则8 数据的物理独立性 :无论数据库的数据在存储表示或存取方法上作任何变化,和终端活动都保持逻辑上的不变性。
准则9 数据逻辑独立性 :当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。
准则10 数据完整的独立性:关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。
准则11 分布独立性 :在引入分布数据或数据重新分布时保持逻辑不变。
准则12 无破坏准则 :如果一个具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。
1.2 关系数据库系统的问题
(1)数据库利用内置的存储过程保证了多张表的数据一致性。
(2)数据库事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。
事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。