Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 3.62 KB

README.md

File metadata and controls

73 lines (55 loc) · 3.62 KB

Overview

The IBMStreams/streamsx.dps GitHub repository is home to the Streams toolkit named DPS (Distributed Process Store). This Streams toolkit allows a simple way for the SPL, C++ and Java operators belonging to a single or multiple applications to share the application specific state information via an external K/V store. It does this via a collection of APIs that can be called from any part of the SPL, C++ and Java operator code.

Following are the external NoSQL K/V stores that can be configured to work with the DPS toolkit for the purpose of sharing application state in a distributed manner.

  1. Memcached
  2. Redis [version 2.x that doesn't have a built-in cluster feature]
  3. Cassandra
  4. IBM Cloudant
  5. HBase
  6. Mongo
  7. Couchbase
  8. Redis-Cluster [New cluster feature is available in Redis version 3 and above]
  9. Valkey

February/05/2025: Note about Redis and Valkey.

In March/2024, the Redis company switched the licensing for the Redis core code repository from the free of cost BSD license to for-fee proprietary licenses. This is in effect for any Redis version higher than 7.2.5. This prompted a large portion of the user and developer community, led by the Linux Foundation, to fork the Redis code v7.2.5 under the new name Valkey, retaining the BSD license. Valkey looks and works exactly like redis except for its name and its free of cost availability as open source.

DPS toolkit supports redis as before for the free versions up to v7.2.5 and any redis proprietary paid versions higher than v7.2.5. DPS toolkit creator Senthil Nathan completed the testing to ensure that DPS toolkit also supports Valkey v8.0.2 and higher. DPS toolkit users can install Valkey single server or a cluster with TLS or non-TLS and password or no-password options and use the DPS toolkit configuration as before with redis or redis-cluster or redis-cluster-plus-plus as the backend database name. No code changes will be required in the DPS enabled applications for them to work with Valkey.

DPS toolkit origins

This toolkit evolved from the early research work done at the IBM.T.J.Watson Research Center, Yorktown Heights, New York. The links below highlight the origins of this asset.

Technical Positioning

Podcast

Documentation

For an API description see the GitHub pages for this toolkit. The documentation is also available locally in the doc folder, after building the toolkit. For configuration hints and other information, see the Wiki pages

Other things to consider when working with this toolkit:

Building the toolkit

To build the toolkit perform the following steps:

  1. Clone the repository
    git clone https://github.com/IBMStreams/streamsx.dps.git
  2. Build the toolkit
    make clean all

Prerequisuites
you need to have the following rpm packages installed on the build machine:

curl
curl-devel
lua
lua-devel
openldap-devel
openssl-devel
cyrus-sasl
cyrus-sasl-devel

Learn more about Streams