您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > NoSQL与NewSQL数据库引航01
NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoSQL与NewSQL数据库引航第1课NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区课程目标了解NoSQL类数据库的原理和应用场景,能进行初步选型熟练安装memcached、Redis、Mongodb、Cassandra、Neo4J等NoSQL产品,和VoltDB等NewSQL产品,以及MySQL集群懂得如何使用上述NoSQL与NewSQL产品,并能用于解决实际应用问题组建分布式集群并进行调试2NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区参考书3NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区参考书4NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区数据库发展史无库时代层次状数据库网状数据库关系型数据库6NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关系型数据库之父:E.F.Codd7NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关系型数据库1970年,Codd划时代的论文《用于大型共享数据库的关系数据模型》关系与关系代数8NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关于关系代数的参考书9NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Codd全关系系统十二准则准则0一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库。准则1信息准则关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。准则2保证访问准则依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。准则3空值的系统化处理全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值。准则4基于关系模型的动态的联机数据字典数据库的描述在逻辑级上和普通数据采用同样的表述方式。准则5统一的数据子语言一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。准则6视图更新准则所有理论上可更新的视图也应该允许由系统更新。10NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Codd全关系系统十二准则准则7高级的插入、修改和删除操作系统应该对各种操作进行查询优化。准则8数据的物理独立性无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性。准则9数据逻辑独立性当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。准则10数据完整的独立性关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。准则11分布独立性关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变。准则12无破坏准则如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。11NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区SQL之父唐·钱伯林(DonChamberlin),是IBMFellow,ACM及IEEE特别会员。他是SQL关系数据库语言的发明人之一,也是XQuery语言的设计基础Quilt语言的发明人之一。Don拥有加利福尼亚大学博士学位。他目前在IBMAlmaden研究中心工作,在过去几年中,他代表IBM参与W3CXMLQuery工作组的工作。12NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Scott和他的猫的故事左起EdOates、BruceScott、BobMiner、LarryEllison13NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Oracle与LarryEllison14NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区MichaelStonebraker15NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区MichaelStonebrakerMichaelStonebraker,SQLServer/Sysbase奠基人。著名的数据库科学家,他在1992年提出对象关系数据库模型在加州伯克利分校计算机教授达25年。在此期间他创作了Ingres,Illustra,Cohera,StreamBaseSystems和Vertica等系统。Stonebraker教授也曾担任过Informix的CEO,目前他是MIT麻省理工学院客席教授。Stonebraker教授领导了称为Postgres的后Ingres项目。这个项目的成果非常巨大,在现代数据库的许多方面都做出的大量的贡献。Stonebraker教授还做出了一件造福全人类的事情,那就是把Postgres放在了BSD版权的保护下。如今Postgres名字已经变成了PostgreSQL,功能也是日渐强大。87年左右,Sybase联合了微软,共同开发SQLServer。原始代码的来源与Ingres有些渊源。后来1994年,两家公司合作终止。此时,两家公司都拥有一套完全相同的SQLServer代码。可以认为,Stonebraker教授是目前主流数据库的奠基人。16NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区MichaelStonebraker1973年IBM启动了SystemR项目,项目组发表了一系列关于关系数据库的的文章。两个伯克莱大学的科学家,MichaelStonebraker和EugeneWong读了这些文章后非常感兴趣,于是决定自己启动一个关系数据的研究项目。他们已经为一个地理数据库系统申请到了资金,他们称为ingres,意思是交互式图形获取系统Ingres的代码是可以免费获得的,到1980年止,共分发了1000份拷贝,不少公司使用这些代码形成了自己的产品线。Informix是最早的用户之一,并且其员工完全是Ingres项目的人员。他们在1984发布了基于Ingres的第一版产品,到1997年已经成了第二大数据库供应商。然而,一系列管理和财会方面的失误在短短两年内毁了公司的信誉,并于2000年被IBM收购。17NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区MichaelStonebrakerRobertEpstein在伯克立大学项目中的重要的程序员,创建了Britton-Lee,后来的Sybase,Sybase在80到90年期间是第二号数据库产品,Sybase于1992年将产品卖给微软,微软称之为MSSQLServer。Stonebraker自己离开了伯克立大学在1982年创建了Ingres公司,Stonebraker在这个公司工作到1991年,然后公司卖给了ASK,1994年ASK/ingres被CAComputerAssociates收购。2004年CA在开源许可下发布了Ingresrelease3,并继续开发销售Ingres。在返回Berkeley之后,Stonebraker开始了一项后-Ingres计划来致力于解决关系模型的数据库管理现有实现的局限性。其中主要的是它们不能让用户定义组合更简单域的新域(或者叫“类型”)(参见关系模型获得对术语“域”的解释。)结果的计划叫做Postgres,以介入对增加完整的类型支持所需要的最小数目的特征为目标。其中包括定义类型的功能,还有完全描述联系的能力-联系至今已经广泛使用但仍由用户完全维护。在Postgres中数据库“理解”联系,并能以使用规则的自然方式在有关联的表中检索信息。详情请参见PostgreSQL的文章。在1990年Stonebraker再次离开Berkeley去商业化Postgres,使用了名字Illustra。Illustra后来被Informix并购,而Stonebraker再次回去搞高等教育了。18NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关系型数据库产品中的关键技术存储引擎索引设计SQL优化器事务管理与并发控制容灾与恢复技术19NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关于数据库原理的葵花宝典20NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区数据的存储(行式存储)21数据存放在数据文件内数据文件的基本组成单位:块/页块内结构:块头、数据区NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区行式存储的问题读某个列必须读入整行行不等长,修改数据可能导致行迁移行数据较多时可能导致行链NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区行式存储的访问路径全表扫描行标识访问NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区行标识访问:B树索引NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区列式vs行式行式列式数据与索引分离数据与索引一体数据几乎不压缩数据压缩操作某列必须读出整行能直接读取某列数据NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区内存数据库OracleTimestenAltibaseSolidDBeXtremeDB26NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区关系型数据库的弱点很难进行分布式部署,I/O瓶颈显著。依赖于强大的服务器,需要花更大代价才可以突破性能极限难以处理非结构化数据All-in-one27NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区CAP定律CAP(Consistency,Availability,Patitiontolerance)理论论述的是在任何分布式系统中,只可能满足一致性,可用性及分区容忍性三者中的两者,不可能全部都满足。所以不用花时间精力在如何满足所有三者上面。CAP理论无疑是导致技术趋势由关系数据库系统向NoSQL系统转变的最重要原因。与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoCAP!与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoSQL运动NoSQL=NotOnlySQL大部分为开源软件大部分支持分布式集群在特定的场景下,能解决关系型数据库的某些弱点缺乏统一的解决方案30NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoSQL数据库家族多达100多种,还在迅速增加键值(key-value)数据库面向文档的数据库面向列的数据库面向图的数据库31NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区满足一致性,可用性的系统,通常在可扩展性上不太强大TraditionalRDBMSslikePostgres,MySQL,etc(relational)Vertica(column-oriented)AsterData(relational)Greenplum(relational)32NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区满足一致性,分区容忍性的系统,通常性能不是特别高Bi
本文标题:NoSQL与NewSQL数据库引航01
链接地址:https://www.777doc.com/doc-4297617 .html