2017年10月12日

在CockroachDB v1.1.0中,我们为开发者提供了更快的数据库迁移方式,为运维人员简化集群管理操作,同时优化CockroachDB在实际生产环境中的性能。

下载

摘要

本节总结了v1.1.0中最重要的、面向用户的变更。 有关变更的完整列表(包括错误修复和性能改进),请参阅先前测试版本的发行说明。

向后兼容的变更

Change 描述
DROP DATABASE 除非添加了CASCADE修饰符,否则此语句不再删除非空数据库。
cockroach start --max-sql-memory--cache现在默认为128MiB,而不是物理内存的25%。 这些新的默认值对于本地开发群集是合理的,但是,对于生产部署,它们应该增加到物理内存的25%或更高。推荐的生产设置

此外,如果无法解析服务器的主机名,CockroachDB会在启动时报告错误,而不是启动该无法加入群集的节点。 本地测试集群可能需要传递--host = localhost以避免此错误。
Various names 对双引号中的数据库,表,视图和列名称现在区分大小写(如同PostgreSQL中的实现)。
DROP COLUMN 不再能删除视图所依赖的列。 这个变化有些过于宽泛,但是可以避免schema变更破坏视图,将来会细化该约束。
EXPLAIN (DEBUG)
EXPLAIN(TRACE)
这些EXPLAIN 选项已经被删除,使用新的语句SHOW TRACE 代替。

SQL语句

Statement 描述
IMPORT 通过加载CSV文件将整个表的数据导入正在运行的集群。
SHOW QUERIES
CANCEL QUERY
来监视活跃查询的状态,并在必要时取消长时间运行的查询,减少不必要的资源消耗。
SHOW SESSIONS 监视客户端连接的总体状态,并识别可能需要关注或调整的连接。
SHOW JOBS 可以监视schema变更、backup和restore的进度。
CANCEL JOB
PAUSE JOB
RESUME JOB
使用这些新语句可以取消、暂停或恢复backup和restore。
SHOW BACKUP 列出正在执行的backup任务。
SHOW TRACE 执行目标语句,然后返回该操作在CockroachDB中执行过程的详细trace信息。
DROP USER 删除一个或多个SQL用户,此功能相当于现有的cockroach user rm命令。
RESET 将session变量重置为其默认值,您也可以使用新的SET .. TO DEFAULT选项。
RESET CLUSTER SETTING 将群集设置重置为其默认值, 您也可以使用新的SET CLUSTER SETTING .. TO DEFAULT选项。
DROP DATABASE 使用新的CASCADE选项删除数据库中的所有表和视图,以及依赖于这些表的所有对象,例如约束和视图。 此选项不会列出它删除的对象,因此应谨慎使用。
INSERT 在一列或多列上违反Unique约束的情况下,使用ON CONFLICTWHERE子句来有条件得执行更新操作。

SQL类型

Type 描述
ARRAY 存储非数组的数据类型的1维,单索引的同质数组。
UUID 存储全局唯一的128位值,建议使用此类型自动生成唯一的行ID。

Cockroach 命令

Command 描述
init 新群集(多节点)执行的一次性初始化操作。 有关群集启动和初始化过程的完整演示,查看 Manual Deployment或者Cloud Deployment中的教程 。
node decommission
node recommission
使用cockroach node的这些新子命令来退役节点,以便永久删除或重新注册意外退役的节点。 更多信息查看 Remove Nodes
start 启动节点时,--max-disk-temp-storage允许您设置超出内存限制后,可使用的最大磁盘存储容量来存储SQL查询的临时数据。 这可确保JOIN,排序和其他内存密集型SQL操作能够将中间结果溢出到磁盘。
sql 启动内置SQL客户端时,--echo-sql显示命令行程序隐式发送的SQL语句,新的--unsafe-updates标志允许可能不安全的语句,例如没有WHERE子句的DELETE

在交互式SQL shell中,您现在可以获得关于语句和函数的交互式帮助,并且可以设置新SQL shell选项来控制表的行的打印方式,以显示SQL shell隐式发送的语句,显示查询完成的时间,以及返回事务的当前状态。

此外,当内置SQL客户端连接或重新连接到节点时,它现在打印的welcome text包括版本和群集ID的详细信息。
dump 目前表和视图schemas可以按照合理的(可以成功重建)顺序进行dump。

此外,新的--echo-sql标志显示命令行程序隐式发送的SQL语句。
zone 新的--echo-sql标志显示命令行程序隐式发送的SQL语句。

Admin UI

Area 描述
Jobs Page Admin UI中的这个新页面显示了每个backup和restore Job的用户、描述、创建时间和状态,以及群集中正在执行的schema更改。
Nodes List 已经退役并永久删除的节点目前会列在单独的表中。

文档

Topic 描述
CockroachDB Architecture 本文档该部分包含了CockroachDB特性简介和内部分层信息。
Admin UI 本文档该部分介绍了如何理解和使用Admin UI来监控和优化群集性能。
Parallel Statement Execution CockroachDB支持在单个事务中并行执行独立的INSERTUPDATEUPSERTDELETE语句。 该部分解释了使用此功能的原因,以及使用方法。
Cross-Cloud Migration 该新主题将引导您完成将数据从一个云迁移到另一个云的,而且不会中断任何服务。 随附的博客文章包含该过程的现场演示。
Recommended Production Settings 该主题现在为CockroachDB集群提供了改进的硬件建议,并详细介绍了CockroachDB如何处理非同步时钟。
Rotate Security Certificates 该新主题向您展示如何在不重新启动节点的情况下更换安全证书。
Stop a Node 该主题目前解释了暂时停止节点时会发生什么。
Contribute to CockroachDB 该主题现在为外部贡献者如何为项目提供贡献、如何确定其内容的复杂性,以及了解与Cockroach Labs团队合作的内容的指导原则。

已知限制

有关我们在CockroachDB v1.1中发现的限制的信息,以及适用的解决方法,查看 Known Limitations.