Blog
System
SQL Prober: Black-box monitoring in Managed CockroachDB
This blog post reflects my work as an intern this summer with the SRE team at Cockroach Labs. Earlier this year, we started building a service offering called Managed CockroachDB. While working with a group of beta customers, we found an unconventional solution to a huge problem: how do we create black-box monitoring in a distributed system?
Jay Lim
August 15, 2019
Culture
Learning is good: Our 3 favorite talks at GopherCon 2019
Learning is Good is a program at Cockroach Labs that provides a stipend for employees to take advantage of resources for their professional development. Employees are encouraged to take courses, participate in workshops, attend conferences or obtain relevant certifications.
Alfonso Subiotto Marques
August 14, 2019
Company
A $55M milestone in our mission to make data easy
It’s shaping up to be a big year at Cockroach Labs. We launched CockroachDB 19.1 and improved our ability to serve global businesses including Lush, Bose, and WeWork. We grew to four offices worldwide and surpassed the 100 employee mark. We changed our licensing to simultaneously serve the developer community while growing the company. And today, we’re proud to announce that Cockroach Labs has secured $55 million in Series C funding. The round is led by Altimeter Capital, Tiger Global, and existing investor GV, with additional participation from our existing investors at Benchmark, Index Ventures, Redpoint Ventures, FirstMark Capital, and Work-Bench.
Culture
Onboarding as a team sport
For new employees, starting at a new company isn't always a comfortable transition. Even if they’re excited about their new role, day 1 at a new office can be scary. They’ve left the familiar feeling of their old position for the unknown situation of a new company. Onboarding is meant to answer some of these unknowns. While the HR team can sit you down and walk through how the company came to be and when you’ll be paid, there’s some amount of onboarding where a meeting with HR doesn’t cut it. At Cockroach Labs, we’ve made onboarding a team sport. New hires are paired with a Roachmate -- their go-to resource -- with many other Roachers helping to get new hires up to speed on our product and how things work. The process is organized by our People Ops team, but with lots of help from every department at Cockroach Labs. We also refer to our onboarding process as MOLTing. Of course, we're a company called Cockroach Labs, and if you didn't already know, cockroaches molt. It's a process they go through early on in their lifecycle to shed their skin and build that resilient outer shell for which they're known. This reflects our onboarding program in that we hope you learn useful things during the start of your time here to become a resilient Roacher.
Chelsea Lee
August 1, 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
Announcing ESCAPE/19: The Multi-Cloud Conference
Over the past few years, cloud conferences have taken center stage in the tech world. And as the three largest public cloud providers have grown, we’ve seen each launch a proprietary conference. Re:Invent, Next and Ignite have emerged as the main forums for practitioners tp share best practices and vendors announce major product advancements.
Jim Walker
July 23, 2019
applications
Getting started with CockroachDB and Flowable
Last week, our friends at Flowable released Flowable 6.4.2, which officially adds support for CockroachDB. Flowable provides a workflow and Business Process Management (BPM) platform for developers, system admins and business users, and now integrates with CockroachDB in just a few steps, thanks to a recent collaboration. Cockroach Labs and Flowable engineers have been teaming up since the early stages of CockroachDB because it makes deploying Flowable that much easier. Plus, as they write in their blog, “What makes CockroachDB very interesting for Flowable is that it’s scalable and distributed database... In the world of processes and cases, atomicity is utmost importance, as data correctness is sacred.”
Charlotte Dillon
July 16, 2019
Culture
Navigating the exercise-based interview
Interviewing at Cockroach Labs comes with a twist. The interviewing process is unconventional by design—especially for non-engineering positions. The interviews are exercise-based, focused on practical, day-in-the-life style work tasks. Additionally, resumes are removed from the process to fight unconscious bias. The process is crafted thoughtfully and customized for each role being hired for, but it can be a bit daunting for candidates who are used to traditional interviews. As someone who recently experienced the process first-hand, I thought it would be beneficial for potential candidates to hear about my interviewing experience and gain insight into the process. For a little context, I joined Cockroach Labs in July as the new Technical Writer. In this post, I’ll be looking at the interviews from the perspective of a tech writer, but the process applies to all open roles across the company. The typical technical writer hiring process goes something like this: You apply for an online job posting with your resume and work samples. The HR representative conducts a phone interview. If selected, you are called for an in-person interview. The in-person interview generally entails a writing (read: grammar) exercise, followed by routine questions. The interview is usually conducted by two or three tech writers and the hiring manager. In my experience, the typical interview process relies on the candidate telling the hiring team what they can do, rather than showing what they can do. This does not necessarily translate into the candidate being a good fit for the position and the team. By contrast, the interview process at Cockroach Labs is cross-functional and exercise-based, which is unconventional, yet effective in the sense it not only helps the company decide if the candidate is a good match for the position, but also helps the candidate evaluate if the company is a good fit for them.
Amruta Ranade
July 11, 2019
Engineering
SQLsmith: Randomized SQL testing in CockroachDB
Randomized testing is a way for programmers to automate the discovery of interesting test cases that would be difficult or overly time consuming to come up with by hand. CockroachDB uses randomized testing in many parts of its code. I previously wrote about generating random, valid SQL. Since then we’ve added an improved SQL generator to our suite called SQLsmith, inspired by a C compiler tester called Csmith. It improves on the previous tool by generating type and column-aware SQL that usually passes semantic checking and tests the execution logic of the database. It has found over 40 new bugs in just a few months that the previous tool was unable to produce. Here I’ll discuss the evolution of our randomized SQL testing, how the new SQLsmith tool works, and some thoughts on the future of targeted randomized testing.
Matt Jibson
June 27, 2019