Apache Cassandra vs. Apache Kafka

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Cassandra
Score 7.5 out of 10
N/A
Cassandra is a no-SQL database from Apache.N/A
Apache Kafka
Score 8.2 out of 10
N/A
Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java. The Kafka event streaming platform is used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.N/A
Pricing
Apache CassandraApache Kafka
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
CassandraApache Kafka
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache CassandraApache Kafka
Considered Both Products
Cassandra
Chose Apache Cassandra
Cassandra has its own use case. It performs very well as a data store. Data can be written to it at a high rate. It cannot be compared to traditional RDBMS like Oracle, because they all have their own usage. Even MongoDB, which is somewhat similar, cannot be stacked up against …
Apache Kafka

No answer on this topic

Top Pros
Top Cons
Features
Apache CassandraApache Kafka
NoSQL Databases
Comparison of NoSQL Databases features of Product A and Product B
Apache Cassandra
8.0
5 Ratings
9% below category average
Apache Kafka
-
Ratings
Performance8.55 Ratings00 Ratings
Availability8.85 Ratings00 Ratings
Concurrency7.65 Ratings00 Ratings
Security8.05 Ratings00 Ratings
Scalability9.55 Ratings00 Ratings
Data model flexibility6.75 Ratings00 Ratings
Deployment model flexibility7.05 Ratings00 Ratings
Best Alternatives
Apache CassandraApache Kafka
Small Businesses
IBM Cloudant
IBM Cloudant
Score 7.9 out of 10

No answers on this topic

Medium-sized Companies
IBM Cloudant
IBM Cloudant
Score 7.9 out of 10
IBM MQ
IBM MQ
Score 9.1 out of 10
Enterprises
IBM Cloudant
IBM Cloudant
Score 7.9 out of 10
IBM MQ
IBM MQ
Score 9.1 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache CassandraApache Kafka
Likelihood to Recommend
6.0
(16 ratings)
8.3
(18 ratings)
Likelihood to Renew
8.6
(16 ratings)
9.0
(2 ratings)
Usability
7.0
(1 ratings)
10.0
(1 ratings)
Support Rating
7.0
(1 ratings)
8.4
(4 ratings)
Implementation Rating
7.0
(1 ratings)
-
(0 ratings)
User Testimonials
Apache CassandraApache Kafka
Likelihood to Recommend
Apache
Apache Cassandra is a NoSQL database and well suited where you need highly available, linearly scalable, tunable consistency and high performance across varying workloads. It has worked well for our use cases, and I shared my experiences to use it effectively at the last Cassandra summit! http://bit.ly/1Ok56TK It is a NoSQL database, finally you can tune it to be strongly consistent and successfully use it as such. However those are not usual patterns, as you negotiate on latency. It works well if you require that. If your use case needs strongly consistent environments with semantics of a relational database or if the use case needs a data warehouse, or if you need NoSQL with ACID transactions, Apache Cassandra may not be the optimum choice.
Read full review
Apache
Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.
Read full review
Pros
Apache
  • Continuous availability: as a fully distributed database (no master nodes), we can update nodes with rolling restarts and accommodate minor outages without impacting our customer services.
  • Linear scalability: for every unit of compute that you add, you get an equivalent unit of capacity. The same application can scale from a single developer's laptop to a web-scale service with billions of rows in a table.
  • Amazing performance: if you design your data model correctly, bearing in mind the queries you need to answer, you can get answers in milliseconds.
  • Time-series data: Cassandra excels at recording, processing, and retrieving time-series data. It's a simple matter to version everything and simply record what happens, rather than going back and editing things. Then, you can compute things from the recorded history.
Read full review
Apache
  • Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak.
  • Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered)
  • Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many).
Read full review
Cons
Apache
  • Cassandra runs on the JVM and therefor may require a lot of GC tuning for read/write intensive applications.
  • Requires manual periodic maintenance - for example it is recommended to run a cleanup on a regular basis.
  • There are a lot of knobs and buttons to configure the system. For many cases the default configuration will be sufficient, but if its not - you will need significant ramp up on the inner workings of Cassandra in order to effectively tune it.
Read full review
Apache
  • Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great.
  • Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed.
  • Learning curve around creation of broker and topics could be simplified
Read full review
Likelihood to Renew
Apache
I would recommend Cassandra DB to those who know their use case very well, as well as know how they are going to store and retrieve data. If you need a guarantee in data storage and retrieval, and a DB that can be linearly grown by adding nodes across availability zones and regions, then this is the database you should choose.
Read full review
Apache
Kafka is quickly becoming core product of the organization, indeed it is replacing older messaging systems. No better alternatives found yet
Read full review
Usability
Apache
It’s great tool but it can be complicated when it comes administration and maintenance.
Read full review
Apache
Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Read full review
Support Rating
Apache
Sometimes instead giving straight answer, we ‘re getting transfered to talk professional service.
Read full review
Apache
Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Read full review
Alternatives Considered
Apache
We evaluated MongoDB also, but don't like the single point failure possibility. The HBase coupled us too tightly to the Hadoop world while we prefer more technical flexibility. Also HBase is designed for "cold"/old historical data lake use cases and is not typically used for web and mobile applications due to its performance concern. Cassandra, by contrast, offers the availability and performance necessary for developing highly available applications. Furthermore, the Hadoop technology stack is typically deployed in a single location, while in the big international enterprise context, we demand the feasibility for deployment across countries and continents, hence finally we are favor of Cassandra
Read full review
Apache
I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond to other needs.
Read full review
Return on Investment
Apache
  • I have no experience with this but from the blogs and news what I believe is that in businesses where there is high demand for scalability, Cassandra is a good choice to go for.
  • Since it works on CQL, it is quite familiar with SQL in understanding therefore it does not prevent a new employee to start in learning and having the Cassandra experience at an industrial level.
Read full review
Apache
  • Positive: Get a quick and reliable pub/sub model implemented - data across components flows easily.
  • Positive: it's scalable so we can develop small and scale for real-world scenarios
  • Negative: it's easy to get into a confusing situation if you are not experienced yet or something strange has happened (rare, but it does). Troubleshooting such situations can take time and effort.
Read full review
ScreenShots