【技术硬核】庖丁解牛 | PostgreSQL与NewSQL大解析(二)

本文探讨了数据库从RDBMS到MPP、NoSQL再到NewSQL的发展历程,分析了各阶段的特点。RDBMS以其事务、索引等优势,但扩展性有限;MPP在扩展性上有所提升,而NoSQL则强调扩展性和灵活数据结构,牺牲了一定的事务和索引支持。NewSQL旨在结合RDBMS和NoSQL的优点,解决复杂查询和高并发挑战。
摘要由CSDN通过智能技术生成

在“从数据库技术的40年发展历程看新征程”一文中,我们通过回顾数据库的发展史,重新理解了数据库的定义——数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失,所以我们就需要将一些程序运行的数据持久化到硬盘之中,以确保数据的安全性。说白了,数据库就是存储数据的仓库。

我们已经提到数据库已经可以分为几类有:
在这里插入图片描述
数据库经过40年的发展,经过从RDBMS到MPP在到NoSQL数库,如今我们开始关注NewSQL数据库。每个阶段的特点是怎样的呢?

RDBMS

关系型数据库的优点是:事务、索引、关联、强一致性
缺点:有限的扩展能力、有限的可用性、数据结构取决于表空间

MPP

大规模并行计算数据库的优点为:扩展性强、事务、索引、关联、可调一致性
缺点:应用级切分、数据结构取决于表空间

NoSQL

超越关系型数据库,数据库其优点在与:扩展性强、可调一致性、灵活的数据结构
缺点:事务支持差、索引支持差、SQL支持差
在这里插入图片描述
最经典的是传统关系型OLTP数据库,其主要用于事务处理的结构化数据库,典型例子是企业的转账记账、订单以及商品库存管理等。其面临的核心挑战是高并发、高可用以及高性能下的数据正确性和一致性。

其次是NoSQL数据库及专用型数据库,其主要用于存储和处理非结构化或半结构化数据(如文档,图,时序、时空,K-V),不强制数据的一致性,以此换来系统的水平拓展、吞吐能力的提升。

再次是分析型数据库(On-Line Analytic Processing,OLAP),其应用场景就是海量的数据、数据类型复杂以及分析条件复杂的情况,能够支持深度智能化分析。其面临的挑战主要是高性能、分析深度、与TP数据库的联动,以及与NoSQL数据库的联动。

除了数据的核心引擎之外,还有数据库外围的服务和管理类工具,比如数据传输、数据备份以及数据管理等。

NoSQL数据库解决了扩展性,高并发访问,但还有很多未尽如人意之处,比如:
● 索引,无法有效使用索引 → Ad Hoc Query
● 协处理器无法分散计算任务 → 大表的Join查询
● SQL以外的分析查询 → Data Science / Machine Learning
● 访问其他数据源 → 和现有Hadoop数据联合查询(多源异构)
● 交互式分析 → 复杂SQL查询的性能问题

于是 NewSQL 呼之欲出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值