Giter Site home page Giter Site logo

annastuchlik / java-driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scylladb/java-driver

0.0 0.0 0.0 26.66 MB

ScyllaDB Java Driver for ScyllaDB and Apache Cassandra, based on the DataStax Java Driver

License: Apache License 2.0

Shell 0.03% Python 0.28% Java 99.67% Groovy 0.02%

java-driver's Introduction

Scylla Java Driver for Scylla and Apache Cassandra®

If you're reading this on github.com, please note that this is the readme for the development version and that some features described here might not yet have been released. You can find the documentation for the latest version through the Java driver docs or via the release tags, e.g. 3.11.2.0.

A modern, feature-rich and highly tunable Java client library for Apache Cassandra (2.1+) and using exclusively Cassandra's binary protocol and Cassandra Query Language v3.

The Scylla Java Driver is a fork from DataStax Java Driver, including some non-breaking changes for Scylla optimization, with more updates planned.

Features:

  • Like all Scylla Drivers, the Scylla Java Driver is Shard Aware and contains extensions for a tokenAwareHostPolicy. Using this policy, the driver can select a connection to a particular shard based on the shard’s token. As a result, latency is significantly reduced because there is no need to pass data between the shards.
  • Sync and Async API
  • Simple, Prepared, and Batch statements
  • Asynchronous IO, parallel execution, request pipelining
  • Connection pooling
  • Auto node discovery
  • Automatic reconnection
  • Configurable load balancing and retry policies
  • Works with any cluster size
  • Query builder
  • Object mapper

The driver architecture is based on layers. At the bottom lies the driver core. This core handles everything related to the connections to a Cassandra cluster (for example, connection pool, discovering new nodes, etc.) and exposes a simple, relatively low-level API on top of which higher level layers can be built.

The driver contains the following modules:

  • driver-core: the core layer.
  • driver-mapping: the object mapper.
  • driver-extras: optional features for the Java driver.
  • driver-examples: example applications using the other modules which are only meant for demonstration purposes.
  • driver-tests: tests for the java-driver.

Useful links:

Getting the driver

The last release of the driver is available on Maven Central. You can install it in your application using the following Maven dependency

<dependency>
  <groupId>com.scylladb</groupId>
  <artifactId>scylla-driver-core</artifactId>
  <version>3.11.2.0</version>
</dependency>

Note that the object mapper is published as a separate artifact:

<dependency>
  <groupId>com.scylladb</groupId>
  <artifactId>scylla-driver-mapping</artifactId>
  <version>3.11.2.0</version>
</dependency>

The 'extras' module is also published as a separate artifact:

<dependency>
  <groupId>com.scylladb</groupId>
  <artifactId>scylla-driver-extras</artifactId>
  <version>3.11.2.0</version>
</dependency>

We also provide a shaded JAR to avoid the explicit dependency to Netty.

Compatibility

The Java client driver 3.11.2.0 (branch 3.x) is compatible with Scylla and Apache Cassandra 2.1, 2.2, 3.0+.

UDT and tuple support is available only when using Apache Cassandra 2.1 or higher.

Other features are available only when using Apache Cassandra 2.0 or higher (e.g. result set paging, lightweight transactions)

The java driver supports Java JDK versions 8 and above.

Disclaimer: Some Scylla products might partially work on big-endian systems, but Scylla does not officially support these systems.

Upgrading from previous versions

If you are upgrading from a previous version of the driver, be sure to have a look at the upgrade guide.

License

© DataStax, Inc. © ScyllaDB, all rights reserved.

© 2016, The Apache Software Foundation.

Apache®, Apache Cassandra®, Cassandra®, the Apache feather logo and the Apache Cassandra® Eye logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks.

java-driver's People

Contributors

absurdfarce avatar adutra avatar al3xandru avatar alexott avatar beobal avatar blair avatar bouncheck avatar damoon avatar dgarcia360 avatar djatnieks avatar eevans avatar emerkle826 avatar emolsson avatar gregbestland avatar grighetto avatar haaawk avatar ifesdjeen avatar joaquincasares avatar kishkaru avatar lauranovich avatar lorak-mmk avatar mebigfatguy avatar mkjellman avatar newkek avatar normanmaurer avatar olim7t avatar pingtimeout avatar snazy avatar tolbertam avatar tommystendahl 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.