Release Notes - CockroachDB 1.1

Big news!

Today, we are thrilled to announce the release of CockroachDB 1.1. We’ve spent the last five months incorporating feedback from our customers and community, and making improvements that will help even more teams move to CockroachDB.

We are also excited to share success stories from a few of our customers. Baidu, one the world’s largest internet companies, shares how they are using CockroachDB to automate operations for applications that process 50M inserts and 2 TB of data daily. Heroic Labs’, a software startup, shares how they simplified deployment of their gaming platform-as-a-service by packaging CockroachDB inside each server.

With the release of CockroachDB v1.1, we’ve included support for faster migrations from legacy databases, simplified cluster management, and improved performance in real-world environments.

Read more about these changes in the 1.1 blog post, check out a summary of new SQL, CLI, and Admin UI features below, and then upgrade to CockroachDB v1.1.

And with that, we say thank you for your support, and please enjoy CockroachDB 1.1.

Cheers,

The Cockroach Labs Team

----------------------------------- 

Summary

This section summarizes the most significant, user-facing changes included in v1.1. For a complete list of changes, including bug fixes and performance improvements, see the release notes for previous testing releases.

  • SQL Statements
  • SQL Types
  • Cockroach Commands
  • Admin UI
  • Documentation
  • Known Limitations

SQL Statements

Statement Description
IMPORT Use this new statement to import an entire table's data into a running cluster by loading CSV files.
SHOW QUERIES
CANCEL QUERY
Use these new statements to monitor the progress of active queries, and, if necessary, cancel long-running queries causing unwanted resource consumption.
SHOW SESSIONS Use this new statement to monitor the overall state of client connections and identify those that may need investigation or adjustment.
SHOW JOBS Use this new statement to monitor the progress of schema changes and enterprise backups and restores.
CANCEL JOB
PAUSE JOB
RESUME JOB
Use these new statements to cancel, pause, or resume enterprise backups and restores.
SHOW BACKUP Use this new statement to list the contents of an enterprise backup.
SHOW TRACE Use this new statement to execute a target statement and then return a trace of its actions through all of CockroachDB's software layers.
DROP USER Use this new statement to remove one or more SQL users. This features is equivalent to the existing cockroach user rm command.
RESET Use this new statement to reset a session variable to its default value. You can also use the new SET .. TO DEFAULT option.
RESET CLUSTER SETTING Use this new statement to reset a cluster setting to its default value. You can also use the new SET CLUSTER SETTING .. TO DEFAULT option.
DROP DATABASE Use the new CASCADE option to drop all tables and views in a database as well as all objects that depend on those tables, such as constraints and views. This option does not list objects it drops, so should be used cautiously.
INSERT Use a WHERE clause with ON CONFLICT to conditionally apply updates that conflict with a Unique constraint on one or more columns.

 

SQL Types

Type Description
ARRAY Use this new data type to store 1-dimensional, 1-indexed, homogenous arrays of any non-array data type.
UUID Use this new data type to store 128-bit values that are globally unique. This type is recommended for auto-generating unique row IDs.

 Cockroach Commands

Command Description
init Use this new command to perform a one-time initialization of a new multi-node cluster. For a full walk-through of the cluster startup and initialization process, see Manual Deployment or one of the Cloud Deployment tutorials.
node decommission
node recommission
Use these new subcommands of cockroach node to decommission nodes for permanent removal or recommission nodes that were accidentally decommissioned. See Remove Nodes for more details.
start When starting a node, the new --max-disk-temp-storage flag lets you set the maximum on-disk storage capacity available to store temporary data for SQL queries that exceed the memory budget. This ensures that JOINs, sorts, and other memory-intensive SQL operations are able to spill intermediate results to disk.

Also, the default values for the --max-sql-memory and --cache flags are now reasonable for local development clusters. For production deployments, they should be increased to 25% or higher. See Recommended Production Settings for more details.
sql When starting the built-in SQL client, the new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility, and the new --unsafe-updates flag allows potentially unsafe statements, such as DELETE without a WHERE clause.

Within the interactive SQL shell, you can now get interactive help about statements and functions and you can set new SQL shell options to control how table rows get printed, to reveal the statements sent implicitly by the SQL shell, to reveal the time a query takes to complete, and to return the current status of a transaction.

Also, when the built-in SQL client connects or reconnects to a node, the welcome text it prints now includes version and cluster ID details.
dump Table and view schemas are now dumped in the order in which they can successfully be recreated.

Also, the new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility.
zone The new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility.

 Admin UI

Area Description
Jobs Page This new page in the Admin UI shows the user, description, creation time, and status of each backup and restore job, as well as schema changes performed across all nodes in the cluster.
Nodes List Nodes that have been decommissioned for permanent removal are now listed in a separate table.

 Documentation

Topic Description
CockroachDB Architecture This new section of the documentation provides an introduction to CockroachDB internals, with detailed explanations of each layer of the software.
Admin UI This new section of the documentation explains how to understand and use the Admin UI to monitor and optimize cluster performance.
Parallel Statement Execution CockroachDB supports parallel execution of independent INSERT, UPDATE, UPSERT, and DELETE statements within a single transaction. This new topic explains why, how, and when to use this feature.
Cross-Cloud Migration This new topic walks you through a local simulation of migrating data from one cloud to another without any service interruption. An accompanying blog post features a live demonstration of the process.
Recommended Production Settings This topic now provides improved hardware recommendations for a CockroachDB cluster and expanded details on how CockroachDB handles unsynchronized clocks.
Stop a Node This topic now explains what happens when a node is temporarily stopped.
Contribute to CockroachDB This topic now gives external contributors guidelines on finding a project, determining its complexity, and learning what to expect in collaborations with the Cockroach Labs team.

 Known Limitations

For information about limitations we've identified in CockroachDB v1.1, with suggested workarounds where applicable, see Known Limitations.