VoltDB Admin Guide

在这里插入图片描述

第1章 管理VoltDB数据库

VoltDB是一个分布式内存数据库,设计的目的是最大程度提高商用服务器的吞吐性能。VoltDB架构比传统的数据库产品提供了许多优点,同时避免的NoSQL解决方案的缺陷:

• 通过对数据和存储过程的分区,VoltDB可以并行处理多个查询而不牺牲数据库的ACID特性的一致性或持久性。

• 通过单独线程管理内存中每个分区的数据,VoltDB避免了传统磁盘库的 行锁、latching、资源竞争等问题。

• VoltDB数据库方便的扩展节点,以满足新的容量和性能要求。

• 基于schema自动分区。因此,不像目前许多的NoSQL解决方案,扩展时需要手动分片或重新分区的数据。

• 最后,VoltDB企业版提供的,通过command logging确保持久性和高可用性,在本地复制分区(K-安全),广域数据库复制等功能。

这些功能的在Using VoltDB手册有详细地描述。这本书从数据库管理员的角度来看解释了如何使用这些和其它功能,以管理和维护 VoltDB数据库集群。

1.1 Getting Started

在设置VoltDB环境前,你需要做出四项决定:

• 需要什么数据库功能 - 哪些功能要在配置文件中定义,并用voltdb init命令设置。

• 集群的物理结构 -你使用 voltdb start 命令时指定的集群中指定的节点数量和地址,。

• 数据库的逻辑结构 - 所述数据库表和视图的逻辑结构,也被称为模式,在标准的SQL语句被定义,并且可以使用SQLCMD命令行实用程序被应用到数据库。

• 存储过程- SCHEMA声明的存储过程。存储过程是java编写,自己执行事务对数据进行操作。通过sqlcmd命令行加载JAR文件形式的存储过程。

要初始化一个VoltDB数据库集群,你需要一个配置文件。通过配置文件,您可以启用和配置各种数据库选项包括可用性,持久性和安全性。该配置文件也定义了当前服务器上的数据库的部分属性,特别是命令日志和快照磁盘的文件的路径。用voltdb init命令初始化时,需要确保集群中的所有节点数据库都指定相同的配置文件。

使用数据库集群时,使用voltdb start命令,可以指定集群中节点数量,还可以指定一个或多个节点作为潜在主机。VoltDB在潜在主机中选择一个节点作为Leader协调启动过程。

当使用VoltDB企业版,你还需要一个许可文件,通常命名为 license.xml。VoltDB自动在用户的当前工作目录、主目录或voltdb安装目录的子文件夹 查找。如果许可文件在不同的目录或以不同的名称存储,你可以在voltdb start 命令中用 --license参数指定许可文件。

最后,应用程序使用数据库需要设置schema,包括DDL声明数据库的逻辑架构、包含存储过程的JAR文件等。一般情况下,数据库开发过程中包含,数据库shema和存储过程,详情请看Using VoltDB 手册。

本书中假定shema和存储过程已经创建。在另一方面,配置文件中定义了集群的运行时配置。设置正确的配置文件和管理物理管理的数据库集群是数据库管理员的职责。这本书是为制定标准流程相关人和数据库管理员编写。

1.2 了解 VoltDB Utility

VoltDB提供了几个命令行程序。熟练使用这些工具可以更轻松地管理VoltDB。3个最主要的创建,管理和测试VoltDB数据库的命令行工具如下:

voltdb 启动VoltDB数据库进程。该voltdb命令也可以收集日志文件,分析可能的系统错误(详情见 第7.3节“收集日志文件” 对于)。该voltdb命令在本地运行,不需要运行数据库。

voltdb启动VoltDB数据库进程。该voltdb命令也可以收集日志文件,分析可能的系统错误(详情见 第7.3节“收集日志文件” 对于)。该voltdb命令在本地运行,不需要运行数据库。
voltadmin命令管理VoltDB数据库的问题。您可以使用voltadmin 保存和恢复快照,暂停和恢复admin模式,可以关闭数据库,以及其他任务。该voltadmin命令可以远程运行,可执行集群范围的操作,只能连接运行中的数据库。
sqlcmd让你发出SQL查询和调用存储过程。sqlcmd命令可以非常方便的测试数据库访问,而无需编写客户端应用。该SQLCMD命令可以远程运行,只能连接运行中的数据库。

除了前面的通用工具,VoltDB提供了具体任务的几个工具:

csvloader,jdbcloader, and kafkaloader这些程序从外部源加载数据到现有VoltDB数据库。他们让你从CSV或基于文本的数据文件,JDBC数据源,或者Apache的kafka流加载数据。这些命令可以远程运行,只能连接运行中的数据库。
snapshotconvert本地快照文件转换成CSV或tabbed文本文件。该snapshotconvert命令在本机快照导出格式化的文本文件,导入到其他数据库时非常有用。(此程序是为了支持老版本而保留的。现在推荐可以直接写快照CSV格式,不需要后处理的方法。)该snapshotconvert命令在本地运行,不需要运行数据库。
snapshotverify验证一组的本地快照文件是否完整、有效。该snapshotverify命令在本地运行,不需要运行数据库。

最后,VoltDB包含一个基于浏览器的管理控制台 - VoltDB管理中心 - 用于实时监控数据库。详情看第5.1.1节“VoltDB管理中心” 。

1.3 管理任务

数据库管理职责分为五大类,如表1.1“数据库 管理任务”。下面的章节是按类别解释VoltDB数据库如何执行每项任务。

表1.1。数据库管理任务

准备服务器启动数据库之前,您必须确保服务器硬件和软件配置正确。本章介绍启动VoltDB之前执行的清单。
基础数据库操作初始化,启动和停止数据库的基本操作。这个本章介绍来处理这些基本任务所需的程序。
维护和升级随着时间的推移,会出现计划的或突发的需要维护的集群和数据库。本章介绍了硬件和软件维护的标准维护流程。例如,作为备份数据库、升级硬件,软件或数据库schema。
性能监控许多数据库管理员的另一个重要作用是监控数据库的性能。监控重要的原因如下: - 性能分析 - 负载均衡 - 故障检测 本章介绍了可用于监控VoltDB数据库的工具。
问题报告和分析如果错误导致部分或全部的数据库集群故障,不仅数据库重启和运行重要,诊断原因并采取纠正措施也很重要。VoltDB产生许多日志文件有助于解决问题。

本章介绍不同的实用日志,以及如何使用它们来诊断数据库问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值