数据管理技术的发展经历了人工管理和文件管理阶段之后,大约在20世纪60年代进入了数据库管理阶段
2022/2/11 2:12:42
本文主要是介绍数据管理技术的发展经历了人工管理和文件管理阶段之后,大约在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。
这篇关于数据管理技术的发展经历了人工管理和文件管理阶段之后,大约在20世纪60年代进入了数据库管理阶段的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南