Need advice about which tool to choose?Ask the StackShare community!

ArangoDB

275
442
+ 1
192
Cassandra

3.5K
3.5K
+ 1
507
Add tool

ArangoDB vs Cassandra: What are the differences?

Introduction

When considering database management systems for a project, ArangoDB and Cassandra are two popular options. While both are NoSQL databases, they have key differences that should be considered before making a decision.

  1. Data Model: ArangoDB is a multi-model database that supports key-value pairs, documents, and graphs within a single query interface, making it versatile for different data structures. On the other hand, Cassandra follows a column-family data model, which is ideal for handling large amounts of data with high availability and partition tolerance but may be more limited in terms of data structure flexibility.

  2. Query Language: ArangoDB uses its query language, AQL (ArangoDB Query Language), which allows for complex queries across different data models. In contrast, Cassandra uses CQL (Cassandra Query Language), a SQL-like language that is optimized for querying high-volume, low-latency data.

  3. Consistency Model: ArangoDB supports both strong and eventual consistency levels, giving users the flexibility to choose the level of consistency needed for their application. On the other hand, Cassandra offers tunable consistency, allowing users to choose between strong, eventual, and other consistency levels based on their requirements.

  4. Scalability: ArangoDB is horizontally scalable, meaning it can distribute data across multiple nodes to handle growing amounts of data and traffic. Cassandra, on the other hand, is known for its linear scalability, making it a popular choice for large-scale distributed systems that require seamless scaling.

  5. Fault Tolerance: ArangoDB provides automatic sharding and replication for data redundancy and fault tolerance, ensuring data availability even in the case of node failures. In comparison, Cassandra is designed with fault tolerance in mind, using a masterless architecture and peer-to-peer communication to prevent any single point of failure.

  6. Use Cases: ArangoDB is suitable for applications that require flexibility in data modeling and complex queries across different data types, such as social networks and content management systems. In contrast, Cassandra is best suited for use cases that prioritize high availability, partition tolerance, and linear scalability, such as real-time analytics and messaging platforms.

In Summary, ArangoDB and Cassandra differ in aspects such as data model flexibility, query language, consistency levels, scalability options, fault tolerance mechanisms, and ideal use cases.

Advice on ArangoDB and Cassandra
Needs advice
on
ArangoDBArangoDB
and
PostgreSQLPostgreSQL

Hello All, I'm building an app that will enable users to create documents using ckeditor or TinyMCE editor. The data is then stored in a database and retrieved to display to the user, these docs can contain image data also. The number of pages generated for a single document can go up to 1000. Therefore by design, each page is stored in a separate JSON. I'm wondering which database is the right one to choose between ArangoDB and PostgreSQL. Your thoughts, advice please. Thanks, Kashyap

See more
Replies (2)
Recommends
on
MongoDBMongoDB

try mongodb first.

See more
Attila Fulop
Recommends

Which Graph DB features are you planning to use?

See more
Umair Iftikhar
Technical Architect at ERP Studio · | 3 upvotes · 432.3K views
Needs advice
on
CassandraCassandraDruidDruid
and
TimescaleDBTimescaleDB

Developing a solution that collects Telemetry Data from different devices, nearly 1000 devices minimum and maximum 12000. Each device is sending 2 packets in 1 second. This is time-series data, and this data definition and different reports are saved on PostgreSQL. Like Building information, maintenance records, etc. I want to know about the best solution. This data is required for Math and ML to run different algorithms. Also, data is raw without definitions and information stored in PostgreSQL. Initially, I went with TimescaleDB due to PostgreSQL support, but to increase in sites, I started facing many issues with timescale DB in terms of flexibility of storing data.

My major requirement is also the replication of the database for reporting and different purposes. You may also suggest other options other than Druid and Cassandra. But an open source solution is appreciated.

See more
Replies (1)
Recommends
on
MongoDBMongoDB

Hi Umair, Did you try MongoDB. We are using MongoDB on a production environment and collecting data from devices like your scenario. We have a MongoDB cluster with three replicas. Data from devices are being written to the master node and real-time dashboard UI is using the secondary nodes for read operations. With this setup write operations are not affected by read operations too.

