这两年,不管是传统数据库厂商,还是云计算大厂,都在主推“云数据库”,对于云数据库概念,不同人有不同理解,可以说是众说纷纭。那么,到底什么是云数据库?数据库从本地迁移到云上,就是云数据库吗?

与80年代初期相比,今天的数据库技术,可以说是取得了长足猛进的发展。不仅在硬件的选择上,不再视大型机为唯一,还可以根据具体的业务需求,选择更贴近业务场景需求的数据库产品。

如今,软、硬件技术在不断进步,使得数据库的种类发生了翻天覆地的变化。除了过去常用的关系型数据库,我们还可以选择时序数据库、图数据库、文本数据库等等。有的数据库只支持单一数据处理,有的数据库可支持多种数据共用同一个实例。一些专门用于在线事务处理的数据库,叫做 OLTP;一些专门用于分析型业务的数据库叫做 OLAP。而能够把两者结合起来的,叫做HTAP。

总之,你可以把数据库放在任意地方,可随时随地访问你的数据,或者随意迁移数据。比如:你可以把智能手机上的数据迁移到本地的数据中心服务器,还可以从本地服务器迁移到云数据库上。

那么,问题来啦,什么是云数据库?

这两年,不管是传统数据库厂商,还是云计算大厂,都在主推“云数据库”,对于云数据库概念,不同人有不同理解,可以说是众说纷纭。那么,到底什么是云数据库?数据库从本地迁移到云上,就是云数据库吗?

从定义来看,云数据库是指被优化或部署到一个虚拟计算环境中的数据库,最显著的优势是可以获得按需付费、按需扩展、高可用性以及存储整合等能力。所以,云数据库即可以在本地运行,也可以通过专有云的方式运行,同时与本地数据库兼容。另外,有些云计算大厂推崇的是云原生数据库,这意味着整个数据架构都需要使用公有云厂商提供的服务。

不管大家如何看待云数据库,有一点可以确定,那就是数据库不是一个简单的软件应用,而是涉及到应用程序的后端和存储层。即数据从前端传到后台,后台与数据库直接关联。同时,按照CAP定理,在一致性、可用性、分区容错性三者之间,不可能三者兼顾,而是最多同时兼顾两项。

也就是说,如何选择一个理想数据库,取决于应用程序需求。如果只用于显示应用程序的目录,那么数据库的读取速度和延迟时间很重要,这时文档数据库可能是理想型选择,当然很多关系型数据库和宽列数据库也能适用。如果是金融交易式应用程序处理,那么如何满足数据库的 ACID 属性(原子性、一致性、隔离性和持久性)就变得非常重要,这时关系型数据库显然是最佳选择。

随着数据库技术的不断成熟,数据库选型也在突破传统技术架构的局限。比如:在满足现代化业务需求的分布式数据库架构中,节点故障和分区容错性可以通过使用 Paxos 或 Raft 共识算法来解决。本质上,当一个节点退出集群时,只要它有仲裁,集群就能继续工作。此外,这种分区的思想在私有云内部网络中很少见,类似于云服务提供商提供的那种分布式架构服务,在本地数据中心是通过光纤冗余来实现,并且不通过公网传输占据内部流量。

所以,总的来看,虽然没有任何技术可以绕过CAP 定理,但好的云数据库具有超过五个九 (99.999%) 的可用性,从一定程度上大大提高了数据库的一致性和可用性水平。比如:针对多人游戏场景,读写能力和延迟性都很重要,这时分布式数据库架构,可以很好地解决这一问题。如果不是强一致性业务以及关系型业务,键值数据库可能是理想选择。如果是传感器之类的数据输入输出,可以快速大量写入的时序数据库,表现会更好。

另外,任何云数据库都可以处理少量以及大量数据。少的可以处理以千兆字节或更少单位的数据。而具有大数据处理能力的云数据库,可以处理 TB级数据(数千 GB),包括少数数据库可以容纳 PB级(数百万 GB)。

需要重点强调的是,大多数云数据库会按月向您收取存储费用,SSD 存储的费用要高于磁盘存储。另外,过高的数据处理速度也会给其他指标带来影响,例如数据库写入速度和网络容量受到限制。 如果数据量突增,数据库或前端程序可能需要在写入永久存储时将其缓冲在 RAM 中,以避免数据丢失。

