collective.atcassandrastorage
- 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
Links
- cassandra
- archetypes
- pycassa
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 files for collective.atcassandrastorage 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| collective.atcassandrastorage-0.2.tar.gz | 15.8 kB | Details |
Release files / collective.atcassandrastorage-0.2.tar.gz
| Download URL | collective.atcassandrastorage-0.2.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0dad4c0a2d364aff5f170187f4e931040fe3f3355261793c0ea7a79e253586d
|
|
BLAKE2b-256 checksum How to use checksums |
8988836f704c21f3366f7230afd4265ca180ce87d4f5d6cb80cb129b6dfb123c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |