第一个自动化数据库与 Herman Hollerith 连接,他于 1884 年获得了自动数据处理系统的专利。1890 年美国人口普查使用了打孔卡计数器系统,卡片的收集代表了第一个自动化数据库系统。
每张卡片有 80 列,包含一个人的特征信息。通常,人口普查信息需要两年的时间来处理。然而,打孔卡系统和自动读卡机制只花了大约六周的时间来处理数据。打孔卡系统在整个 20 世纪得到使用,特别是在投票和上班打卡方面。
第二次世界大战后,公司和政府机构开始使用计算机作为简单的线性会计数据库。第一个计算机化数据库用于特定任务,缺乏灵活性。
在 20 世纪 60 年代,文档数据库占据主导地位。第一个数据库管理系统出现在这十年中,它们用于大型复杂的项目,例如阿波罗登月。
数据库在 20 世纪 70 年代成为商业现实。引入管理数据的分层和网络系统主要是为了处理复杂的数据结构,例如采购原材料时的工厂账户。
这十年包括第一代商业 DBMS,其中一些至今仍在使用。几个缺点是:
20 世纪 80 年代解决了前十年的缺点。关系数据模型出现于 20 世纪 70 年代,第二代 DBMS 于 20 世纪 80 年代找到商业用途。使用关系模型时,所有数据都采用熟悉的表格格式。相对简单的编程语言 (SQL) 从数据库中检索数据。
新的数据库模型允许非程序员更轻松地访问数据,解决了以前模型中最重要的问题。关系模型方便客户端/服务器通信、并行数据传输,并且 GUI 使使用更简单。
20 世纪 90 年代兴起了互联网应用和数据存储系统。多媒体数据(图形、声音、图片和视频)变得更加普遍。大量结构化和非结构化数据已成为标准。由于数据复杂性的增加,关系数据库系统转向面向对象的方法。
出现了三种新的数据库类型:XML、NoSQL 和NewSQL数据库。
XML 数据库是一种高度结构化的基于文档的类型。允许通过具有不同程度灵活性的 XML 属性进行查询。
NoSQL 数据库满足了对高度灵活的分布式数据库系统的强烈需求,该系统使用最终一致性并且不需要固定模式。NoSQL类型具有高度可扩展性,并且存储非规范化数据。
NewSQL 旨在结合 NoSQL 数据库的最佳属性(例如可扩展性),同时使用 SQL 并保持ACID 合规性。