Code Monkey home page Code Monkey logo

elassandra's Introduction

Elassandra

Elassandra is a fork of Elasticsearch modified to run on top of Apache Cassandra in a scalable and resilient peer-to-peer architecture. Elasticsearch code is embedded in Cassanda nodes providing advanced search features on Cassandra tables and Cassandra serve as an Elasticsearch data and configuration store.

Elassandra architecture

Elassandra supports Cassandra vnodes and scale horizontally by adding more nodes. A demo video is available on youtube.

Elassandra demo

News

Build Status

New project documentation available at doc.elassandra.io.

  • 2016-09-05 Release 2.1.1-17 Add spark support with a modified version of elasticsearch-hadoop-2.2
  • 2016-08-12 Release 2.1.1-16 Upgrade to cassandra 2.2.7
  • 2016-07-10 Release 2.1.1-15 Bug fix
  • 2016-06-21 Release 2.1.1-12 Add support for index partitioning and cross-datacenter mapping replication
  • 2016-05-10 Release 2.1.1-9 Upgrade to cassandra 2.2.5
  • 2016-04-17 Release 2.1.1-8 New feature, index cassandra static columns
  • 2016-03-18 Release 2.1.1-6 Add support for SQL plugin (from NLPchina) and JDBC driver (from Anchormen).
  • 2016-02-16 Release 2.1.1-2 Remove build dependency to elasticsearch parent project.
  • 2016-02-01 Release 2.1.1-1 Add support for parent-child relationship.
  • 2016-01-28 Release 2.1.1 based on Elasticsearch 2.1.1 and cassandra 2.2.4.
  • 2015-12-20 Release 0.5 Re-index you data from cassandra 2.2.4 with zero downtime.
  • 2015-11-15 Release 0.4 New elassandra tarball ready-to-run.

Benefits of Elassandra

Show short intro: Elassandra short intro

For cassandra users, elassandra provides elasticsearch features :

  • Cassandra update are automatically indexed in Elasticsearch.
  • Full-Text and spatial search on your cassandra data.
  • Real-time aggregation (does not require Spark or Hadoop to group by)
  • Provide search on multiple keyspace and tables in one query.
  • Provide automatic schema creation and support nested document using User Defined Types.
  • Provide a read/write JSON REST access to cassandra data (for indexed data)
  • There are many elasticsearch plugins to import data in cassandra or to visualize your data, with Kibana for example.

For Elasticsearch users, elassandra provides useful features :

  • Change the mapping and re-index your data from cassandra with zero downtime.
  • Cassandra could be your unique datastore for indexed and non-indexed data, it's easier to manage and secure. Source documents are now stored in Cassandra, reducing disk space if you need a noSql database and elasticsearch.
  • In elassandra, Elasticsearch is masterless and split-brain resistant because cluster state is now managed within a cassandra lightweight transactions.
  • Write operations are not more restricted to one primary shards, but distributed on all cassandra nodes in a virtual datacenter. Number of shards does not limit your write throughput, just add some elassandra nodes to increase both read and write throughput.
  • Elasticsearch indices can be replicated between many cassandra datacenters, allowing to write to the closest datacenter and search globally.
  • The cassandra driver is Datacenter and Token aware.
  • Hadoop Hive, Pig and Spark support with pushdown predicate.
  • Cassandra supports partial update and distributed counters.

Known bugs and restrictions

  • Cassandra

  • Thrift is not supported, only CQL3.

  • CQL3 truncate has not effect on elasticsearch indices.

  • Elasticsearch

  • tribe, percolate, snapshots and recovery service not tested.

  • Geoshape type not supported.

  • Any Elasticsearch metadata update require the LOCAL_QUORUM (more than half the number of nodes in the elassandra datacenter)

  • Document version is alaways 1 for all documents (because cassandra index rebuild would increment version many times, document version become meaningless).

Contribute

Contributors are welcome to test and enhance Elassandra to make it production ready.

License

This software is licensed under the Apache License, version 2 ("ALv2"), quoted below.

Copyright 2015, Vincent Royer ([email protected]).

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.

elassandra's People

Contributors

elassandra avatar rtrouville avatar vroyer avatar xcourmont avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.