DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Doris vs Elasticsearch: A Comparison and Practical Cost Case Study
  • Seamless Transition from Elasticsearch to OpenSearch
  • Boosting Similarity Search With Stream Processing
  • Why To Run Open Source Data Technologies in Your Own Cloud Account

Trending

  • Part 4: Multi-Agent Orchestration — Pairing Goose With Quarkus Flow State Machines
  • MQTT, Kafka, NATS, or Zenoh? Choosing Edge-to-Cloud Messaging by Traffic Pattern
  • Architecture Review Boards for Generative AI: A Framework for Governance, Risk Management, and Responsible Adoption
  • New York City Taxi Trips: Putting Neo4j and DuckDB to Work

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Data Engineering
  3. Big Data
  4. 7 Reasons Why Open-Source Elassandra (Cassandra + Elasticsearch) Is Worth a Look

7 Reasons Why Open-Source Elassandra (Cassandra + Elasticsearch) Is Worth a Look

By offering greater reliability and efficiency than its separate components, Elassandra presents an efficient new opportunity.

By 
Ben Slater
·
Apr. 29, 18 · Opinion
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
36.4K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

For organizations that rely on the Cassandra NoSQL database but require more efficient search capabilities, Elassandra offers a compelling open-source solution. Elassandra combines the powers of Elasticsearch and Cassandra by utilizing Elasticsearch as a Cassandra secondary index. While companies may use both Elasticsearch and Cassandra on their own (and unite them by developing their own custom integration or synchronization code), Elassandra negates the challenges of implementing these measures and managing that software separately.

By closely integrating Elasticsearch with Cassandra, Elassandra provides search latencies that approach real-time responsiveness. Better yet, it achieves this while also delivering access to all the advantages of Elasticsearch’s established ecosystem of REST APIs, plugins, and other solutions. Through these tools — such as the powerful Kibana UI that allows users to search, analyze, and visualize data quickly and easily — database ops can be carried out with much more efficiency than is possible using Cassandra and Elasticsearch independently.

Some specific advantages of Elassandra include the following.

1. Masterless Elasticsearch Node Architecture and No Need to Learn CQ

As Elasticsearch is designed, a master node manages and broadcasts the cluster state, while primary nodes handle write operations and replica nodes handle read operations. Elassandra alters this by embedding Elasticsearch within Cassandra nodes so that documents are stored as rows in Cassandra tables and the secondary index in Cassandra is updated synchronously with Elasticsearch indices every time a write happens to a Cassandra table. By doing so, there is no disparity.

Importantly, in this regard, Elassandra provides bi-directional mapping; inserting a document using Elasticsearch APIs will automatically create or update the CQL schema necessary to communicate with Cassandra, and Elasticsearch mapping can also be automatically discovered from existing CQL schema. In this way, Elassandra preserves the dynamic mapping of Elasticsearch while eliminating any need for developers to learn CQL in order to leverage Elassandra. This replication and synchronicity in how mapping is stored effectively makes Elasticsearch masterless, offering superior consistency in the aftermath of a node failure.

2. Nested Documents

Elassandra also allows devs to make highly effective use of nested documents, storing them in a Cassandra User Defined Type that is generated dynamically based on Elasticsearch mapping. The recursive nature of this feature allows for many layers of nested documents, providing a bigger value for businesses with this need.

3. Multiple Index Mappings and No Downtime

Using Elassandra, it’s possible to index the same keyspace in many different Elasticsearch indices with a variety of mappings. The advantage here is in being able to change and introduce new index mappings without any downtime.

4. Powerful Log Analysis

With the help of Kibana as a search and data visualization interface, Elassandra allows for the use of a partition function to enable analysis of logs. This is helpful for easily storing and visually charting web application logs — especially in situations where logs must be carefully maintained and accessible for auditing or compliance purposes.

5. Manage Time Series

Elassandra is valuable for managing time series, as well. By storing time series in Cassandra and searching only Elasticsearch index metric names and metadata for those time series, it’s possible to enrich that metadata with other data sources like data centers, applications, etc. This enables developers to gain insights (e.g. visualizing all machines running a certain application) and to apply this knowledge to diagnosis or strategic planning.

6. Scalability

Elassandra is also very easily scalable. If it becomes necessary to increase write throughput, Elassandra’s automatic resharding capabilities allow new nodes to be bootstrapped as needed. And because Elasticsearch functionality is embedded within Cassandra, Elassandra ensures it has the same high availability as the database.

7. Performance

Benchmarking the performance of write throughput on Elassandra versus Cassandra with Elasticsearch separately deployed, you’ll find that for most use cases, write throughput is about equal on both in situations where nodes are not overloaded. However, Elassandra uses only half the CPU power.

Conclusion

Given these factors, Elassandra boasts a solution that is better than the sum of its parts. By offering greater reliability and efficiency than its separate components, Elassandra presents an efficient new opportunity for organizations positioned to reap its benefits.


Ben Slater is Chief Product Officer at Instaclustr, which provides a managed service platform of open source technologies such as Apache Cassandra, Apache Spark, Elasticsearch and Apache Kafka.

Elasticsearch Open source Database

Opinions expressed by DZone contributors are their own.

Related

  • Doris vs Elasticsearch: A Comparison and Practical Cost Case Study
  • Seamless Transition from Elasticsearch to OpenSearch
  • Boosting Similarity Search With Stream Processing
  • Why To Run Open Source Data Technologies in Your Own Cloud Account

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook