Trove系列(五)—Trove的数据存储管理程序类型和版本管理功能介绍
功能描述数据存储管理程序(Datastore)类型管理允许Trove的用户从操作者列出的名单中选择数据库存储管理程序和版本。操作者将可以控制数据库存储管理程序的类型,添加一个新的版本并去活一个老版本。为了实现这个功能,用户可以指定数据库存储管理程序类型和可选择的版本。数据库存储管理程序类型是一种数据库引擎的家族,诸如:mysql, mongodb, cassandra 等。
数据库存储管理程序版本定义了引擎的版本以及为了实现这个引擎所包含的系统包。每种datastore类型具有几个引擎的版本,每种类型有一个缺省的版本。 版本具有激活或者未激活状态。 用户可以用激活的版本创建数据库实例。未激活的版本对用户不可见,用户不可以用未激活的版本创建数据库实例。 但是未激活的版本可以被已经运行的实例使用。
对每种datastore类型而言,操作者可以指定运行实例的操作系统镜像。对每种类型的每个版本而言,操作者可以指定不同的镜像。这样我们可以灵活的选择镜像,数据库类型和版本。
每个版本应该指定系统包的列表。 这些系统包提供了指定数据库的指定版本的在指定镜像上的安装。
这里有可能只指定一个包。但是大多数情况下需要指定多个具有确切版本的包。 对于mysql 来说,你可以指定server, client, shared 和 shared-compat 包。这种情况只在你有不只一个可用版本的情况下才影响。 例如: 如果你仅仅指定 "mysql-server-5.5" 包,但是你又有mariadb 和 percona 可用, 你可以将 mysql-server-5.5, mariadb-shared-5.5, percona-client-55 安装上去。
管理的资源至此,Trove又出现了两种新的资源:datastore_type 和 datastore_version。datastore_type允许操作者定义新的datastore 类型,datastore_type 包含以下数据:id – 一个系统定义UUID值,该值在第一次创建时赋予datastore type.name - datastore type 的名字engine – 提供操作的管理者级别的名字image_id – 镜像的UUID,该镜像将用于实例的部署default_version – 如果用户不指定版本,将使用缺省版本User can see only id and name of datastore type.用户将只能看到id 和 datastore type 的名字 datastore_version资源允许操作者定义指定数据库类型的版本。 包含以下数据。 id -一个系统定义UUID值,该值在第一次创建时赋予datastore type.版本name - datastore type版本 的名字datastore_type – 该版本从属的datastore 类型image_id -镜像的UUID,该镜像将用于实例的部署packages – 用空格隔开的系统镜像列表,该系统镜像提供了这个版本的datastoreactive - bool (1|0) – 表示这个版本是否被激活User can see only id and name, also user can see and use only active versions用户将只能看到id 和 datastore type 的名字,而且用户只能够看到和使用激活的版本。 为了实现这个功能,操作者应在数据库中定义datastore 类型 和 可用的版本。 trove-manage 将有以下命令:
update_datastore_type name engine image_id 用指定的名字更新datastore type ,如果指定的名字不存在,则将新创建,本命令返回UUID 或者 datastore type 的新建或者更新的名字。 update_datastore_version datastore_type name image_id packages active 用指定的名字更新版本, 如果指定的名字不存在,则将新创建,本命令返回UUID 或者 datastore type 版本的新建或者更新的名字。
API规范用户可以列出数据存储管理程序的类型和可用的版本 Datastore types list (New call)请求消息结构tGET /{tenant_id}/datastores应答消息结构{ "id": "73144fc8-f2c5-4490-a2d7-76604c4528dd", "links": [... ], "name": "MongoDB"}{ "id": "e60153d4-8ac4-414a-ad58-fe2e0035704a", "links": [... ], "name": "Mysql"} Show datastore type (New call)请求消息结构tGET /{tenant_id}/datastores/e60153d4-8ac4-414a-ad58-fe2e0035704a应答消息结构{ "id": "e60153d4-8ac4-414a-ad58-fe2e0035704a", "links": [... ], "name": "Mysql"} Datastore type versions list (New call)请求消息结构tGET /{tenant_id}/datastores/e60153d4-8ac4-414a-ad58-fe2e0035704a/versions应答消息结构{ "id": "7d109ae8-d38f-41c8-86e4-a8e613f81be5", "links": [... ], "name": "ubuntu percona-5.5.33"}{ "id": "8ae342fb-19ac-4882-8978-fe1afb38c7c7", "links": [... ], "name": "fedora oracle-5.1.71"}{ "id": "94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b", "links": [... ], "name": "ubuntu maria-10.0.4"} Show version (New call)请求消息结构GET /{tenant_id}/datastores/versions/7d109ae8-d38f-41c8-86e4-a8e613f81be5应答消息结构{ "id": "7d109ae8-d38f-41c8-86e4-a8e613f81be5", "links": [... ], "name": "ubuntu percona-5.5.33"} Create instance with specified datastore type and version (Existing call)请求消息结构POST /instances{"instance" : { "flavorRef" : "2", "name" : "as", "datastore": { "type" : "e60153d4-8ac4-414a-ad58-fe2e0035704a", "version" : "94ed1f9f-6c1a-4d6e-87e9-04ecff37b64b" }, "volume" : { "size" : "1" } }}应答消息结构{ "created": "2013-10-09T10:56:56", "flavor": { "id": "2", "links": [... ] }, "id": "86bb7492-d797-4562-b864-851c8fad7216", "links": [... ], "name": "as", "datastore": { "type": "Mysql", "version": "ubuntu maria-10.0.4" }, "status": "BUILD", "updated": "2013-10-09T10:56:56", "volume": { "size": 1 }} List instances (Existing call)请求消息结构tGET /instances应答消息结构{ "flavor": { "id": "2", "links": [... ] }, "id": "b1f0dff8-6303-4711-9d23-e899abc5d24d", "links": [... ], "name": "as_2", "datastore": { "type": "Mysql" }, "status": "ACTIVE", "volume": { "size": 1 }}{ "flavor": { "id": "2", "links": [... ] }, "id": "be1f10ae-afa9-4f75-808d-f7782784f363", "links": [... ], "name": "as_2", "datastore": { "type": "Mysql" }, "status": "ACTIVE", "volume": { "size": 1 }} l Get instance (Existing call)
请求消息结构tGET /instances/be1f10ae-afa9-4f75-808d-f7782784f363应答消息结构{ "created": "2013-10-08T09:05:45", "flavor": { "id": "2", "links": [... ] }, "id": "be1f10ae-afa9-4f75-808d-f7782784f363", "links": [... ], "name": "as_2", "datastore": { "type": "Mysql", "version": "ubuntu maria-10.0.4" }, "status": "ACTIVE", "updated": "2013-10-08T09:05:52", "volume": { "size": 1 }}
Trove系列(五)—Trove的数据存储管理程序类型和版本管理功能介绍的更多相关文章
- 虚拟化(五):vsphere高可用群集与容错(存储DRS是一种可用于将多个数据存储作为单个数据存储群集进行管理的功能)
vsphere高级功能需要vcenter server和共享存储的支持才能实现.vsphere的高级功能有 vmotion.storage vmotion.vsphere HA.vsphere DRS ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍
笔记 1.数据信息安全--微信授权一键登录功能介绍 简介:讲解登录方式优缺点和微信授权一键登录功能介绍 1.手机号或者邮箱注册 优点: ...
- Spark RDD概念学习系列之Spark的数据存储(十二)
Spark数据存储的核心是弹性分布式数据集(RDD). RDD可以被抽象地理解为一个大的数组(Array),但是这个数组是分布在集群上的. 逻辑上RDD的每个分区叫一个Partition. 在Spar ...
- 安卓中的数据存储方式以及ContentProvider的简单介绍
1.介绍android的数据存储方式 File存储 sharedPrefrence存储方式 conmtentprovider sqlitedatabase 网络存储 2.请介绍下ContentPr ...
- Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)
一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...
- Trove系列(三)—Trove的功能管理功能介绍
Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能. 本管理功能只适用于激活/去活全系统的功能.唯一例外的是数据存储功能列表功能,该功能对所有 ...
- Android编程中的5种数据存储方式
Android编程中的5种数据存储方式 作者:牛奶.不加糖 字体:[增加 减小] 类型:转载 时间:2015-12-03我要评论 这篇文章主要介绍了Android编程中的5种数据存储方式,结合实例形式 ...
- 【Android 应用开发】Android 数据存储 之 SQLite数据库详解
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19028665 . SQLiteDataBase示例程序下 ...
- 【Android开发日记】之入门篇(七)——Android数据存储(上)
在讲解Android的数据源组件——ContentProvider之前我觉得很有必要先弄清楚Android的数据结构. 数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也 ...
随机推荐
- Sublime PlantUML环境配置
参考[http://www.jianshu.com/p/e92a52770832]在安装中遇到不少问题,总结一次成功的步骤如下 一.安装步骤: 1)准备java 环境 jdk1.7 2)安装Subl ...
- Laya 图集动画
参考: 图集动画运用 一.准备素材 从爱给网找到几个素材 二.使用Laya的图集工具 菜单栏选择工具->图集打包工具,然后选择序列图所在的文件夹 生成了个.rec...说好的.atlas呢... ...
- ELK到底是什么?那么多公司用!
Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用ELK!ELK!ELK! ELK竟然重复了三遍,是个什么? 一.ELK ...
- Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法
extends:http://blog.csdn.net/b275518834/article/details/42347903 BUG具体体现为 : (1) 摄像头拍照后图片数据不一定能返回 ; o ...
- spring c3po 连接mysql,sqlserver
1 连接mysql (1) http://wenku.it168.com/d_000096351.shtml 2 连接sqlserver (1)http://blog.csdn.net/vinep ...
- Saltstack之SSH
salt-minion也可以不安装通过在master安装salt-ssh 1,安装 yum -y install salt-ssh 2,配置salt的花名册 vim /etc/salt/roster ...
- hdu 6395Sequence【矩阵快速幂】【分块】
Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total ...
- 1.9TF的过拟合-dropout
不带dropout程序并通过tensorboard查看loss的图像 """ Please note, this code is only for python 3+. ...
- Bazel构建工具的安装
官方Doc:https://docs.bazel.build/versions/master/install-ubuntu.html 使用Bazel定制的APT存储库 (recommended) 1. ...
- Solr学习笔记之5、Component(组件)与Handler(处理器)学习
Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...