数据库服务化规范调研学习
维基百科的定义
面向服务的体系结构(英语:service-oriented architecture)并不特指一种技术,而是一种分布式运算的软件设计方法。软件的部分组件(调用者),可以透过网络上的通用协议调用另一个应用软件组件运行、运作,让调用者获得服务。SOA原则上采用开放标准、与软件资源进行交互并采用表示的标准方式。因此应能跨越厂商、产品与技术。一项服务应视为一个独立的功能单元,可以远程访问并独立运行与更新,例如在线查询信用卡账单。
四个特性如下:
- 针对某特定要求的输出,该服务就是运作一项商业逻辑
- 具有完备的特性(
self-contained
) - 消费者并不需要了解此服务的运作过程
- 可能由底层其他服务组成
指导开发的基本原则:
- 可重复使用、粒度、模块性、可组合型、对象化原件、构件化以及具交互操作性
- 符合开放标准(通用的或行业的)
- 服务的识别和分类,提供和发布,监控和跟踪。
背景
为什么要服务化?
技术角度
- 架构分层复用
- 平台服务、同类服务的抽象与整合
- 可靠、可扩展、容易维护
商业角度
- Reduced Costs
- Business user benefit
- Contribution to strategic business goals and objectives
用户角度
- 高质量服务
- 简单易用,摒弃繁杂的运维
- 按需使用,按量付费
案列调查
阿里云
DBaaS
阿里云HBase架构
云数据库HBase2.0产品架构
理解
阿里云的数据库服务化应该是基于基础设施的虚拟化进行的,基础设施比如 VM
为最底层的资源池,在资源池的基础上定义服务单元。比如以 HBase
为例,在物理层会定义多种类型的物理实例,比如 2 Master 1 RegionServer
、2 Master
多 RegionServer
就是这些最基本的物理实例构成了上层的服务支持。阿里云购买 HBase
服务界面如下:
Oracle
Oracle
的 DBaaS
主要是由 OEM12C
实现的
当前,大量使用Oracle数据库的客户面临以下一些问题:
DBaaS的优势是
- 自助服务式的数据库部署和管理;
- 预打包、预配置数据库配置;
- 一键式数据库部署;
- 底层平台的按需可伸缩性;
- 高效利用硬件和资源;
- 明确的计量和收费;
- 实现开发人员的极致“敏捷”,IT的“企业级”控制。
DBaaS Conceptual Model
DBaaS Service Catalog
Oracle DBaaS 的架构
实施OEM12C的流程
理解
从 Oracle
白皮书中从各个角度阐述了 DBaaS
带来的益处。技术架构理解和阿里云类似,应该还是底层的基础设施的虚拟化,在此基础上建成相应的服务资源池,然后以 Service Catalog
的形式给服务消费者提供服务。
IBM
Open Platform for DBaaS on Power Systems solution
The Open Platform for DBaaS on Power Systems solution is a solution that integrates several components, including software and hardware, and implements a complete environment that is easy to use and fast for deploying open source databases such as MariaDB, MongoDB, MySQL, PostgreSQL, and Redis. This solution provides all the necessary components to create quickly a database instance within minutes, providing you with an interface to connect to such a database and start developing your application.
The Open Platform for DBaaS on Power Systems components
Why use the Open Platform for DBaaS on Power Systems solution
Several sources of data and how an environment with multiple database engines, specially open source databases, can benefit and take advantage of a mix of structured and unstructured data.
The Open Platform for DBaaS on Power Systems solution architecture
DBaaS elastic cloud infrastructure
Kernel-based Virtual Machine
The KVM virtualization feature runs on Linux, and transforms the Linux OS into a hypervisor, enabling it to run multiple VMs. KVM provides an open source virtualization choice for scale-out Power Systems servers, taking advantage of the performance, scalability, and security features of Power Systems servers.
小结
- 对
DBaaS
理解:主要从技术角度理解,DBaaS
是对Database
资源的更高层次的抽象和整合,包含Relational DB
,NoSQL DB
,其目的是为了高效的维护、开发、扩展和使用这一类服务。服务化的技术实现有多种方式,传统的在基础设施资源池的技术实现,以及现在容器化技术兴起的技术实现方式。 - 目前学习了解到的资料基本都是在硬件资源虚拟化话的的基础上形成一个资源池,然后再资源池的基础上构建应用池,以应用池为单位搭配组合出不同规格的数据库服务。
- 目前获得的已知的资料中,应用于生产基于容器化实现的
NoSQL DBaaS
不是太多,不同架构的的(NoSQL)DB
其实现难度也是不同的,因为对于数据库这种有状态的服务其本身比无状态服务更复杂,不少系统因为本身的架构特点,比如Cassandra
相比HBase
移植起来就更容易。一些案例如下:
部分参考资料
Database as a Service (DBaaS) on Kubernetes
Run Database-as-a-Service On Kubernetes
An Architect’s Guide to the Oracle Private Database Cloud
[IBM Open Platform for DBaaS on IBM Power Systems
本文由 zealzhangz 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2020/03/15 21:30