无论你选择什么样的数据库,都不要忘记在投入生产前进行大量测试。另外,也并不是所有的云数据库,都要需要你100%地把本地数据库迁移到云上。同时,一旦数据库上云,就要做好监控和防护措施,出现问题时要有预警机制,能够快速迁移到备份方案中。

数据库选型绕不开“CAP定理”是什么相关推荐

  1. 面试绕不开的 CAP 理论,这篇文章帮你搞定!

    点击关注公众号,实用技术文章及时了解 文章转载于:JAVA日知录   案例背景 CAP 理论是分布式系统中最核心的基础理论,虽然在面试中,面试官不会直白地问你 CAP 理论的原理,但是在面试中遇到的分 ...

  2. java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(三:注册中心、补充CAP定理、BASE 理论)~整起

    架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(一:总览篇) 网关开了个头 你请求来了,我网关把你拦截住,验明正身,加以控制,协助你调用服务,完成请求的调用.但是这个过程中,为了解耦和或者 ...

  3. 一种数据库打天下?开源数据库选型应该注意什么?

    墨墨导读:开源数据库选择怎么做,应该从哪方面进行考虑? 数据技术嘉年华,十周年盛大开启,点我立即报名!大会以"自研·智能·新基建--云和数据促创新 生态融合新十年" 为主题,相邀数 ...

  4. 谷歌新发布的分布式数据库服务,是要打破CAP定理了吗?

    谷歌新发布的分布式数据库服务,是要打破CAP定理了吗? 本来来自:Original 2017-02-19 作者|登州知府 2月14日,Google 宣布推出 Cloud Spanner 云端数据库服务 ...

  5. 分布式理论(一) - CAP定理

    前言 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性)这三个基本需求,最 ...

  6. 浅谈分布式CAP定理

    2019独角兽企业重金招聘Python工程师标准>>> 互联网发展到现在,由于数据量大.操作并发高等问题,大部分网站项目都采用分布式的架构.而分布式系统最大的特点数据分散,在不同网络 ...

  7. mysql百万级性能瓶颈-数据库选型

    项目中使用了mysql数据库,但数据量增长太快,不久到了百万级,很快又到表到了千万级,尝试了各种优化方式,最终效果仍难达到秒级响应,那么引发了我关于数据库选型到一些思考. 1.mysql的单表性能瓶颈 ...

  8. 【分布式】1、CAP原则(CAP定理)、BASE理论

    CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...

  9. 分布式理论-CAP定理

    CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)Availability(可用性).Partition tolerance(分区容错性)这三个基本需求,最多只能同时 ...

最新文章

  1. KDE应用如何在GNOME环境下运行?
  2. 机器学习生态全景图3.0
  3. 大学4年毕业后我是如何还清的助学贷款。
  4. php pod模式,k8s pod的4种网络模式最佳实战(externalIPs )
  5. JSP中报错only a type can be imported XXX resolves to package
  6. 达摩院最新突破:新型量子芯片操控精度99.72%创新高
  7. JSP程序设计习题4-3.6
  8. 信息系统安全思维导图
  9. UFS开发板代码分析
  10. 换个角度来看看C++中的左值、右值、左值引用、右值引用
  11. 【机器学习】基于生成对抗网络的黑白图片上色
  12. 数学教程之14本用于早期数学学习的精美插图儿童读物
  13. “本地资源检测” 上手指南,玩转最前沿的优化黑科技!
  14. JS中find()和findIndex()
  15. VGL与中国海洋石油签署液化天然气购销协议;徐工汉云打造国内首个智能化剥片机组 | 能动...
  16. (基础)Promise的resolve参数
  17. Java开发的几个就业方向
  18. RESTful风格API详解
  19. 【田园原木风格装修案例】清新自然的原木风
  20. camera中文版软件 ip_Synergy下载|Synergy 1.8.4 中文版

热门文章

  1. 【每日一算法】全排列问题
  2. Spring基础专题——第七章(持久层整合)
  3. C/C++指针使用常见的坑
  4. OpenCV中积分图介绍与应用
  5. 长期分享干货的技术大佬
  6. 如何消除摄影中的运动模糊?
  7. CPU对指令长度的判断
  8. I00039 亲密数(Amicable numbers)
  9. iOS 之 UICollectionView
  10. 关于C语言中的一些注意问题的小记之一----+号使用