过去的几年中创造的数据超过人类以往历史,有效地管理、操纵和保护这些信息资产的需求从未像现在这样重要,这一需求一直由领先的数据库供应商来解决,然而,在过去的十年中,无数的挑战者已经进入了这个战场,扰动着数据爆炸时代的数据库市场秩序。
近年来,数据库经历了戏剧性地演变,一些类型的数据库已经走到了疲软道路上,而另一些则蓬勃发展到今天。资深的DBA会回忆起他们在早期的Informix、SQL server和Oracle DBMS产品上的切身体会(后两者仍然占主导地位),而千禧年的开发者则回忆起MySQL/LAMP栈和PostgreSQL的开源简单性。
最后,值得一提的是,今天这一代的DevOps工程师更喜欢NoSQL数据库的非结构化敏捷性,如MongoDB和DynamoDB。
今天的数据库
目前,大多数数据库属于两类中的一类:关系型数据库管理系统(RDBMS)和较新的非结构化和/或特殊应用数据库。前者自20世纪70年代以来一直存在,由相关表格组成,而这些表格又是由行和列组成的。关系型数据库使用结构化查询语言(SQL)进行操作,这是执行创建、读取、更新、删除(CRUD)功能的事实标准语言。
RDBMS是企业计算的主要数据库类型,其SQL语言是与数据库通信的通用语言。根据ScaleGrid.io最近的一项调查,基于SQL的RDBMS仍然占部署中的数据库的60.5%。事实上,SQL语言的持续流行导致了大数据产品的出现,比如被恰当地命名为SQL-on-Hadoop和Apache Hive的产品,都采用了这种语言。
云计算的出现使数据处理能力得到了前所未有的横向扩展,正好可以支持互联网所带来的结构化和非结构化数据的飞速增长。随着后者日益突出,一些人认为需要一个新的数据库范式。因此,NoSQL应运而生