剖析云计算中的“共享型数据库”(转载)

1、摘要

   随着云计算的出现,出现了不少新的名词,像云数据库、云存储、弹性扩容,资源隔离等词汇。下面就你们炒的比较热的“共享型数据库”作一下解释,给你们剖析什么叫“共享型数据库”。 html

2、什么是共享型数据库

  谈及“共享型数据库”,最让咱们困惑的是“共享型”三个字。 ”共享型“让咱们会想到其反义词 — “独享型”。 没错,“共享型数据库”是对比“独享型数据库”的一种针对用户资源全部权的数据库称谓, 它是伴随着云计算出来以后的一种数据库创新,以节约资源为目的,而通常状况下,本身的服务器或PC机上安装的不与人共享的数据称为“独享型数据库”。不少 人不明白共享型数据库的特色,那么我接下来就简单介绍一下。数据库

3、共享型数据库与独享型数据库的特色对比

     在介绍共享型数据库以前先来分析一下什么叫“独享型数据库”。 “独享型数据库”,顾名思义,“独享”就是本身的数据库,在云计算出来以前,咱们几乎没有独享型数据库的概念,由于没有对比,认为全部的数据库都应该叫作 独享型数据库。 “独享型数据库”就好比咱们有一起地(这块是有地址和门牌号的,比如数据库IP和端口),本身在这块儿地上修一栋房子当仓库(相似于咱们建立了一个数据 库), 咱们在这栋房子里任意使用房间来存东西 (相似于咱们能够建立Table同样)。安全

      “共享型数据库”是为节省资源、下降开发者成本孕育而生的,不少人一块儿共同使用这栋楼房,可是这栋楼房不是属于具体某一我的, 是雇主的资产。在云平台的世界里,雇主是提供云数据库的供应商,好比“京东云擎”, 使用服务的人称为“租户”。你们在一块儿使用一个数据库,你有建立表的权限、修改表的权限,可是没有建立数据库、修改数据库的权限,由于这栋楼是你们的,不 是你一我的的,而你,只是租户之一。固然,你的几个房间会给你一个标签,取个名字,是某某人的(这个名字就是你之后使用数据库的名称); 您的这些房间与其余人的房间也是彻底隔离的,彼此是不存在隐私暴露的问题的。服务器

  "共享型数据库”的租户的房租比较便宜,由于按需收费,甚至免费。“按需收费“是云平台的共同特色,由于你的房间是用来存东西的,就相似于你的数据 库表是用来存数据的同样, 在之前你使用独享型数据库,你本身买了一个云数据库,是一次性投入,比如你花费了一生的积蓄来买了一栋房子,可是你真的须要那么房间来存你的东西吗?如 存粮食? 也许你本身都不知道你的东西有多少个东西。 共享型数据库的诞生解决了这个问题,通常的状况下,你有多少东西,你就租多大的房间,房东就收你多少的费用。这种就叫按需付费。有这样服务的云平台有很 多,好比百度的BAE、新浪的SAE、京东的JAE (即云擎)。目前BAE的数据库是按空间收费,SAE是既按空间计费,也按流量计费。京东的JAE目前是25G之内免费。    架构

4、京东云擎的云数据库的特色

  下面拿京东云擎 (下面简称“云擎”)的云数据库举例作一下介绍。云擎是一个 应用托管的云平台,属于云计算模型中的PaaS层。京东云数据库分为独享型和共享型数据库两种,在云擎里使用的共享型数据库,由于云擎是一个PaaS平 台,(我这里不介绍PaaS平台,你们去百度、Google一下)。我只插简单说一下其特色,PaaS平台的主要特色就是节约资源,按需分配,因此云擎使 用了共享型数据库。下面就简单介绍一下其特色吧:工具

  先看看我手绘的一个架构图:性能

 

(注:不表明云擎云数据库真实架构,只为说明清楚问题而绘制)云计算

       1. 租户隔离。 多个租户共享同一数据库实例必然须要一个有效的隔离方案,防止一个用户的慢查询请求或恶意请求影响其余用户访问。这里的隔离实现方式是经过JProxy层 对用户全部的访问进行了拦截,并根据用户访问的数据表索引信息等,对用户执行该请求所需资源进行预判,并拦截掉恶意的请求及影响其余用户的请求。同时为了 精确控制每一个用户的资源使用,整个系统针对用户使用的链接数,内存占用容量,磁盘空间使用状况,带宽流量等都作了有效的记录和监控并根据用户的配额进行控 制。htm

       2. 集群路由信息高一致性保障。总体集群采用经典的弱中心化集群结构,在知足集群高性能的基础上同时具有足够的可控性,JManager管理整个集群路由信 息,并经过多个Slave避免单点故障,当路由变动时,JManager首先同步路由变动信息给本身的Slave,而后才会同步全部的JProxy,避免 路由变动时JManager挂掉致使路由不一致。中间件

       3. 高可用保障。总体集群全部节点无单点,用户的数据库会经过zookeeper作主从的高可用,若是用户主库挂掉,会自动切换至从库,并从新绑定 floating ip到从库,不会影响对用户的服务。(floating ip知道什么意思,想作架构师的朋友能够搜一下,这里不作累述)

      4. 用户数据库无缝升级扩容。当用户的数据库数据增加超过指定配额时,用户能够选择升级数据库,系统会自动根据资源池使用状况将用户数据库迁移到比较空闲的实 例上,迁移过程当中并不会影响用户的服务。经过定时自动为用户数据库作快照的方式,结合数据库binlog同步工具,来帮助用户实现增量备份,迁移的工做也 是依赖于以上这些工具完成的。

      5. 共享型数据库基于安全方面考虑,经过jproxy对有潜在安全风险的数据库操做语法进行了限制,不如不能使用Create database,刚才提到了这栋房子除了您在用,别人也在用,你只有这几个或者几十个房间而已,你只能在这几个或者几十个房间里瞎搞,不能去别人的房间 胡来!

云擎的云数据库网址是:http://jae.jd.com  ,对这方面感兴趣的童鞋能够看看,目前是无偿使用的。 

5、总结

  云计算出现之后,为企业、创业团队、我的带来了便利, 那个自建机房、购买或者租用服务器搭建环境、中间件、部署应用,搞定域名而浪费大量人力物力的时代,我相信在不久的将来可能会渐行渐远; 按需付费、方便快捷的互联网服务让云平台成为将来软件服务市场的宠儿, 而共享型数据库也会逐步体现其价值,迎接崭新的明天,相关的人才需求也会紧随其后。 预祝中国的云计算有广大的发展空间,愈来愈多的人才为其服务!

  本文转载自:http://www.cnblogs.com/cloud_china/p/3799907.html

相关文章
相关标签/搜索