A newer version of this documentation is available.

View Latest

Integrations & Ecosystem

    +
    The Couchbase Java SDK is often used with unofficial and third party tools and applications to integrate into broader language and platform ecosystems, and across data lakes in heterogeneous environments.

    Couchbase SDKs are often used with unofficial and third party tools and applications to integrate into broader language and platform ecosystems, and across data lakes in heterogeneous environments. These are some of the applications that you need to be aware of.

    Couchbase Integrations

    Couchbase engineers are involved to a greater or lesser degree with projects that help get the SDK working with various common challenges.

    The Couchbase Java SDK is a first class citizen in the Spring Data world, and there are many examples of using the SDK with Spring Boot and Spring Data (and Spring Data JPA).

    Couchbase also supports integrating with Spark.

    Across the Ecosystem

    Although unsupported, and not maintained by Couchbase, several projects are worth a look at. We offer brief notes on what you should consider if integrating with them:

    Many dataflow tools integrate with Couchbase, including Apache NiFi, Apache Camel, and Apache Flink. Why not make development easier, and use Apache Zeppelin?

    Community

    There are too many third party integrations to evaluate and list (and absence of a mention in these pages is no judgement on importance or quality), but the following are well worth investigating:

    Couchmove is an open-source Java migration tool for Couchbase, inspired by Flyway. It can help you "track, manage and apply changes, in your Couchbase buckets." The philosophy of the project claims to "strongly favor simplicity and convention over configuration".

    In CouchMove you write your migrations in N1QL, while in CouchVersion you can write them using the Java SDK, which essentially allow you to create more complex migrations. CouchVersion provides a new approach for adding changes (change sets) based on Java classes and methods with appropriate annotations.