Cassandra storage backend¶
This document is specific to the Cassandra backend.
Create keyspace and columnfamilies¶
Keyspace and columnfamilies for your feeds can be created via cqlengine’s sync_table.
from myapp.feeds import MyCassandraFeed
from cqlengine.management import sync_table
timeline = MyCassandraFeed.get_timeline_storage()
sync_table(timeline.model)
sync_table can also create missing columns but it will never delete removed columns.
Use a custom activity model¶
Since the Cassandra backend is using CQL3 column families, activities have a predefined schema. Cqlengine is used to read/write data from and to Cassandra.
from stream_framework.storage.cassandra import models
class MyCustomActivity(models.Activity)
actor = columns.Bytes(required=False)
class MySuperAwesomeFeed(CassandraFeed):
timeline_model = MyCustomActivity
Remember to resync your column family when you add new columns (see above).