Ankush
Ankush

Reputation: 93

How does JanusGraph Handles, Data consistency between Elasticsearch and ScyllaDb(Cassandra)

We are planning to use JanusGraph with ScyllaDb as our storage backend and elasticsearch as our index backend in production. ElasticSearch indexes the data stored in ScyllaDB, and we are not controlling how and when data is written in elasticSearch, we just mention fields (vertex Properties) to be indexed.

I have gone through Eventually-Consistent Storage Backends. But it will be really helpful for us if someone can give more details on following points:

  1. What are possible scenarios where Data could be in elasticsearch but not in ScyllaDB
  2. Possible configuration or any other best implementation approach to avoid such discrepancies.

Upvotes: 7

Views: 278

Answers (1)

dor laor
dor laor

Reputation: 870

Interesting indeed. Do you know what's the guarantee Janus provides for the mixed backends? In general, even w/o failures and w/o an eventual consistent backend, the fact that data is saved in two places can be problematic in terms of consistency. Does Janus provide transactions across the two backends (Elastic + Scylla)? If not, the answer for your question is that it doesn't matter.

You can configure Scylla to use a quorum and even to use LWT (usually not used)

Upvotes: 2

Related Questions