Elasticsearch vs Cassandra vs Elasticsearch with Cassandra

前端 未结 8 1229
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-29 15:03

I am learning NoSQL and looking at different options for one of my client\'s requirements. I have gone through various resources before putting up this question (a person w

相关标签:
8条回答
  • 2020-11-29 15:30

    After working on this problem myself I have realized that NoSQL databases like casandra are good when you want to make sure you are preserving your data schema with reliable writing operation, and don't want to take advantage of indexing operations that elasticsearch offers. In case you want to preserve some indexes data then elasticsearch is good in case you are trusting your scheme and only going to do far more reads than writes.

    My case was data analytics. So I preserved a lot of my Latices in elastic search since later I wanted to traverse through the data a lot to see what should be my next step. I would have used casandra if I wanted to have a lot of changes in the schema of the data in my analytic pilelines.

    Also there are many nice representing tools like kibana that you can use to present your data with some good graphics. Maybe I am lazy but they are very good looking and they helped me.

    0 讨论(0)
  • 2020-11-29 15:31

    We had developed an application where we used Elasticsearch and Cassandra. Similar data was stored into Cassandra and indexed into Elasticsearch.

    Our application's UI was having features like searches, aggregations, data export, etc. The back-end microservices were continuously getting huge data (on Kafka topics) and storing it into Cassandra. Once the data is stored into Cassandra, the services would make sure the data is indexed into Elasticsearch.

    Cassandra was acting as "Source of truth" for Elasticsearch. In the cases, where reindexing of the ES index was required, we queried Cassandra and reindexed the data into ES.

    This solution helped us, as this was very easy to scale and the searches and aggregations were much faster.

    0 讨论(0)
  • 2020-11-29 15:36

    Elassandra is the combined solution of Cassandra + Elastic search , It uses Elastic search to index the data and Cassandra as the data store , i'm not sure about the performance but as per this article , its performance is good.
    If your application needs search feature then , Elassandra is the best open source option. DSE search is available but its expensive.

    0 讨论(0)
  • 2020-11-29 15:41
    • As elasticsearch is built on Lucene index and if you want to store indexing in elasticsearch it performs best comparing to indexing in Cassandra itself for retrieving the data.
    • If your requirements are not related to real-time retrieval then you can use elasticsearch as NoSQL database also, there are thoughts that ElasticSearch loses writes & Schema changes are difficult, but if your volume of data is not too big. You can easily achive elasticsearch as a search engine with best indexing along with elasticsearch as aNoSQL database. There are several way that you can prevent it. I have worked on the schema changes in elasticsearch, if your data structure is consistent then it will create any issues.
    • Being a supporter of ElasticSearch or SOlr. I have worked on both the search engines and i experienced that both the search engines can be used fluently if you configure them correctly.
    • Only cons that i can think of it, if you are targetting real time result and can't comprosie milliseconds delay in your response. Then its better to take help of other NoSQL databases like cassandra or couchbase.
    • Cassandra with solr, work better than Cassandra with elasticSearch.
    0 讨论(0)
  • 2020-11-29 15:42

    Cassandra + Lucene is a great option. There are different initiatives for this issue, for example:

    • Stratio’s Cassandra Lucene Index - Derived from Stratio Cassandra, is a plugin for Apache Cassandra that extends its index functionality. (https://github.com/Stratio/cassandra-lucene-index)
    • Stratio Cassandra, it's a native integration with Apache Lucene, it is very interesting. (https://github.com/Stratio/stratio-cassandra) - THIS PROJECT HAS BEEN DISCONTINUED IN FAVOUR OF Stratio’s Cassandra Lucene Index
    • Tuplejump Calliope, it's like Stratio Cassandra, but it's less active. (https://github.com/tuplejump/stargate-core)
    • DSE Search by Datastax. It allows using Cassandra with Apache Solr, but it's a proprietary option.(http://www.datastax.com/what-we-offer/products-services/datastax-enterprise)
    0 讨论(0)
  • 2020-11-29 15:42

    Storing data in a combination of Cassandra and ElasticSearch gives you most functionality. It allows you to lookup key-value tables, and also allows you to search data in indexes.

    The combination gives you a lot of flexibility, ideal for your application.

    0 讨论(0)
提交回复
热议问题