回味过去,展望未来,开始分布式数据库探索之旅,首先了解历史,本文大致梳理一下数据库发展过程,从1970年到2018年,数据库的发展过程,仅供参考,交流和学习,感谢您阅读!
“数据(data)”一词来自拉丁文“datum”,意思是“给予某物”。表示从测量或研究中获得事实,数字或想法,可以是数字,单词或图像等。数据库是经过组织的数据集合,按需存储、处理和访问,数据库中的数据按数据模型组织储存在一起、以尽可能小的冗余度、较高的数据独立性和易扩展性,在一定范围内为用户共享。数据库管理系统(DBMS)是一组软件,用于定义,存储,操作和控制数据库中的数据。当数据规模大到一定程度时,会有哪些挑战? 往往一个问题解决了,不得不面对另一个新问题,NewSQL就是在这样挑战中一步一步演变过来,NewSQL是在线事务处理(OLTP)的下一代可扩展的关系数据库管理系统(RDBMS),支持关系数据模型,保持ACID,采用分布式架构,无共享存储,支持横向扩展,使用SQL作为接入和修改数据库状态,支持无锁并发控制,遵循三层模型:管理层,事务层和存储层。
信息处理推到计算机的发展,20世纪初由 Herman Hollerith 发明的穿孔卡记录美国人口普查数据,并使用机械系统处理卡片并将结果制作成表格,从前期平面文件系统到关系和对象关系系统,到今天的NewSQL 和 自动系统(Self-Driving),从20世纪60年代发展到现在,数据库管理系统(DBMS)大致演变过程如下。
1960年以前,数据不在磁盘上存储,而是由程序员定义数据逻辑结构和物理结构,如存储结构,访问方法,I/O模式等,每个程序对应一个数据集,数据高度冗余,没有持久化; 没有数据库之前,数据维护在一个平面文件(flat file)中,磁带介质决定其处理过程,包括程序接口文件(逻辑文件)和数据文件(物理文件),一个文件对应一个或多个程序,存在各种访问方法,如,顺序的,索引的,随机的,使用第三代语言(如COBOL,BASIC)进行编程。扁平文件的限制:
在关系型DBMS中结合面向对象产生新的应用领域,如数据仓库和OLAP,Web和Internet,文本和多媒体的兴趣,企业资源规划(ERP)和管理资源规划(MRP)系统。
随互联网应用到来,数据呈现出大容量,多样性,流动性等特点,2009年初,Eric Evans在开源分布式数据库的讨论中提出NoSQL一词,用于指代那些非关系型的、分布式的,且一般不保证ACID的数据储存系统,专注高可用和高可靠性,放弃强事务和传统关系模型,遵循CAP(一致性,可用性,分区容差)理论,符合BASE(基本上,可用,软状态,最终一致)规则,无Schema,采用自定义API代替SQL等,典型的NoSQL 产品包括谷歌的BigTable,亚马逊的Dynamo,Facebook的Cassandra(基于BigTable和Dynamo)和PowerSet的Hbase(基于BigTable),以及MongoDB,Redis等。
[TODO] 这里埋下许多NoSQL...
[TODO] 还有许多如Baidu, 华为,京东云,青云,白山云等国内公司在NewSQL上发布相应的产品, 都发生在这里...
[TODO] 这才刚刚开始,有待进一步挖掘....
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。