数据管理技术的发展经历了人工管理和文件管理阶段之后,大约在20世纪60年代进入了数据库管理阶段

数据管理技术的发展经历了人工管理和文件管理阶段之后,大约在20世纪60年代进入了数据库管理阶段。早期的数据库系统按照存储模型可以分为层次数据模型(Hierarchical Data Model)和网状数据模型(Network Data Model)。
层次数据模型使用树状结构表示数据对象以及它们之间的联系,类似于现代操作系统中的文件目录结构。层次模型是数据库系统中最早出现的数据模型,典型的代表是IBM公司的IMS(Information Management System)数据库。
网状数据模型采用网状结构表示数据对象及它们之间的联系,一个节点可以有一个或多个下级节点,也可以有一个或多个上级节点,两个节点之间甚至可以有多种联系。网状数据库反映了现实世界中实体之间更为复杂的联系,典型的代表是DBTG系统。
层次数据库和网状数据库的数据独立性和抽象程度有限,导致用户编写应用时必须了解数据存储的细节,其实现过程比较复杂。为了解决这些问题,1970年6月IBM公司的研究员Edgar Frank Codd博士在Communications of the ACM上发表了著名的论文A Relational Model of Data for Large Shared Data Banks,随后创建了关系数据模型。
关系数据模型(Relational Data Model)具有严格的数学理论基础,采用关系(二维表)表示数据对象以及它们之间的联系,概念非常简单,易于理解和使用。同时,关系数据模型提供了较高的抽象级别,用户只需通过声明式的SQL(结构化查询语言)对数据进行访问和处理,而不用了解具体的数据存储和访问方式。
关系型数据库经过几十年的发展和应用,已经成了数据库领域的主流产品,应用范围非常广泛。目前主流的关系型数据库包括MySQL、Oracle、Microsoft SQL Server、PostgreSQL以及SQLite等。
随着互联网的发展和大数据的兴起,市场上出现了各种各样的非关系型(NoSQL)数据库。NoSQL代表Not only SQL,表明它们是对传统关系型数据库的补充和升级,而不是为了替代关系型数据库。NoSQL数据库主要用于解决关系型数据库在某些特定场景下的局限性,例如复杂的数据结构、海量数据存储和水平扩展性问题;但是它们同时也会为此牺牲某些关系型数据库的特性,例如对事务强一致性的支持和标准SQL接口。
常见的NoSQL数据库包括以下几类:文档数据库(例如MongoDB)采用灵活的模式结构,适用于存储半结构化的文档数据;键值数据库(例如Redis)使用简单的键值方法来存储数据,可以提供高性能的数据结构缓存;宽列存储数据库(例如Cassandra)提供了动态列存储功能,适合于需要存储大量数据的情况;图数据库(例如Neo4J)基于数学中的图论算法,适合大量复杂关系网络的分析;全文搜索引擎(例如Elasticsearch)可以提供强大的全文搜索功能。
2011年,美国451 Group的分析师Matthew Aslett在其论文中首次提出了NewSQL的概念。NewSQL是一类新型的关系型数据库,它们不但拥有传统关系型数据库的事务强一致性和标准SQL接口,同时也具有NoSQL数据库对海量数据的可扩展性和高性能。
Google公司随后陆续发布了Spanner/F1系统的论文,首次实现了关系模型和NoSQL的可扩展性在超大集群规模上的融合。基于这一启发,Cockroach Labs开发了CockroachDB分布式数据库,PingCAP公司开发了TiDB数据库,阿里巴巴开发了OceanBase数据库。另外,还有一些采用优化引擎的NewSQL数据库系统,例如MySQL Cluster。

上一篇:Cassandra分布式数据库培训_Cassandra分布式集群培训【NoSQL培训】 原创


下一篇:win8 iis7/iis8 安装、卸载、设置方法