See more
Vinay Mehta
Needs advice
on
CassandraCassandra
and
ScyllaDBScyllaDB

The problem I have is - we need to process & change(update/insert) 55M Data every 2 min and this updated data to be available for Rest API for Filtering / Selection. Response time for Rest API should be less than 1 sec.

The most important factors for me are processing and storing time of 2 min. There need to be 2 views of Data One is for Selection & 2. Changed data.

See more
Replies (4)
Recommends
on
ScyllaDBScyllaDB

Scylla can handle 1M/s events with a simple data model quite easily. The api to query is CQL, we have REST api but that's for control/monitoring

See more
Alex Peake
Recommends
on
CassandraCassandra

Cassandra is quite capable of the task, in a highly available way, given appropriate scaling of the system. Remember that updates are only inserts, and that efficient retrieval is only by key (which can be a complex key). Talking of keys, make sure that the keys are well distributed.

See more
Recommends
on
ScyllaDBScyllaDB

By 55M do you mean 55 million entity changes per 2 minutes? It is relatively high, means almost 460k per second. If I had to choose between Scylla or Cassandra, I would opt for Scylla as it is promising better performance for simple operations. However, maybe it would be worth to consider yet another alternative technology. Take into consideration required consistency, reliability and high availability and you may realize that there are more suitable once. Rest API should not be the main driver, because you can always develop the API yourself, if not supported by given technology.

See more
Pankaj Soni
Chief Technical Officer at Software Joint · | 2 upvotes · 146.5K views
Recommends
on
CassandraCassandra

i love syclla for pet projects however it's license which is based on server model is an issue. thus i recommend cassandra

See more
Decisions about ArangoDB and Cassandra
Micha Mailänder
CEO & Co-Founder at Dechea · | 14 upvotes · 76.3K views

Fauna is a serverless database where you store data as JSON. Also, you have build in a HTTP GraphQL interface with a full authentication & authorization layer. That means you can skip your Backend and call it directly from the Frontend. With the power, that you can write data transformation function within Fauna with her own language called FQL, we're getting a blazing fast application.

Also, Fauna takes care about scaling and backups (All data are sharded on three different locations on the globe). That means we can fully focus on writing business logic and don't have to worry anymore about infrastructure.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of ArangoDB
Pros of Cassandra
  • 37
    Grahps and documents in one DB
  • 26
    Intuitive and rich query language
  • 25
    Good documentation
  • 25
    Open source
  • 21
    Joins for collections
  • 15
    Foxx is great platform
  • 14
    Great out of the box web interface with API playground
  • 6
    Good driver support
  • 6
    Low maintenance efforts
  • 6
    Clustering
  • 5
    Easy microservice creation with foxx
  • 4
    You can write true backendless apps
  • 2
    Managed solution available
  • 0
    Performance
  • 119
    Distributed
  • 98
    High performance
  • 81
    High availability
  • 74
    Easy scalability
  • 53
    Replication
  • 26
    Reliable
  • 26
    Multi datacenter deployments
  • 10
    Schema optional
  • 9
    OLTP
  • 8
    Open source
  • 2
    Workload separation (via MDC)
  • 1
    Fast

Sign up to add or upvote prosMake informed product decisions

Cons of ArangoDB
Cons of Cassandra
  • 3
    Web ui has still room for improvement
  • 2
    No support for blueprints standard, using custom AQL
  • 3
    Reliability of replication
  • 1
    Size
  • 1
    Updates

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is ArangoDB?

A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

What is Cassandra?

Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.

Need advice about which tool to choose?Ask the StackShare community!

What companies use ArangoDB?
What companies use Cassandra?
See which teams inside your own company are using ArangoDB or Cassandra.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with ArangoDB?
What tools integrate with Cassandra?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to ArangoDB and Cassandra?
Neo4j
Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
PostgreSQL
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
OrientDB
It is an open source NoSQL database management system written in Java. It is a Multi-model database, supporting graph, document, key/value, and object models, but the relationships are managed as in graph databases with direct connections between records.
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
See all alternatives