Blog
Product
How to manage CockroachDB as Code with Terraform
Managing all infrastructure as code is a way of ensuring that no configuration drift occurs and that performance is as expected. This is critical when you’re managing applications at scale where the impact of configuration drift is exponential. In this tutorial blog we’ll demonstrate how CockroachDB Dedicated (our DBaaS) can be managed as code via our integration with Terraform. With this integration you are able to integrate your database with the other elements of the software stack you are deploying. And then you can use pipeline tools to deploy your application as a complete stack including the database.
Mike Bookham
July 13, 2023
Product
Performance goals for mission-critical workloads
When it comes to choosing a database, deployment, and configuration for your most critical workloads, you’ve got plenty of options. But how can you strike the right balance between performance, resilience, and cost? Let’s take a closer look at the important factors to assess when making these decisions.
Charlie Custer
July 12, 2023
System
Idempotency and ordering in event-driven systems
Many software systems use a batch-driven process to operate. They accumulate data in a database and periodically a job will process the data to produce some result. In the past, this was sufficient. However, modern systems need to respond faster. They may not be able to wait for a batch to start. Many systems have turned to an Event-Driven approach because it is capable of reacting to events as they happen. However, despite the power of these systems, they do introduce new challenges.
Wade Waldron
July 11, 2023
Engineering
Time, TIMETZ, Timestamp, and TimestampTZ in PostgreSQL
At Cockroach Labs, we’ve spent a lot of time getting our SQL semantics to match PostgreSQL as much as possible - all so that you can use the awesome PostgreSQL language with a powerful, distributed backend like! Getting this right involves getting the Time, TimeTZ, Timestamp and TimestampTZ types right - which has proven quite the quest! Numerous bugs have been filed and fixed - and with it, our mastery of these types in PostgreSQL (and the Go time library) has increased! In this blog post, we’ll explore some intricacies we’ve found with these data types in PostgreSQL, and look at how we reproduce some of these features using Go and its ecosystem. We’ll share our recommendations for using these types along the way.
Oliver Tan
July 10, 2023
Product
Not if, but when: The case for mainframe modernization
The first idea for a mainframe was developed by a Harvard researcher who took the concept to IBM in the 1930s. After a decade or so of development, the 5 ton machine – that filled an entire room and would cost around $3M today to build – was ready to use in 1943. Industries such as banking, retail, insurance, utilities, healthcare, and government still rely on their mainframes to handle their most sensitive, large-scale transactional data. Mainframes excel when it comes to security and reliability which is why many organizations trust them with their mission-critical workloads.
Cassie McAllister
July 6, 2023
Product
What is cloud portability, and why should you care?
Companies move to the cloud to take advantage of a wide variety of benefits, but building your infrastructure on a public cloud also comes with risks. Chief among them is vendor lock-in and the fear of being at a single cloud provider’s mercy, locked in behind what would be the months or years of work necessary to switch to a different cloud. But operating across multiple clouds at the same time is technically difficult and often prohibitively expensive. Many companies have embraced a different way of mitigating the lock-in risk: cloud portability.
Charlie Custer
July 5, 2023
Culture
Cockroach Labs Opens Engineering Office in India, Unleashing New Opportunities for Growth
We have officially started our expansion in India, marking a significant milestone in our global growth strategy. The move to India reflects our continued recognition of global talent and the country’s immense strategic potential to position our distributed SQL database to be used across the world.
Spencer Kimball
June 30, 2023
System
How to use ADD CONSTRAINT in SQL (with examples)
One of the most compelling reasons to use a SQL database is that it can enforce rules about data for you, ensuring that it can only enter the database if it meets your specifications. But for it to do that effectively, you have to tell it what those rules are, so let’s talk about SQL constraints and how to add a constraint.
Charlie Custer
June 29, 2023
Product
What is a UUID, and what is it used for?
When working with a database, it’s common practice to use some kind of id field to provide a unique identifier for each row in a table. Imagine, for example, a customers table. We wouldn’t want to use fields such as name or address as unique identifiers because it’s possible more than one customer could have the same name, or share the same address, or in some cases even both! Instead, it’s a good idea to assign each row some kind of truly unique identifier. One option we have is to use a UUID.
Charlie Custer
June 29, 2023