-
Notifications
You must be signed in to change notification settings - Fork 11
/
README
79 lines (47 loc) · 3.17 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
== 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