Skip to main content

A AT field storage which stores values to a cassandra database

Project description

Author:

Stefan Eletzhofer

Date:
2010-05-28

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]

Project details


Download files

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

Source Distribution

collective.atcassandrastorage-0.2.tar.gz (15.8 kB view details)

Uploaded Source

File details

Details for the file collective.atcassandrastorage-0.2.tar.gz.

File metadata

File hashes

Hashes for collective.atcassandrastorage-0.2.tar.gz
Algorithm Hash digest
SHA256 f0dad4c0a2d364aff5f170187f4e931040fe3f3355261793c0ea7a79e253586d
MD5 441df1a246a15c64d48f041336ff74cb
BLAKE2b-256 8988836f704c21f3366f7230afd4265ca180ce87d4f5d6cb80cb129b6dfb123c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page