GeoMesa’s Cassandra support
One great new feature of GeoMesa 1.2 is its prototype support for Apache Cassandra. This open-source key-value NoSQL database was originally developed at Facebook to let users search their inboxes more efficiently than the MySQL database that Facebook had been using. (The Cassandra authors’ ACM SIGOPS Operating Systems Review paper provides interesting background on their design choices.) It was open-sourced in 2008 and is now used in large-scale systems at Apple, Facebook, Netflix, Reddit, and Twitter.
Cassandra is popular for its easy setup and administration, its fault tolerance, its ability to work with widely distributed nodes (for example, on different continents) and its optional Hadoop integration.
This last point is interesting, when compared with other systems that are either alternatives to Hadoop or built to run on top of it. The “Cassandra File System” (CFS), while compatible with the Hadoop File System (HDFS), lets you use Cassandra without Hadoop, and Cassandra includes native support for Apache Pig and Hive, tools that are typically associated with Hadoop. It’s not difficult to find comparisons between Hadoop and Cassandra for people who are trying to choose between them. On the other hand, the CFS’s compatibility with HDFS means that it can still run on top of Hadoop, which makes it easier to integrate with other Hadoop-based tools.
A great new tool that you can use with Cassandra—whether you’re running it on top of Hadoop or not—is GeoMesa. At this early stage of GeoMesa’s ability to work with Cassandra, support is limited to point/time data, but the vast majority of high-volume spatio-temporal datasets are event data that map directly to this data type, so GeoMesa is still bringing a lot of spatiotemporal analysis and visualization support to Cassandra-based data. You can find additional information on the current state of this support (which will be updated as support expands) in the README file for GeoMesa’s implementation of a Cassandra data store. The file also includes sample code for connecting to a Cassandra data store and information on using one from GeoServer.
Interested in learning more about what GeoMesa can bring to your Cassandra applications? Contact us at firstname.lastname@example.org.