大规模数据处理系统的最新技术与应用

当我们看到这个标题后,不知道大家会先想到什么。我们可能识别到的几个关键字是:架构、大规模、数据处理、最新。那么,实际上我们在这里希望探讨的话题就是最新的数据处理技术,以及这些最新的数据处理技术给实际生产带来的基于与挑战。

从数据处理说起

我首先提出一个命题——“IT 系统最核心的内容便是数据处理”,互联网尤甚。熟悉 Web 架构的读者可以知道,当前互联网架构大致可以拆分为三层:

  1. Web 前端与用户产生直接交互

  2. 中间层,用于实现业务逻辑

  3. 数据交互层,用户对数据库进行读写操作,产生数据交互

总体来说,对数据的处理可以分为两种场景:一种是 OLTP 场景,即事务处理;另一种是 OLAP 场景,即数据分析。

OLTP

OLTP 代表联机事务处理(On-Line Transaction Processing)。TP 的一个典型应用场景就是交易,例如淘宝购物、银行处理转账交易等,都属于事务型业务。数据库发展几十年来,其实最开始都是为了又快又好地实现事务(Transaction)。不要小看了“事务”,想要实现事务的 ACID 特性其实是很复杂的,复杂到可以认为是三大基础软件(操作系统、编译系统、数据库系统)之首(普遍认为,当然也存在少量争议)。

所谓事务的 ACID 特性,代表了:

A:原子性,事务只能成功或失败,不能存在中间状态;

C:一致性,与分布式系统中的一致性含义不同,表示一个事务处理完毕后只能从一个一致的状态转移到另外一个一致的状态,也可以认为是原子性的补充;

I:隔离性,在并发事务时,要求保证每个事务必须是独立的,不能相互干扰,比较消耗性能的方法是通过锁来实现;

D:持久性,表示事务完成后,数据应该能够持久化,不能存在数据丢失。

ACID 特性保证了交易能够成功进行而不出错,如果某一个数据处理系统不能实现 ACID,那么,后果是不堪设想的。例如你选择了一家银行,它们采用的数据库不支持完全的 ACID,那么你的银行账户的余额将会神秘消失或增加。由此可见,对于传统的事务型业务来讲,对事务的支持至关重要,这是一个系统性的风险,重要程度远高于系统宕机。

OLAP

OLAP 代表联机分析处理(On-Line Analysis Processing)。如果问当前信息技术最火热的话题是什么,那毫无疑问应该是 ABC(Artificial Intelligence, Big data, Cloud computing). 而其中的大数据(Big Data)便是数据库技术与分布式技术结合在一起的产物,或者说是适应新时代发展而产生的一种数据库形式。

虽然传统的关系型数据库听起来似乎是多数情况下用在增删改上,其实我们真正使用的业务场景中,很大程度上是读多于写的。但是不要小看“读”这个操作,要想实现“读”得更快,可比“写”得更快要麻烦得多。大家可能还会记得大学本科中学习过的数据库原理系列课程,知道关系型数据库是基于关系代数这样具有强数学依据的基础上建立起来的学科体系。

关系中存在投影、连接等,尤其

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值