# Roshi: a CRDT system for timestamped events

DevFeed: [Roshi: a CRDT system for timestamped events](<https://devfeed.tech/articles/roshi-a-crdt-system-for-timestamped-events-2130.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//roshi-a-crdt-system-for-timestamped-events>)

Published: 2014-05-09T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Core Infra](<https://devfeed.tech/topics/core-infra.md>), [Apache Cassandra](<https://devfeed.tech/topics/cassandra.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [cassandra](<https://devfeed.tech/tags/cassandra.md>), [data](<https://devfeed.tech/tags/data.md>), [event](<https://devfeed.tech/tags/event.md>), [go](<https://devfeed.tech/tags/go.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [scale](<https://devfeed.tech/tags/scale.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [streams](<https://devfeed.tech/tags/streams.md>)

## AI overview

SoundCloud describes Roshi, a CRDT system for timestamped events, in the context of building a large-scale social stream. The article contrasts the existing Cassandra-based fan-out-on-write model with fan-in-on-read, which stores events in users' outboxes and merges them when streams are requested. The alternative reduces writes and storage costs while making reads more challenging because many event streams must be time-sorted and merged.

## Source excerpt

Let's talk about the stream. The SoundCloud stream represents stuff that's relevant to you primarily via your social graph, arranged in time...