Blog
Community
Engineering
Product
How to solve the `abandoned cart problem` using row-level TTL
We’ve all done it. Imagine you’re browsing around the AllSaints online shop, dreaming about refreshing your fall wardrobe. You find a couple items and add them to your cart. You continue browsing but then, for some reason, you don’t check out. Instead, you close the browser tab and move on. In the e-commerce world, this is what’s known as shopping cart abandonment.
Aydrian Howard
July 26, 2023
Company
CockroachDB named a Customers' Choice in 2023 Gartner Peer Insights Voice of the Customer report
Cockroach Labs has been named a Customers’ Choice vendor in the 2023 Gartner® Peer Insights™ ‘Voice of the Customer’: Cloud Database Management Systems report. We are one of just two vendors –out of 60 total eligible vendors– in the Cloud Database Management Systems category to receive the distinction. According to the report, 98% of customers are willing to recommend Cockroach Labs, and we achieved an overall rating of 4.7 out of 5.0* based on 53 ratings as of March 2023 from customers with more than $50 million in revenue.
Jessica Edwards
July 25, 2023
applications
Relational database entities vs. domain-driven design entities
Relational database developers have long used the term “Entity” when designing database schemas. Meanwhile, on the software architecture side, the term “Entity” is a key component of domain-driven design. So what is the difference? Or is there a difference? Do they refer to the same thing?
Wade Waldron
July 21, 2023
Product
Multicloud vs. hybrid cloud vs. intercloud and more – what’s the difference and which is best?
By all accounts, multicloud is the future. And for lots of companies, multicloud is already the present. But multicloud is also a big buzzword. It’s not always clear what people even mean when they’re talking about, for example, multicloud deployments. In this article, we’ll take a look at what multicloud, hybrid cloud, and intercloud really mean. We’ll also introduce a new term, single-workload multicloud, to refer to a specific type of multicloud deployment. Finally, we’ll dig into some of the key factors to consider when trying to choose which of these deployment methods is best for you.
Charlie Custer
July 17, 2023
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
Comparing CockroachDB and PostgreSQL
It would be wrong to begin a comparison blog post about PostgreSQL without first acknowledging that it is one of the most reliable and widely used databases in the history of software. The world owes a debt of gratitude to the open source community that has built and supported this important project for the last 30 years. In this post, we simply unpack some of the architectural differences between PostgreSQL and CockroachDB. In the process we’ll point out where the limitations of single server, single instance architecture might pose challenges for modern cloud infrastructure.
Jim Walker
July 12, 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