Events

Data disasters: Untold disaster stories | Census

Boris Jabes
Boris Jabes April 19, 2021

Boris is the CEO of Census. Previously, he was the CEO of Meldium, acquired by LogMeIn. He is an advisor and alumnus of Y Combinator. He enjoys nerding out about data and technology, 8-bit graphics, and helping other startup founders.

Dispatches from Day Three of the Operational Analytics Conference

Disasters at work are never a fun topic when you’re in the moment, but always fun to look back at once they’re far behind you. … Far, far behind you. Our panel on day three of the Operational Analytics Conference focused on the messy, painful, confidence-scarring mistakes some of the top data pros in the industry have had.

With us to share their horror stories (along with a lot of good stuff too – after all, most bad experiences at work become learning experiences) was

There were a lot of fun (in retrospect) stories, but Brooks’ “The Mystery of the Missing $5 Million” definitely stood out.

Brooks Taylor: I feel like I'm making more mistakes as I go along, which may be it's not how learning is supposed to work, but I feel like as you get trusted with more and more things, you have the opportunity to ruin more and more things. My most recent one happened when I was building some revenue tables. Our business has a self-service and then we have an invoice side of the business, and they need continual reconciliation, so I'm trying to build the source of truth to let us do that. In order to track revenue, you have to have all of your historical data laid out in front of you, because we track it incrementally. To know what someone's paying us now, you have to know what they'd been paying us since whenever they first became a customer.

I'm looking for old historical records and I can't get the data I need, and I can't sync it in. Our syncing tool is an incremental sync, and because these records are three years old, they're not going to come across. So, I'm like, easy – I'll just put a touch on them. I won't change the data, I'll just update the timestamp of last updated. That'll let me pull it in, I can calculate it, we can get this analysis done and run forward. If I were to liken it to a physical metaphor, it would be like the data was like a golden idol in “Raiders of the Lost Ark”, and all I needed to do was put the weighted bag in place of the idol. If I could just swap that in really quick, no one would even notice, and I would have what I needed and I didn't need to tell anyone.

Anyone who's seen the movie knows exactly what happens next, which is of course I sprung every one of the temple traps. I ended up triggering all these other underlying calculation processes that relied on the same data. I showed up to work two hours later and my entire floor is just flying around, and everyone's like, "We've lost $5 million. We don't know where it went. Do you know anything about that?" I was like, "I know something about that. Yeah, sure, sure. Can we talk about what that looked like when that happened?" We traced it back and it was definitely 100 percent my fault. I think a big lesson I learned is that even if it's old data, the ecosystem is really, really connected at the end of the day, so if you think you're making a change, even if it looks like no change at all, it's better to have a little better context of what else is also looking at that same data.

I have never lost $5 million dollars in a data equation before, but I certainly have made mistakes that felt like I had. If you sign up for a demo of Census, maybe I’ll tell you one of my stories.

Listen to the entire discussion below and be sure to check out the other sessions as well.

Related articles

Customer Stories
Built With Census Embedded: Labelbox Becomes Data Warehouse-Native
Built With Census Embedded: Labelbox Becomes Data Warehouse-Native

Every business’s best source of truth is in their cloud data warehouse. If you’re a SaaS provider, your customer’s best data is in their cloud data warehouse, too.

Best Practices
Keeping Data Private with the Composable CDP
Keeping Data Private with the Composable CDP

One of the benefits of composing your Customer Data Platform on your data warehouse is enforcing and maintaining strong controls over how, where, and to whom your data is exposed.

Product News
Sync data 100x faster on Snowflake with Census Live Syncs
Sync data 100x faster on Snowflake with Census Live Syncs

For years, working with high-quality data in real time was an elusive goal for data teams. Two hurdles blocked real-time data activation on Snowflake from becoming a reality: Lack of low-latency data flows and transformation pipelines The compute cost of running queries at high frequency in order to provide real-time insights Today, we’re solving both of those challenges by partnering with Snowflake to support our real-time Live Syncs, which can be 100 times faster and 100 times cheaper to operate than traditional Reverse ETL. You can create a Live Sync using any Snowflake table (including Dynamic Tables) as a source, and sync data to over 200 business tools within seconds. We’re proud to offer the fastest Reverse ETL platform on the planet, and the only one capable of real-time activation with Snowflake. 👉 Luke Ambrosetti discusses Live Sync architecture in-depth on Snowflake’s Medium blog here. Real-Time Composable CDP with Snowflake Developed alongside Snowflake’s product team, we’re excited to enable the fastest-ever data activation on Snowflake. Today marks a massive paradigm shift in how quickly companies can leverage their first-party data to stay ahead of their competition. In the past, businesses had to implement their real-time use cases outside their Data Cloud by building a separate fast path, through hosted custom infrastructure and event buses, or piles of if-this-then-that no-code hacks — all with painful limitations such as lack of scalability, data silos, and low adaptability. Census Live Syncs were born to tear down the latency barrier that previously prevented companies from centralizing these integrations with all of their others. Census Live Syncs and Snowflake now combine to offer real-time CDP capabilities without having to abandon the Data Cloud. This Composable CDP approach transforms the Data Cloud infrastructure that companies already have into an engine that drives business growth and revenue, delivering huge cost savings and data-driven decisions without complex engineering. Together we’re enabling marketing and business teams to interact with customers at the moment of intent, deliver the most personalized recommendations, and update AI models with the freshest insights. Doing the Math: 100x Faster and 100x Cheaper There are two primary ways to use Census Live Syncs — through Snowflake Dynamic Tables, or directly through Snowflake Streams. Near real time: Dynamic Tables have a target lag of minimum 1 minute (as of March 2024). Real time: Live Syncs can operate off a Snowflake Stream directly to achieve true real-time activation in single-digit seconds. Using a real-world example, one of our customers was looking for real-time activation to personalize in-app content immediately. They replaced their previous hourly process with Census Live Syncs, achieving an end-to-end latency of <1 minute. They observed that Live Syncs are 144 times cheaper and 150 times faster than their previous Reverse ETL process. It’s rare to offer customers multiple orders of magnitude of improvement as part of a product release, but we did the math. Continuous Syncs (traditional Reverse ETL) Census Live Syncs Improvement Cost 24 hours = 24 Snowflake credits. 24 * $2 * 30 = $1440/month ⅙ of a credit per day. ⅙ * $2 * 30 = $10/month 144x Speed Transformation hourly job + 15 minutes for ETL = 75 minutes on average 30 seconds on average 150x Cost The previous method of lowest latency Reverse ETL, called Continuous Syncs, required a Snowflake compute platform to be live 24/7 in order to continuously detect changes. This was expensive and also wasteful for datasets that don’t change often. Assuming that one Snowflake credit is on average $2, traditional Reverse ETL costs 24 credits * $2 * 30 days = $1440 per month. Using Snowflake’s Streams to detect changes offers a huge saving in credits to detect changes, just 1/6th of a single credit in equivalent cost, lowering the cost to $10 per month. Speed Real-time activation also requires ETL and transformation workflows to be low latency. In this example, our customer needed real-time activation of an event that occurs 10 times per day. First, we reduced their ETL processing time to 1 second with our HTTP Request source. On the activation side, Live Syncs activate data with subsecond latency. 1 second HTTP Live Sync + 1 minute Dynamic Table refresh + 1 second Census Snowflake Live Sync = 1 minute end-to-end latency. This process can be even faster when using Live Syncs with a Snowflake Stream. For this customer, using Census Live Syncs on Snowflake was 144x cheaper and 150x faster than their previous Reverse ETL process How Live Syncs work It’s easy to set up a real-time workflow with Snowflake as a source in three steps: