发表于2024-11-22
Trove项目作为一个DBaaS(数据库即服务),可以方便地为用户提供关系型和非关系型数据库,并在数据库生命周期内提供各种便捷的管理操作。
本书由Tesora团队的CTO Amrith Kumar和研发副总裁Douglas Shelley联合编写,深入介绍并研究了OpenStack中Trove项目的架构及工作原理。
本书适用于对OpenStack生态圈有所了解,并对数据库和开源事业有兴趣的开发者。
《深入理解OpenStack Trove》由Tesora团队的CTO Amrith Kumar和研发副总裁Douglas Shelley联合编写,深入介绍并研究了OpenStack中Trove项目的架构及工作原理。Trove项目作为一个DBaaS(数据库即服务),可以方便地为用户提供关系型和非关系型数据库,并在数据库生命周期内提供各种便捷的管理操作,例如复制、备份、扩容等。《深入理解OpenStack Trove》首先介绍了Trove的相关概念,以及如何下载并安装Trove;接着以实际操作为示例,讲述了Trove的基础架构和一些典型的操作方法,以及如何调试Trove并进行一系列故障排查;最后介绍了如何构建Trove guest镜像,以及在生产环境中操作Trove时需要注意的事项。
《深入理解OpenStack Trove》适用于对OpenStack生态圈有所了解,并对数据库和开源事业有兴趣的开发者。
Amrith Kumar 是Tesora 公司的CTO 和创办者,这家公司拥有超过20 年为专门从事企业存储应用、高性能容错系统和大规模并行数据库的公司生产业界领先产品的经验。Amrith kumar 是OpenStack Trove(数据库即服务项目)的活跃技术贡献者,也是该项目核心审查团队的一员。在那之前,他曾在Dataupia 公司担任技术副总裁和产品经理,也是Satori Data Warehousing 平台的创办者及Sepaton 的董事长兼总经理,负责核心虚拟磁带库产品的开发。他拥有多项专利,这些专利涉及高性能数据库和算法,在分布式计算中有着广泛的适用性。
Douglas Shelley 是Tesora 的产品开发副总裁,也是首位加入Tesora 的员工。他组建了一支经验丰富的企业级软件专业团队,致力于发布Tesora DBaaS 平台,并且在OpenStack 社区有着积极的贡献。他在IT 界和软件产品开发领域工作超过20 年,致力于应用交付、数据管理和集成,是OpenStack Trove 项目的活跃技术贡献者。在加入Tesora 之前,他负责软件的产品开发超过10 年,并带领各个团队应对了有关数据同步、集成和转换方面的挑战。
在工作之余,他会经常趴在桌子上,刻苦钻研他的树莓派或NAS4Free 盒子,或者写诗歌和短篇小说。
译者简介
党明,云计算开发工程师,对OpenStack和数据库领域有所研究,目前致力于服务器端开发和机器学习。
雷冬,金山云高级开发工程师,致力于OpenStack开发。为开源社区的活跃贡献者,对其他云计算领域也有所研究,主要研究方向为数据结构和算法。
王少辉,从业5年,先后在郑州景安、象云担任云计算工程师、OpenStack研发工程师等职位,在存储优化和OpenStack开发等方面积累了多年经验,目前专注于文件系统和大规模对象存储的实践。
第1 章关于DBaaS的介绍
1.1 什么是DBaaS
1.1.1 数据库
1.1.2 服务
1.1.3 服务类别
1.1.4 DBaaS的定义
1.2 IT 部门面对的数据库挑战
1.3 DBaaS的特性
1.3.1 管理平面和数据平面
1.3.2 租赁
1.3.3 服务位置
1.3.4 服务vs 平台
1.4 DBaaS的好处
1.4.1 易于提供
1.4.2 一致性的配置
1.4.3 自动化操作
1.4.4 自动缩放
1.4.5 提高开发的灵活性
1.4.6 更好的资源利用和设计
1.4.7 对于提供者或操作者简化角色
1.5 其他DBaaS的提供者
1.5.1 亚马逊RDS
1.5.2 亚马逊Redshift
1.5.3 微软 Azure SQL Database
1.5.4 Google Cloud SQL
1.5.5 亚马逊DynamoDB
1.6 OpenStack Trove
1.7 Trove 的一段简要历史
1.8 OpenStack Trove 中的租约
1.9 OpenStack 生态系统中的Trove
1.10 总结
第2 章下载和安装OpenStack Trove
2.1 部署一个单节点的开发环境
2.1.1 配置Ubuntu 环境
2.1.2 安装一些基础包
2.1.3 确认你的配置
2.1.4 给“ubuntu”用户赋予免密码sudo权限
2.1.5 使用devstack工具安装OpenStack
2.1.6 启用默认的Trove 公钥
2.1.7 系统认证
2.1.8 创建你的第1 个Trove 数据库实例
2.1.9 在devstack中使用Neutron
2.1.10 访问Dashboard
2.2 在多节点的OpenStack 环境中部署Trove
2.2.1 前提条件
2.2.2 安装必需包
2.2.3 创建Trove 用户
2.2.4 创建Trove 操作的数据库
2.2.5 在OpenStack 中配置Trove
2.2.6 配置Trove 服务
2.2.7 初始化Trove 操作的数据库
2.2.8 在Keystone 中配置Trove Endpoint
2.2.9 重启Trove 服务
2.2.10 下载或构建一个Trove Guest 镜像
2.2.11 配置数据库类型及其版本
2.3 总结
第3 章基本的Trove 操作
3.1 使用curl 命令和RESTful 服务交互
3.1.1 从Keystone 中获取Token
3.1.2 使用Token 和RESTful 服务交互
3.2 理解应用程序如何与OpenStack 服务交互
3.3 Trove CLI 脚本编程
3.4 展示实例列表
3.5 启动实例
3.6 重启实例
3.7 删除实例
3.8 配置多个数据库类型
3.8.1 配置数据库类型
3.8.2 指定默认的数据库类型
3.9 创建用户和数据库
3.9.1 启用数据库的root 用户
3.9.2 数据库操作
3.9.3 用户操作
3.10 总结
第4 章概念和架构
4.1 Trove 基础架构
4.2 Trove 的概念
4.2.1 Trove 服务
4.2.2 Trove Guest Agent API
4.2.3 Trove 策略
4.2.4 Trove 拓展
4.2.5 Guest Agent 的分类模型和策略
4.2.6 Trove Guest 镜像
4.2.7 Trove 消息队列和Trove 内部的API
4.2.8 Trove 基础设施数据库
4.2.9 Trove 公共API
4.3 OpenStack Trove 的架构
4.4 总结
第5 章 Trove 的高级操作
5.1 自定义f lavor
5.2 Trove 的备份和恢复
5.3 Trove 的复制
5.3.1 对复制的支持情况
5.3.2 创建一个复制
5.3.3 故障切换
5.4 Trove 集群
5.5 配置组
5.6 调整实例的大小
5.7 终止实例
5.8 总结
第6 章调试与故障排除
6.1 访问Trove guest 实例的命令行
6.1.1 OpenStack guest 镜像
6.1.2 Tesora guest 镜像
6.2 阅读Trove 错误日志
6.2.1 Trove 控制节点的错误日志
6.2.2 关于guest 实例的错误日志
6.2.3 错误日志的一些实例
6.3 理解Trove 日志级别
6.4 在Trove 中使用OpenStack 分析库
6.4.1 在开始和停止位置之间分析代码
6.4.2 使用Python 结构分析一个代码块
6.4.3 使用修饰器分析一个方法
6.4.4 使用修饰器分析整个类
6.5 总结
第7 章构建Trove guest 镜像
7.1 使用预先构建的Trove guest 镜像
7.1.1 Trove guest 镜像组件
7.1.2 注册Trove guest 镜像
7.2 使用磁盘镜像生成器构建guest 镜像
7.2.1 安装磁盘镜像生成器
7.2.2 磁盘镜像生成器元件
7.2.3 使用Trove 相关的元件构建guest 镜像
7.2.4 使用redstack构建guest 镜像
7.3 磁盘镜像生成器的工作原理
7.3.1 元件内的阶段
7.3.2 执行顺序
7.4 Trove 涉及的元件
7.5 使用 guest agent 代码
7.5.1 在运行时安装 guest agent 代码
7.5.2 构建时安装guest agent 代码
7.6 不同的操作系统中的 guest 镜像
7.7 总结
第8 章生产环境下Trove 的运作
8.1 Trove 的基础设施配置
8.1.1 配置Trove 使用专用基础设施
8.1.2 AMQP 服务器上的安全配置
8.1.3 为访问AMQP 服务器提供凭证
8.2 guest 安全
8.2.1 在guest 实例上使用SSH
8.2.2 使用安全组和安全网络
8.3 Trove 作为其他OpenStack 服务的用户端
8.3.1 私有OpenStack 结构中的消费服务
8.3.2 使用隐藏租户和服务租户
8.4 总结
附录A Trove 配置选项
A.1 Trove 配置文件
A.2 Trove 配置选项
A.3 特定的数据库配置选项
A.4 总结
附录B Trove 命令行接口
B.1 命令行接口
B.1.1 trove 命令
B.1.2 trove-manage 命令
B.2 总结
附录C Trove 中的API
C.1 Trove API 服务的end point
C.2 API 的习惯用法
C.3 列出API 的版本
C.4 实例API
C.4.1 列出实例
C.4.2 创建实例
C.4.3 展示实例
C.4.4 实例操作
C.4.5 修改实例
C.4.6 更新实例
C.4.7 删除实例
C.4.8 备份列表
C.4.9 实例配置列表
C.5 数据库类型的API
C.5.1 数据库类型列表
C.5.2 数据库类型版本列表
C.5.3 显示数据库类型版本(通过数据库类型和版本)
C.5.4 显示数据库类型版本(通过UUID)
C.5.5 数据库类型版本配置项列表
C.5.6 显示数据库类型版本配置项
C.5.7 数据库类型版本配置项列表
C.5.8 显示数据库类型版本配置项
C.6 实例类型API
C.6.1 实例类型列表
C.6.2 显示实例类型
C.7 限额API
C.8 备份API
C.8.1 备份列表
C.8.2 显示备份
C.8.3 创建备份
C.8.4 删除备份
C.9 数据库扩展API
C.9.1 获取root 用户的激活状态
C.9.2 启用root
C.9.3 数据库列表
C.9.4 创建数据库
C.9.5 删除数据库
C.9.6 创建用户
C.9.7 用户列表
C.9.8 查看用户的权限
C.9.9 删除用户
C.9.10 用户访问授权
C.9.11 显示用户的访问权限
C.9.12 解除用户的访问权限
C.10 集群API
C.11 集群列表
C.11.1 集群详情
C.11.2 创建集群
C.11.3 集群操作:添加实例
C.11.4 删除集群
C.12总结
关于技术评论员
Nikhil Manchanda 是惠普云的核心工程师之一。他从OpenStack Trove 的Juno、Kilo和Liberty 发布伊始就一直是该项目的技术负责人(PTL)。他设计并编写了OpenStackTrove 项目的重要部分,并在项目开始时就成为Trove 的核心贡献者之一。他的专长在OpenStack、Python 和数据库领域,但也偶尔涉足C++ 和机器学习领域。他之前从事软件更新智能、本地地理系统和移动应用相关工作。在工作之余,他会经常趴在桌子上,刻苦钻研他的树莓派或NAS4Free 盒子,或者写诗歌和短篇小说。
鸣谢
我们要感谢整个OpenStack Trove社区,感谢社区成员对Trove版本的提交和贡献,以使得OpenStack的数据库服务成为现实。如果没有这么多开发者、审阅者和运营商在数年里对项目的贡献,我们不会有如此丰富的话题进行写作。
特别感谢Tesora的整个团队,他们通过评论、回答技术问题和提供有创意的内容来支持本书。
感谢Apress团队,Mark Powers、Louise Corrigan、Christine Ricketts和Lori Jacobs都很棒。
特别感谢Laurel Michaels,他在社区里做了很多改善Trove文档的工作,在本书初稿完成后精心审阅了每个章节,并提供了宝贵的改进建议。
——Amrith & Doug
深入理解OpenStack Trove 下载 mobi pdf epub txt 电子书 格式 2024
深入理解OpenStack Trove 下载 mobi epub pdf 电子书东西不错还要细细研究
评分非常专业的书籍,印刷质量也很好
评分时刻学习新知识。。。
评分东西非常不错,第一版我也有
评分挺好的入门读物,可以看看!
评分挺好的入门读物,可以看看!
评分时刻学习新知识。。。
评分时刻学习新知识。。。
评分书不错,软件开发人员很好的辅助工具
深入理解OpenStack Trove mobi epub pdf txt 电子书 格式下载 2024