DATACASS-60: updated root readme.md
This commit is contained in:
81
README.md
81
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||
## Quick Start
|
||||
|
||||
To begin working with ``spring-cassandra`` or ``spring-data-cassandra``, add the Spring Maven Snapshot Repository to your ``pom.xml``.
|
||||
To begin working with ``spring-cql`` or ``spring-data-cassandra``, add the Spring Maven Snapshot Repository to your ``pom.xml``.
|
||||
|
||||
<repository>
|
||||
<id>spring-libs-snapshot</id>
|
||||
@@ -12,14 +12,14 @@ To begin working with ``spring-cassandra`` or ``spring-data-cassandra``, add the
|
||||
</snapshots>
|
||||
</repository>
|
||||
|
||||
### CQL Only (spring-cql)
|
||||
### CQL Only (``spring-cql``)
|
||||
|
||||
*Maven Coordinates*
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-cql</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>1.0.0.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
*Minimal Spring XML Configuration*
|
||||
@@ -54,14 +54,14 @@ To begin working with ``spring-cassandra`` or ``spring-data-cassandra``, add the
|
||||
// ...
|
||||
}
|
||||
|
||||
### CQL and Object Mapping (spring-data-cassandra)
|
||||
### CQL and Object Mapping (``spring-data-cassandra``)
|
||||
|
||||
*Maven Coordinates*
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-cassandra</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>1.0.0.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
*Minimal Spring XML Configuration*
|
||||
@@ -93,20 +93,11 @@ To begin working with ``spring-cassandra`` or ``spring-data-cassandra``, add the
|
||||
}
|
||||
|
||||
|
||||
## Release Preview
|
||||
## What's included
|
||||
|
||||
The goal of this release preview is to publish the pieces of spring-data-cassandra as they become available
|
||||
so that users of the module can start to familiarize themselves with the components, and ultimately to provide
|
||||
the development team feedback. We hope this iterative approach produces the most usable and developer friendly
|
||||
``spring-data-cassandra`` repository.
|
||||
There are two modules included in the ``spring-data-cassandra`` repository: ``spring-cql`` and ``spring-data-cassandra``.
|
||||
|
||||
### What's included (Q1 - 2014)
|
||||
|
||||
There are two modules included in the ``spring-data-cassandra`` repository: ``spring-cassandra`` and ``spring-data-cassandra``.
|
||||
|
||||
_Note: we are considering consolidating both modules into one for convenience._
|
||||
|
||||
#### Module ``spring-cassandra``
|
||||
### Module ``spring-cql``
|
||||
|
||||
This is the low-level core template framework, like the ones you are used to using on all your Spring projects. Our
|
||||
``CqlTemplate`` provides everything you need for working with Cassandra using Spring's familiar template pattern in a manner very similar to Spring's ``JdbcTemplate``.
|
||||
@@ -122,21 +113,17 @@ The module also offers convenient builder pattern classes to easily specify the
|
||||
|
||||
The support for Spring JavaConfig and a Spring Cassandra XML namespace makes it easy to configure your context to work with Cassandra, including XML namespace support for automatic keyspace creations, drops & more, which can be convenient when writing integration tests.
|
||||
|
||||
#### Module ``spring-data-cassandra``
|
||||
### Module ``spring-data-cassandra``
|
||||
|
||||
The ``spring-data-cassandra`` module depends on the ``spring-cassandra`` module and adds the familiar Spring Data features like repositories and lightweight POJO persistence.
|
||||
The ``spring-data-cassandra`` module depends on the ``spring-cql`` module and adds the familiar Spring Data features like repositories and lightweight POJO persistence.
|
||||
|
||||
__Note: As of 7 Feb 2014, module ``spring-data-cassandra`` is functional!__
|
||||
|
||||
We are actively working on its completion, but wanted to make the lower level Cassandra template functionality available to the Spring and Cassandra communities.
|
||||
|
||||
#### Best practices
|
||||
### Best practices
|
||||
|
||||
We have worked closely with the DataStax Driver Engineering team to ensure that our implementation around their native
|
||||
CQL Driver takes advantage of all that it has to offer. If you need access to more than one keyspace in your application,
|
||||
create more than one ``CqlTemplate`` (one per session, one session per keyspace), then use the appropriate template instance where needed.
|
||||
create more than one ``CqlTemplate`` (one ``CqlTemplate`` per session, one session per keyspace), then use the appropriate template instance where needed.
|
||||
|
||||
Here are some considerations when designing your application for use with ``spring-cassandra``.
|
||||
Here are some considerations when designing your application for use with ``spring-cql``.
|
||||
|
||||
* When creating a template, wire in a single ``Session`` per keyspace.
|
||||
* ``Session`` is threadsafe, so only use one per keyspace per application context!
|
||||
@@ -144,30 +131,22 @@ Here are some considerations when designing your application for use with ``spri
|
||||
* The DataStax Java Driver handles all failover and retry logic for you. Become familiar with the [Driver Documentation](http://www.datastax.com/documentation/developer/java-driver/1.0/webhelp/index.html), which will help you configure your ``Cluster``.
|
||||
* If you are using a Cassandra ``Cluster`` spanning multiple data centers, please be insure to include hosts from all data centers in your contact points.
|
||||
|
||||
#### High Performance Ingestion
|
||||
### High Performance Ingestion
|
||||
|
||||
We have included a variety of overloaded ``ingest()`` methods in ``CqlTemplate`` for high performance batch writes.
|
||||
|
||||
### What's Next (early Q1 - 2014): Spring _Data_ Cassandra
|
||||
|
||||
The next round of work to do is to complete module ``spring-data-cassandra``, while taking feedback from the community's use of module ``spring-cassandra``. We are already well on our way to completion.
|
||||
|
||||
#### Cassandra Repository
|
||||
### Cassandra Repository
|
||||
|
||||
The base Spring Data Repository interface for Cassandra is ``CassandraRepository``.
|
||||
|
||||
#### Cassandra Template
|
||||
### CassandraTemplate
|
||||
|
||||
``CassandraTemplate`` extends ``CqlTemplate`` to provide even more interaction with Cassandra using annotated POJOs.
|
||||
The Spring Data ``CassandraRepository`` implementation is a client of ``CassandraTemplate``. This _data_ template gives the developer the capability of working with annotated POJOs and the template pattern without the requirement of the Spring Data ``Repository`` interface, in addition to the familiar Spring Data ``Repository`` concepts.
|
||||
``CassandraTemplate`` extends ``CqlTemplate``, adding mapping information so you can work with Cassandra using annotated POJOs.
|
||||
The Spring Data ``CassandraRepository`` implementation also happens to be a client of ``CassandraTemplate`` so, if necessary, a developer can work with annotated POJOs and the template pattern without ever using ``CassandraRespository``.
|
||||
|
||||
#### Cassandra Admin Template
|
||||
### Cassandra Admin Template
|
||||
|
||||
This is another Spring template class to help you with all of your keyspace and table administration tasks.
|
||||
|
||||
#### Official Reference Guide
|
||||
|
||||
Once we have all the inner workings of the ``CassandraRepository`` interface completed, we will publish a full reference guide on using all of the features in ``spring-data-cassandra``.
|
||||
This is another Spring template class to help you with your keyspace and table administration tasks.
|
||||
|
||||
## CqlTemplate Examples
|
||||
|
||||
@@ -216,23 +195,6 @@ Here is a very basic example to get your project connected to Cassandra running
|
||||
}
|
||||
}
|
||||
|
||||
## Current Status
|
||||
|
||||
This community-led [Spring Data](http://projects.spring.io/spring-data)
|
||||
subproject is well underway.
|
||||
|
||||
A first milestone (M1) is expected sometime in early 1Q14 built on the
|
||||
following artifacts (or more recent versions thereof):
|
||||
|
||||
* Spring Data Commons 1.8.x
|
||||
* Cassandra 2.0
|
||||
* Datastax Java Driver 2.0.X
|
||||
* JDK 1.6+
|
||||
|
||||
The GA release is expected as part of the Spring
|
||||
Data release train [Dijkstra](https://github.com/spring-projects/spring-data-commons/wiki/Release-Train-Dijkstra).
|
||||
|
||||
|
||||
## Source Repository & Issue Tracking
|
||||
|
||||
Source for this module is hosted on GitHub in [Spring Projects](https://github.com/spring-projects/spring-data-cassandra).
|
||||
@@ -268,7 +230,7 @@ below:
|
||||
* David Webb: dwebb _at_ prowaveconsulting _dot_ com
|
||||
* Matthew Adams: matthew _dot_ adams _at_ scispike _dot_ com
|
||||
|
||||
Also, developer discussions are being hosted via a [Spring Data Cassandra Google Group](https://groups.google.com/forum/#!forum/spring-data-cassandra).
|
||||
Also, developer discussions are being hosted on [StackOverflow](https://www.stackoverflow.com) using the tag ``spring-data-cassandra``.
|
||||
|
||||
## Contributing Individuals
|
||||
|
||||
@@ -283,7 +245,6 @@ companies and individuals:
|
||||
|
||||
* [Prowave Consulting](http://www.prowaveconsulting.com) - David Webb
|
||||
* [SciSpike](http://www.scispike.com) - Matthew Adams
|
||||
* [VHA](http://www.vha.com)
|
||||
|
||||
The following companies and individuals are also generously providing
|
||||
support:
|
||||
|
||||
Reference in New Issue
Block a user