云数据库时代来临,程序员如何应对?

发表时间: 2019-07-18 15:05

在数据库出现之前,尽管数据无处不在,但很少的人会去浏览记录系统的完整的数据。第一次信息爆炸时代后,对思考结构化信息,产生了长久的影响。数据库的实践,框架和使用在当时被开创出来。这成为组织管理数据的固有手段。但是当时的数据记录手段非常原始,主要依赖打孔机和打卡数据库。打孔卡上的孔,表示数据。在1880年美国人口普查时期,Hollerith发明了分拣机、制表机和记录机,从而可以记录完整的数据。

20世纪60年代中期,随着供应商开始销售,计算机化的物流技术,用于制造和更广泛的实验室使用。数据库管理系统(DBMS)的开始出现。

1976年,IBM研究人员发表的这篇论文《R系统:数据库关系理论》,被看作是开数据库第二代的关系数据库系统发展之先河。不过,此前数年,关系数据库的概念已经在坊间流传。 1970年,IBM的研究人员就发表了一篇白皮书,介绍管理资料的一种新方式。用户无需知道资料的储存方式或怎样搜寻资料,只要提出几个简单的问题,而数据库将会找出正确的信息,信息将以表格方式呈现,且经过整理。数年之后,IBM的研究人员又再度注意到关系数据库管理的问题,他们提出了日后令众多IT从业人士耳熟能详的著名数据库查询语言SQL(Structured English Query Language,结构化英文查询语言),从而统一了数据库的查询标准,助推了数据库的大发展。

时至今日,数据库已经成为现在企业必不可少的关键系统,在众多领域发挥着举足轻重的作用。而数据库系统本身,也从当初的层次和网状数据库、关系型数据库发展出对象数据库、NoSQL数据库、图数据库等新一代数据库类型。而随着近几年云计算相关技术的发展,各种不同类型的云层出不穷,服务越来越多不同类型的企业业务,传统企业也渐渐开始探索上云的道路,仔细研究云原生。企业上云,系统的云原生改造,必定带来企业架构以及系统、业务需求或多或少的改变,而这种改变,也会反映在对于数据库的具体要求方面,因此,云时代的数据库相对于传统数据库必然也会有所不同。

云时代对数据库的要求

那么,云时代的数据库需要具备哪些与传统数据库不一样的能力呢?

首先,应该是弹性伸缩的能力,众所周知,传统的数据库方案并不具备强大的弹性伸缩能力,比如说常见的Oracle,MySQL,PostgreSQL等数据库,在面对数据量的爆发性的增长时,往往很容易遇到存储的瓶颈,因此,不得不选用一些集群方案,如 Oracle RAC、 MySQL Sharding等,但这些解决方案同云计算的弹性伸缩能力想比,还是会有不小的差距。云时代用户需要的是可以随需应变,弹性支撑各种业务的数据库系统。

其次,是高可用。在云时代,因为所有的数据库资源都是分布式存储的,每个数据库节点出现问题都是很正常的事情,所以就必须有一种可以实现数据一致性的数据复制方式来保证服务的高可用。

第三,高性能。云数据库虽然可以做到弹性扩容,但当并发大到一定规模,云数据库需要在很高的并发下,依然可以维持系统的稳定。因此,云时代的数据库必须有合理的架构设计,才能更好的支持系统的需求。

第四,数据安全。当前,企业的数据已经成为企业的战略资产,企业关键数据的丢失,甚至有可能造成一家公司的破产。因此,云时代的数据库必须具有很高的数据安全性,甚至媲美金融级的安全性。

构建云时代的数据库

虽然对于云时代的数据库的要求已经非常明了,但是对于大部分企业用户来说,如何选择和构建数据库,以应对业务上云及应用“云原生化”的挑战,仍然存在疑惑。而为了帮助众多开发者和企业用户了解云时代数据库面临的困难,应对上云及云原生带来的挑战,CSDN联合巨杉数据库将在深圳举办《巨杉TechDay:云时代的数据库架构设计与演进》技术沙龙,在现场为广大开发者和企业用户排异解惑。

在本次沙龙中,除了巨杉数据库的专家,也会邀请来自阿里、腾讯的数据库专家共同来探讨云时代数据库的相关技术问题,机会难得,精彩不容错过,深圳的朋友可要踊跃参加啊!