MyNixOS website logo
Description

A high level driver for the Cassandra datastore.

The objective is to completely isolate away the thrift layer, providing a more idiomatic and naruall Haskell experience working with Cassandra. Be sure to check out the README on Github for some more explanation and Release Notes, which is helpful in talking about what this library can do.

Certain parts of the API was inspired by pycassa (Python client) and hscassandra (on Hackage).

Please see the Github repository for more detailed documentation, release notes and examples.

A brief explanation of modules:

  • Database.Cassandra.Basic: Contains a low level, simple implementation of Cassandra interaction using the thrift API underneath.

  • Database.Cassandra.Marshall: Intended to be the main high level module that you should use, Marshall allows you to pick the serialization strategy you would like to use at each function call. We recommend using casSafeCopy due to its support for evolving data types, although casJSON maybe another popular choice.

  • Database.Cassandra.JSON: (Now deprecated; use Marshall instead) A higher level API that operates on values with ToJSON and FromJSON isntances from the aeson library. This module has in part been inspired by Bryan O'Sullivan's riak client for Haskell.

  • Database.Cassandra.Pool: Handles a pool of connections to multiple servers in a cluster, splitting the load among them.

  • Database.Cassandra.Pack: Handles column types that Cassandra recognizes and adds support for Composite Columns.

  • Database.Cassandra.Types: A common set of types used everywhere.

Potential TODOs include:

  • Support for counters and batch mutators

  • Support for database admin operations

Metadata

Version

0.7.1

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows