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

Apache Parquet

98
190
+ 1
0
Cassandra

3.6K
3.5K
+ 1
507
Add tool

Apache Parquet vs Cassandra: What are the differences?

Key Differences between Apache Parquet and Cassandra

Apache Parquet and Cassandra are both widely used technologies in the data storage and processing domain. While they have some similarities, there are several key differences between them.

  1. Data Storage Model: Apache Parquet is a columnar storage file format that is designed for efficient data processing and analytics. It stores data in a column-wise manner, which allows for fast and efficient querying. On the other hand, Cassandra is a distributed NoSQL database that is designed for high availability and scalability. It uses a partitioned row store model to store data across a cluster of machines.

  2. Data Model: Apache Parquet does not have a built-in data model. It is a schema evolution-supporting format that can work with various data models, including relational and nested data structures. Cassandra, on the other hand, has a flexible and dynamic data model based on a key-value pair model. It allows for dynamic column addition and removal without affecting the existing data.

  3. Data Consistency: Apache Parquet does not provide any built-in mechanisms for data consistency and does not support transactions. It is primarily used for batch processing and analytics workloads. On the other hand, Cassandra provides built-in mechanisms for data consistency and supports distributed transactions. It is designed for high write throughput and can handle real-time workloads.

  4. Data Replication and Distribution: Apache Parquet does not have built-in replication and distribution mechanisms, as it is typically used with other distributed storage systems like Hadoop Distributed File System (HDFS) or cloud storage solutions. Cassandra, on the other hand, has built-in replication and distribution mechanisms, which allow it to provide high availability and fault tolerance.

  5. Querying and Indexing: Apache Parquet is optimized for efficient analytical processing and supports predicate pushdown, which improves query performance by pushing filters down to the storage layer. It also supports dictionary encoding and compression techniques to further improve query performance. Cassandra, on the other hand, supports a query language called Cassandra Query Language (CQL) and provides secondary indexing capabilities. It is designed for real-time querying and provides low-latency read and write operations.

  6. Data Consistency and Availability Guarantees: Apache Parquet does not provide any specific guarantees for data consistency or availability. It relies on the underlying storage system for durability and availability. Cassandra, on the other hand, provides tunable consistency and availability levels. It uses a distributed architecture with replication and automatic data repair mechanisms to ensure high data availability and fault tolerance.

In Summary, Apache Parquet is a columnar storage file format optimized for analytics workloads, while Cassandra is a distributed NoSQL database designed for high availability and scalability with support for real-time querying and transactions.

Advice on Apache Parquet and Cassandra
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
Pankaj Soni
Chief Technical Officer at Software Joint · | 2 upvotes · 171.6K 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
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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Apache Parquet
Pros of Cassandra
    Be the first to leave a pro
    • 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 Apache Parquet
    Cons of Cassandra
      Be the first to leave a con
      • 3
        Reliability of replication
      • 1
        Size
      • 1
        Updates

      Sign up to add or upvote consMake informed product decisions

      No Stats
      - No public GitHub repository available -

      What is Apache Parquet?

      It is a columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language.

      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 Apache Parquet?
      What companies use Cassandra?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

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

      What tools integrate with Apache Parquet?
      What tools integrate with Cassandra?

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

      Blog Posts

      Aug 28 2019 at 3:10AM

      Segment

      PythonJavaAmazon S3+16
      7
      2750
      GitHubPythonReact+42
      49
      41191
      GitHubPythonNode.js+26
      29
      16238
      What are some alternatives to Apache Parquet and Cassandra?
      Avro
      It is a row-oriented remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
      Apache Kudu
      A new addition to the open source Apache Hadoop ecosystem, Kudu completes Hadoop's storage layer to enable fast analytics on fast data.
      JSON
      JavaScript Object Notation is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language.
      HBase
      Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop.
      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