Giter Club home page Giter Club logo

intravert-ug's Introduction

Intravert

An experimental client and transport for Apache Cassandra based on the vert.x framework. This README is still in progress.

Overview

Intravert is built on top of Cassandra. It is not a fork. Rather, it is a plugin which augments (or replaces - up to you) the default CQL and Thrift transports.

Game Changer Features

Intravert is more then an RPC library, query language, or transport for Cassandra. IntraVert gives access to new powerful ways of working with Cassandra.

  • Multiple variations on server side processing allowing users to perform arbitary programatic transformations on the server side before the results are return to the client.

  • GETREF feature can be used to execute procedure and join like logic in a single RPC request.

  • A simple sync/async API and Transport that runs over HTTP allows clients to chose from JSON, JSON compressed by smile, and even big fat sexy XML.

  • No more dealing with byte[] or ByteBuffers. Intravert lets users work with simple familiar objects like String or Integer. See Types and Composites.

Motivations

From an application standpoint, if you can't do sparse, wide rows, you break compatibility with 90% of Cassandra applications. So that rules out almost everything; if you can't provide the same data model, you're creating fragmentation, not pluggability.

Intravert was conceived of and designed by long time users of Cassandra who have written numerous real-world applications built on the existing Thrift API.

This API had it's warts for sure, but it was felt among us that the direction of the Cassandra project with regards to the introduction of CQL sidestepped some of the core reasons we chose Cassandra in the first place.

Therefore, Intravert is a new approach designed to leverage what we've learned down in the trenches writing and deploying applications which use Cassandra. Intravert is not intended as a fork, thumb in the eye, or any other detrimental action to the Cassandra community or commercial vendors around such. It is simply a purpose built tool to facilitate GettingShitDone™ with real world applications.

Spend some time looking through the documentation, test cases, and examples to see if this approach makes sense for your architecture.

Getting Started

You can find a brief overview located here: https://github.com/zznate/intravert-ug/wiki

If you are super impatient, download the source, use maven to install:

mvn install

Then use maven executor to start the IntravertDeamon thusly:

mvn -e exec:java -Dexec.mainClass="org.usergrid.vx.server.IntravertDeamon"

To ensure that everything is working, invoke the say_hello.sh script in the examples director:

./examples/say_hello.sh

You can then try some of the additional examples for either the rest or json sub directories.

intravert-ug's People

Contributors

edwardcapriolo avatar zznate avatar boneill42 avatar jsanda avatar

Watchers

James Cloos avatar vanguard_space avatar  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.