Pandra icon indicating copy to clipboard operation
Pandra copied to clipboard

Cassandra abstraction layer and keyspace scaffolder for PHP developers --- ABANDONED.

== Welcome to the Pandra toolkit (0.2.1) ==

Copyright (C) 2010 Michael Pearson [email protected]

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

  • What is it?

      Pandra (PHP-Cassandra) is a light-weight PHP based create/read/update/delete (CRUD) layer for the Cassandra distributed datastore.
      Sitting ontop of the generated Thrift Interface files, it suits as a factory patterned rapid prototyping tool.
    
      "Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
       Cassandra brings together the distributed systems technologies from Dynamo and the data model from Google's BigTable.
       Like Dynamo, Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems.
    
       Cassandra was open sourced by Facebook in 2008, where it was designed by one of the authors of Amazon's Dynamo.
       In a lot of ways you can think of Cassandra as Dynamo 2.0. Cassandra is in production use at Facebook but is still under heavy development."
       - http://incubator.apache.org/cassandra/
    
      Pandra can be installed and interfaced in a few minutes, building your API or web service on a highly redundant datastore can be realised with relative ease.
    
  • Key Features

      * Clear demarcation of columfamily objects from the underlying cluster connection handlers
    
      * Supports any number of Cassandra nodes, tweakable consistency levels
    
      * Extensible type definition, validation and callback layers
    
      * Supports UUID types
    
      * Flexible arrangement of Keyspaces, Column Families and Super Columns (implements ArrayAccess)
    
      * Schema aware and factory objects
    
      * Extensible Logging interface
    
  • Dependencies

      * Cassandra >= 0.6
    
      * Thrift Interface (tested cassandra.thrift and pre-generated files are packaged)
    
      * PHP >= 5.3
    
      - Optional
    
          * Model Generation - syck yaml
    
          * Caching - APC or Memcached (PECL)
    
          * Logging - Syslog, Sendmail and FirePHP
    
  • Download

      Latest snapshot :  git clone git://github.com/mjpearson/Pandra.git .
      - or -
      Latest stable tag : http://github.com/mjpearson/Pandra/tarball/0.2.1
    
  • Community

      The Pandra homepage is http://www.phpgrease.net/projects/Pandra
    
      For feedback, bugs and general support discussion see http://groups.google.com/group/pandra-user
    
      Developers : http://groups.google.com/group/pandra-dev
    
      Github users may also log bugs directly via http://github.com/mjpearson/pandra/issues