Introducing Protocols: Say goodbye to bad data

You can’t make informed decisions when you don’t trust your underlying data. Unfortunately, finding data mistakes is far too common for most companies. Whether your Order Completed event was accidentally implemented as OrdreCompleted or your products property was coded as a string instead of an array, you likely have spent time cleaning up your data set just to make it useful.…

Why status codes matter in data delivery

Segment is a hub for a tremendous amount of data. It processes peaks of 230,000 events per second inbound, and 280,000 events per second outbound between more than 200 integration partners. You may think of Segment as black box for delivering all this data. You send data once to its tracking API, and it coordinates translating data and delivering it to many destinations.

Comparing billions of rows per day

Segment loads billions of rows of arbitrary events into our customers’ data warehouses every single day. How do we test a change that can corrupt only one field in millions, across thousands of warehouses? How can we verify the output when we don’t even control the input?