NAME
DBD::Cassandra - Database driver for Cassandra's CQL3
EXAMPLE
use DBI;
my $dbh = DBI->connect("dbi:Cassandra:host=localhost;keyspace=test", $user, $password);
my $rows = $dbh->selectall_arrayref("SELECT id, field_one, field_two FROM some_table");
for my $row (@$rows) {
# Do something with your row
}
$dbh->disconnect;
DESCRIPTION
DBD::Cassandra is a Perl5 Database Interface driver for Cassandra, using the CQL3 query language.
Class Methods
- connect
-
use DBI; $dsn = "dbi:Cassandra:database=$database"; $dsn = "dbi:Cassandra:keyspace=$keyspace;host=$hostname;port=$port";- keyspace
- database
- db
-
Optionally, a keyspace to use by default. If this is not specified, all queries must include the keyspace name.
- hostname
-
Hostname to connect to. Defaults to
localhost - port
-
Port number to connect to. Defaults to
3306 - compression
-
The compression method we should use for the connection. Currently Cassandra allows
lz4andsnappy. We default tolz4, which can be disabled by settingcompression=none.Only used for data frames longer than 512 bytes.
- cql_version
-
There are several versions of the CQL language and this option lets you pick one. Defaults to
3.0.0. Consult your Cassandra manual to see which versions your database supports.
CAVEATS, BUGS, TODO
There is currently no support for transactions.
begin_workwill die if you try to use it.Thread support is untested. Use at your own risk.
Not all Cassandra data types are supported. These are currently supported:
ascii
bigint
blob
boolean
custom
double
float
int
text
varchar
Cassandra/CQL3 is strict about the queries you write. When switching from other databases, such as MySQL, this may come as a surprise. This module supports
quote(..), but try to use prepared statements instead. They will save you a lot of trouble.
LICENSE
This module is released under the same license as Perl itself.
AUTHORS
Tom van der Woerdt, tvdw@cpan.org