《数据库存储模型简述》要点:
本文介绍了数据库存储模型简述,希望对您有用。如果有疑问,可以联系我们。
数据库现在应该是无人不知,无人不晓,讲到数据库必然要提到两个人:
埃德加·弗兰克·科德(Edgar Frank Codd,1923-2003)是密执安大学哲学博士,IBM公司研究员,被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖.1970年,科德颁发题为“大型共享数据库的关系模型”的论文,文中首次提出了数据库的关系模型.由于关系模型简单明了、具有坚实的数学理论基础,所以一经推出就受到了学术界和产业界的高度重视和广泛响应,并很快成为数据库市场的主流.
在1970年代前期,Michael Stonebraker就在Edgar Codd的关系数据库论文启发下,组织伯克利的师生,开始开发最早的两个关系数据库之一Ingres(另一个是IBM System R),Ingres的基础上后来发展出Sybase和SQL Server两大主流数据库.Ingres在关系数据库的查询语言设计、查询处理、存取办法、并发控制和查询重写等技术上都有重大贡献.
1980年代他又开发了POSTGRES项目,目的是在关系数据库之上增加对更复杂的数据类型的支持,包含对象、地理数据、时间序列数据等.后来这个系统演变为开源的PostgreSQL,Greenplum、Aster Data、Netezza和Stonebraker自己创办的Ilustra(后被Informix收购)等多个商业公司和开源的产品都是基于PostgreSQL开发的.
1990年代,他启动了联邦数据库Mariposa,基于此创办了Cohera公司,后被PeopleSoft收购.Mariposa和稍早的XPRS(与Randy Katz、David Patterson和John Ousterhout诸位大牛合作)和Distributed Ingres两个项目开了一代分布式数据库风起之先.Shared Nothing架构这一重要概念也是那个时期提出来的,这已经成为如今大数据系统的基石之一.
按关系模型来组织和管理,存储数据,流行了30多年,最近这十年才因为数据量爆炸,为了保证性能,工业界在关系模型上做了一定的妥协,针对不同的场景,采用不同的存储方式,没有完全遵守数据库模型.类似redis这种的又是非关系型数据库,这类技术被称之为NoSQL,还有新出现的一类数据库,NewSQL,NewSQL是不仅具有NoSQL对海量数据的存储管理能力,还坚持了传统数据库对ACID和SQL特性的支持.
NoSQL相对传统数据库是实践的妥协,为了实现高吞吐量,不支持ACID数据库的设计范式.NoSQL没有统一的查询语言.
依照存储模型来说分为以下4类.
列式存储模型
文档数据模型
键值数据模型
图式数据模型
应用场景:分布式数据存储,在分布式文件系统上支持随机读写的分布式数据存储.
典型的产物:Hadoop/Hbase,Hypertable
数据模型:以“列”为中心进行存储,将同一列数据存储在一起.
优点:快速查询,高可扩展性,易于实现分布式扩展.
应用场景:非强事务需求的web应用.
典型的产物:MongoDB,Elasticsearch
数据模型:键值模型,存储为文档模型
优点:数据模型无须事先定义,存储很随意.
应用场景:内容缓存,用于大量的并行数据拜访的高负载场景.
典型的产物:Redis,DynamoDB,LevelDB
数据模型:基于哈希表实现的key-value
有点:查询迅速,写入迅速
缺点:数据没有什么布局
应用场景:社交网络、保举系统,关系图谱(如陌陌的附近的人这样的功能)
典型的产物:Neo4J
数据模型:图式布局
优点:适用于图式计算场景
版权归微信公众号/头条号《大数据和云计算技术》所有,转载请联系本人授权;欢迎关注,获取最新技术资讯和深度阐发.
《数据库存储模型简述》是否对您有启发,欢迎查看更多与《数据库存储模型简述》相关教程,学精学透。维易PHP学院为您提供精彩教程。