Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for new toolkit streamsx.cloudant #127

Closed
brandtol opened this issue Oct 18, 2017 · 6 comments
Closed

Proposal for new toolkit streamsx.cloudant #127

brandtol opened this issue Oct 18, 2017 · 6 comments

Comments

@brandtol
Copy link

Cloudant is an IBM owned non-sql database, available in Bluemix and as on-premise version. It stores JSON documents (and possibly binary attachments) identified by a key and a revision number.
(https://en.wikipedia.org/wiki/Cloudant).

During recent projects the need came up to have an interface from IBM Streams to Cloudants "Changes" API. This API allows users to connect and receive all database changes as they happen, in a continuous feed. One use case for this is to synchronize (and possibly transform) data from Cloudant to another database.
(https://console.bluemix.net/docs/services/Cloudant/api/database.html#get-changes)

I propose to create a new toolkit named streamsx.cloudant, that initially contains three operators:

  • ChangesSource connects to the changes API and ingests changed document IDs into Streams
    (the operator shall be usable as start of a consistent region)
  • DocumentSource fetches a document from the database based on its ID. The document is send downstream as JSON string.
  • DocumentSink stores a tuple (or JSON string) as document in the database

The toolkit will use the official Cloudant Java client library (https://github.com/cloudant/java-cloudant).

@ddebrunner
Copy link
Member

ddebrunner commented Oct 18, 2017

+1 with usual caveat that operators are named on what they are doing, not just Source and Sink, e.g. DocumentFetch, DocumentStore.

@mikespicer
Copy link
Collaborator

+1

@leongor
Copy link

leongor commented Oct 18, 2017 via email

@chanskw
Copy link
Collaborator

chanskw commented Oct 20, 2017

+1

Suggestion to name the operators as follows:
ChangeSource -> ScanDocument (similar to directory scan)
DocumentSource -> FetchDocument
DocumentSink -> StoreDocument

@chanskw
Copy link
Collaborator

chanskw commented Oct 20, 2017

Can you please let me know who should become a committer to this project?

@chanskw
Copy link
Collaborator

chanskw commented Oct 20, 2017

Created repo, please let me know if you need to add more committers.

@chanskw chanskw closed this as completed Oct 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants