Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A AT field storage which stores values to a cassandra database

Project Description

Abstract

An Archetype field storage which uses a cassandra backing store.

Reasoning

For a customer project I’m doing right now I’m using cassandra as a storage backend for Plone FormGen data. Now the need did arise to also have specific fields of AT content types to be stored in cassandra as well.

Design decisions

  • configuration of the cassandra clients done by using plone.app.registry
  • per-field configurable keyspace and column family for fields
  • The UID of the instance object is used as a key in the specified column family (remember that an insert in cassandra is essentially an update)
  • using pycassa as glue library

Usage

Import the storage and attach it to a field in your AT Schema:

from collective.atcassandrastorage.storage import CassandraFieldStorage

MySchema = atapi.Schema(
      ...
      StringField("afield",
              storage=CassandraFieldStorage("AKeyspace", "AColumnFamily"),
              ),
      ...
)

This will store and fetch data for afield from a cassandra database using the keyspace AKeyspace and the column family AColumnFamily.

Configuration

Configuration is done using plone.app.registry. Visit the registry in Plone’s control panel and configure the values, they should be pretty much obvious.

Dependencies

plone.app.registry
for configuration
pycassa
python Cassandra glue library

Changelog

0.2 (2010-05-31)

  • Added tests. [seletz]
  • Introduce IInstanceKey interface to allow to overwrite instance key calculation. [seletz]

0.1 (2010-05-29)

  • Initial release [seletz]
Release History

Release History

This version
History Node

0.2

History Node

0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
collective.atcassandrastorage-0.2.tar.gz (15.8 kB) Copy SHA256 Checksum SHA256 Source May 31, 2010

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting