Blog
Product
Announcing CockroachDB support for Django ORM
``` Django includes a full-featured ORM that simplifies interactions with a database--it’s one of the reasons it’s become one of the most popular web frameworks. Even so, you’re still left to manage scale yourself, and ensure the database is resilient and always on. That can be really hard to do with common Django databases like Postgres, SQLite, and MySQL. And that’s why today, we’re excited to announce a new CockroachDB backend for the Django ORM. ``` Using CockroachDB and Django gives you the ease of writing in Python while getting all the benefits of an open source, distributed SQL database. CockroachDB shards automatically, is naturally resilient, and is highly available. Here’s how to get started:
Charlotte Dillon
January 27, 2020
Product
Yugabyte vs. CockroachDB: Unpacking competitive benchmark claims
Yugabyte frequently compares themselves to CockroachDB. We investigated their claims. This is our analysis of CockroachDB vs. Yugabyte v2.0.0.
Peter Mattis
November 19, 2019
Product
Announcing CockroachDB 19.2
Today, we’re proud to announce the release of CockroachDB 19.2, which significantly improves the latency, reliability, and usability of CockroachDB. CockroachDB 19.2 pushes the bounds of what a distributed SQL database can do. We’re bringing the latency of distributed transactions closer to the theoretical minimum, continuing to bolster the resilience and reliability of our enterprise and open core product, and we’re making CockroachDB easier to use than ever before. Not only does 19.2 introduce new features for better ease-of-use, we’re also launching Cockroach University to improve the experience of learning and using the product. Cockroach University is a free online learning tool for developers and architects who want to gain a fundamental understanding of distributed databases and deep knowledge of CockroachDB’s functionality and architecture.
Product
How we built a vectorized execution engine
CockroachDB is an OLTP database, specialized for serving high-throughput queries that read or write a small number of rows. As we gained more usage, we found that customers weren’t getting the performance they expected from analytic queries that read a lot of rows, like large scans, joins, or aggregations. In April 2018, we started to seriously investigate how to improve the performance of these types of queries in CockroachDB, and began working on a new SQL execution engine. In this blog post, we use example code to discuss how we built the new engine and why it results in up to a 4x speed improvement on an industry-standard benchmark.
Alfonso Subiotto Marques
October 31, 2019
Product
Announcing CockroachDB Dedicated: CockroachDB-as-a-service
Today we announced the beta program for CockroachDB Dedicated, a self-service, fully managed cloud offering of CockroachDB. CockroachDB Dedicated delivers simple and easy to onboard distributed SQL, while also offering a secure and flexible experience. Whether you’re building a small application on a single node, a resilient application across multiple nodes or a multi-region application serving users all over the world, CockroachDB Dedicated is the distributed SQL database for modern application developers. “As-a-service” has become the norm for how developers consume software. A year ago, we announced a limited availability of Managed CockroachDB, which was the first step in our cloud journey, and an important milestone in our mission of Making Data Easy. Since then, we’ve learned a lot from our earliest users. CockroachDB Dedicated is the culmination of all those learnings, and we’re excited to now open up the offering to a broader audience.
Lakshmi Kannan
October 16, 2019
Product
Get started geo-partitioning data with our command-line CockroachDB demo
CockroachDB offers a number of powerful enterprise features, most notably those related to geo-partitioning tables. Geo-partitioning allows users to control where their data lives geographically, at the row-level. To make geo-partitioning easier for users to try out, we made some updates to cockroach demo that enable you to check out enterprise features without the need for a full deployment. Note that all of the features discussed in this blog will be available in CockroachDB version 19.2. When you run cockroach demo in a terminal, CockroachDB starts a temporary, in-memory cluster, and then opens a SQL shell to that cluster. The in-memory cluster persists only as long as the shell is open, and the data is lost once the shell is closed. cockroach demo also automatically acquires a temporary enterprise license for each demo session, so you can use enterprise CockroachDB features right now. After you install CockroachDB, no further set up is necessary. So let’s dive right into the new features available for use with cockroach demo!
Rohan Yadav
October 10, 2019
Product
Feature of the week: Core changefeeds in CockroachDB 19.1
Our latest CockroachDB Feature of the Week, core changefeeds, is an exciting new way for event-driven apps to consume data from CockroachDB. With the CHANGEFEED FOR statement, a SQL client can tell the database to monitor a table and tell it when writes take place. CockroachDB will then hold the connection open until the client closes it and stream records to the client for all writes. You can use changefeeds to build event-driven applications, perform data integration, and do all kinds of other tasks that depend on watching the state of a table.
Roland Crosby
July 30, 2019
Product
Query plan caching in CockroachDB
Since the 2.1 release, CockroachDB has had a cost-based optimizer. Rewriting a big component of an existing system is always challenging. In particular, we really wanted to avoid regressing on any workloads, including simple transactional queries where the existing planner was already generating the best plan. A cost-based optimizer inherently does more work and thus involves longer planning times. To mitigate this, we worked on caching and reusing optimizer state across multiple instances of the same query. For now, we chose a conservative path: only cache state from which we can still generate the best plan (the one we would have generated without caching), making caching invisible to the user. We’ll start with an overview of the stages of the query planning process; then we’ll go over the methods clients can use to issue queries against CockroachDB, and finally we’ll discuss the caching work we have done to speed up query planning.
Radu Berinde
June 20, 2019
Product
Vectorizing the merge joiner in CockroachDB
Everybody loves a fast query. So how can we make the best use of the existing information to make joins on sorted data faster? The answer is lies in vectorizing the merge join operator. Today we’ll be looking into what a merge joiner is (or what it used to be), followed by what vectorization means and how it changes the problem, and ending with how we decided to make the merge join operator faster and what this means for your queries.
George Utsin
June 18, 2019