|
|
|
|
移动端

3.5.2 基于云的数据库方案

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第3章数据库的结构与Web,本章我们首先考察一些目前已投入使用的不同系统的结构,然后讨论有关Web服务和面向服务的结构(SOA)的进展。本节为大家介绍基于云的数据库方案。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-28 14:36

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


3.5.2 基于云的数据库方案

作为SaaS的一种类型,基于云的数据库方案又分为两类:数据即服务(DaaS)和数据库即服务(DBaaS)。它们的本质区别主要是如何管理数据:

DaaS。DaaS提供在云中定义数据和按需检索数据的能力。不像传统的数据库方案,DaaS不实现通常如SQL(见第6章)一般的DBMS接口,而是通过一组公共API访问数据。DaaS使得组织机构只要拥有了有价值的数据,就能创建新的生财之道。DaaS的例子有Urban Mapping,这是一种地理数据服务,它为消费者提供数据以嵌入他们自己的Web网站或应用中。还有提供财经数据的Xiguite,以及提供各种各样组织机构的业务数据的Hoovers(Dun & Bradstreet 公司)。

DBaaS。DBaaS为应用开发者提供完整的数据库机制。在DBaaS中,管理层专门负责数据库的持续监视和配置,使其达到规模优化、可用性高、多户租用(即可为多个客户机构服务)、云中资源的有效分配,从而将应用开发者从管理数据库的任务中解脱出来。作为一种服务的数据库架构,支撑下列必要的能力:

通过按需自服务机制,使数据库实例的提供和管理能因消费者不同而不同。

自动地监视和服从提供者制定的服务定义、属性和服务层质量。

数据库用途的细粒度测量,以获得每个消费者的展后报告(show-back reporting)或收回功能(charge-back functionality)。

为了将一个组织机构的数据与另一个组织机构的数据分离开来,DBaaS可呈现若干种结构。我们考虑下面几种:

分离服务器。

共享服务器,分离数据库服务进程。

共享数据库服务器,分离数据库。

共享数据库,分离模式。

共享数据库,共享模式。

分离服务器结构

采用分离服务器结构时,每个租户占有一台服务器机,该台机器仅为该租户的数据库服务。这种结构适用于要求高度隔离、自己有大型数据库、其上有大量的用户且用户有特殊性能要求的组织机构。这种方法需要较高的费用来维护设备和备份租户们的数据。图3-15说明了这种结构。

共享服务器,分离数据库服务进程结构

采用这种结构时,每个租户有自己的数据库,但几个租户共享一台服务器,每个租户有自己的服务器进程。这种结构代表着通常的虚拟机环境。给定的服务器资源被分割给每一租户。每一个虚拟环境都预定了自己的主存和磁盘资源,不能共享别的虚拟环境中未用的资源。用这种方法时,主存和辅存可能是个问题,因为每个租户都有自己的数据库文件和服务进程。此外,由于租户们共享同一台机器,性能也可能出现问题,尽管云提供商会给每台机器少分配租户以尽量减少风险。安全不是问题,因为租户已完全相互隔离。图3-16说明了这种结构。

共享数据库服务器,分离数据库结构

采用这种结构时,每个租户有自己分离的数据库,但与其他租户共享同一台数据库服务器(和同一个服务进程)。较之前一种方法的改进之处是,单一的数据库服务进程能使租户们共享诸如数据库缓存之类的资源,使计算机资源得到有效利用。图3-17说明了这种结构。

共享数据库,分离模式结构

采用这种结构时,只有一个共享的数据库服务器,每个租户的数据被组织到专为其创建的模式中。DBMS必须有许可机制以保证用户只能访问其被许可访问的数据。图3-18说明了这种结构。

共享数据库,共享模式结构

采用这种结构时,只有一个共享的数据库服务器,所有租户的数据被组织到同一个共享模式中。此时,每一个数据库表中都有一列用于指出各行的所有者。任何应用访问数据库表的行时,在查询中必须涉及这个列,以保证任一租户不会看见他人的数据。这种方法的硬件和备份开销都很低,因为就一台数据库服务器来说,它支持的租户数目最大。然而,由于多个租户共享同样的数据库表,为防止租户之间互相暴露数据,可能需在安全方面多下功夫。这种方法适用的情形是,应用不得不以少量的服务器为大量的租户服务,同时预期消费者愿意牺牲数据隔离性以换得低成本。图3-19说明了这种结构。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

框架设计(第2版)CLR Via C#

作为深受编程人员爱戴和尊敬的编程专家,微软.NET开发团队的顾问,本书作者Jeffrey Richter针对开发各种应用程序(如Web Form、Windows For...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