2021你应该会全栈 第1期 数据库概述

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 2021你应该会全栈 第1期 数据库概述

概述

我们常常遇到的数据库有关系数据库非关系数据库,说到关系型数据库,就要从1970年E.F.Codd的《A Relational Modelof Data forLarge Shared Data Banks》的论文开始讲起。该论文奠定了关系模型的理论基础,Codd的同事DonChamberlin对Codd的论文和关系运算进行转换,发明了简单易用的SQL语言,并且在之后的发展中成为所有关系型数据库的标准。这种高级的非过程化编程接口语言,成为了距离数据库最近的语言,将计算机科学和人类理解认知完美的衔接在了一起。1970 年关系模型建立之后,IBM公司在SanJose实验室增加了更多的研究人员研究这个项目,这个项目就是著名的System R。该项目结束于1979年,完成了第一个实现SQL的DBMS。1973年加州大学伯克利分校的Michael Stonebraker 和EugeneWong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。LarryElision和他的同事看到商机,开发出第一个商用大型关系型数据库Oracle(之后将近半个世纪Oracle一直都是关系型数据库的领头羊),之后IBM也推出了DB2、MichaelStonebraker开发了Postgres并放在BSD版权下,后来演变成了Postgres SQL,87年微软和Sybase合作,开发出了MS SQL和Sybase。到了2000年后,另一款明星产品MySQL由于其自由开放、轻量,被google等互联网公司普遍使用,并逐步进入大家的视野从而火爆起来。然后说说NoSQL。NoSQL是一个比较模糊的概念,而且在不同阶段这解读出来的含义也不一样,网上有一个比较有意思另类解读(下图),不同的解读本身也释放出NoSQL这个技术的螺旋、摇摆的发展态势。在本文里,我们把NoSQL泛指非关系型数据库。关系数据库很强大,但是它并不能很好的适用所有的应用场景。尤其以社交、搜索为代表的互联网业务产生海量数据时,关系型数据库在扩展性(需要负责技术sharding来实现)、高昂的表变更成本、高并发容量、写入延迟等方面都面对很多挑战。NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。同样NoSQL在海量数据读写性能方面,也优势明显,同时提供了灵活的数据模型。NoSQL的产品很多,但引领这股潮流的主要有Amazon的DynamoDB、google的bigtable,后来Facebook开源了Cassandra,以及基于bigtable设计的hadoop Hbase,bigtabl开源实现的Hypertable,以及支持文档事务Mongodb、普遍用于缓存的redis及redis cluster。值得一提的是美团点评内部有一个很优秀存储系统Cellar,兼内存与持久化的分布。在NoSQL盛行之初,人们似乎能看到了NoSQL取代关系型数据库的时代,可事与愿违,使用NoSQL需要从应用业务去把关系数据库重新实现,而且数据库的功能被向存储方向进一步弱化。这里面的一个代表事件就是DIGG采用Cassanrda遭遇失败,大家重新理解了关系模型的SQL是最方便和数据交互的语言,所以开始妥协,于是大部分NoSQL开始尝试支持关系数据库(这时候主流变成了Not only SQL)。可是就又回到了如果让关系数据库具有扩展性、性能这条老路上来,于是忍了很久的另外一批人就重新站了出来,出现了”No,SQL!“的口号,此处的No,SQL并不是真正的No,SQL,而是Not only SQL。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
3月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
17天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
45 5
|
5月前
|
存储 关系型数据库 MySQL
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
83 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库——索引(1)-概述以及B-Tree结构
MySQL数据库——索引(1)-概述以及B-Tree结构
31 0
|
5月前
|
SQL 存储 关系型数据库
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
45 0
|
5月前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
109 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
66 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——概述-MySQL的安装、启动与停止和客户端连接、关系型数据库(RDBMS)、数据模型
MySQL数据库——概述-MySQL的安装、启动与停止和客户端连接、关系型数据库(RDBMS)、数据模型
62 0
下一篇
无影云桌面