PostgreSQL (alternately Postgres) is a free and open source object-relational database system boasting over 30 years of active development, reliability, feature robustness, and performance. It supports SQL and is designed to support various workloads flexibly.
N/A
Pricing
Apache Cassandra
PostgreSQL
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Cassandra
PostgreSQL
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Apache Cassandra
PostgreSQL
TrustRadius Insights
Apache Cassandra
PostgreSQL
Highlights
Research Team Insight
Published
Apache Cassandra and PostgreSQL (or Postgres) are popular open-source databases; Apache Cassandra is NoSQL and boasts high availability. PostgreSQL is an object-relational database and overall one of the world’s most adopted database management systems after only MySQL, Oracle, and Microsoft SQL Server. Cassandra is available free under the Apache License 2.0 and PostgreSQL is free under the liberal PostgreSQL License, which is similar to the BSD or MIT licenses.
PostgreSQL and Cassandra are frequently compared but not necessarily competitors as each is suitable for different use cases. PostgreSQL is deployed at companies of all sizes and enterprises, while Cassandra is more often deployed at larger companies and enterprises given its focus on helping users manage large volumes of possibly unstructured data across multiple data centres.
Features
There are differing reasons to deploy either Apache Cassandra or PostgreSQL for a project.
Cassandra is a wide column store suitable for supporting high velocity read and write. It is liked for its core competency, which in its case is scalability and availability. Other advantages users point out is that it is low maintenance, able to perform well on low cost commodity hardware, and that CQL (Cassandra Query Language) is easy to use, being somewhat similar to SQL.
PostgreSQL, unlike Cassandra, is an object-relational database that is typically associated to BI & analytics use cases, and supports sometimes needed complex design with seldom used but powerful features like function overloading and table inheritance. PostgreSQL is popular for a reason: users get, for free and with great open source community support, a highly programmable, feature-rich, fast, JSON & geospatial mapping capable, easy to implement, and all-around good at everything database.
Limitations
For specific use cases, there are reasons to go in a different direction than building with a Cassandra or PostgreSQL database. Drawbacks are somewhat similar, though through the looking glass of comparing a SQL database vs. a NoSQL database.
As a key-value store users note that Cassandra can be inefficient and not as performant as alternatives, and also state that queries that are ad-hoc and don’t closely mirror the database’s particular design process will tend to not work well, or may be impossible. For this reason, users stress that competent data modeling and a basic understanding of NoSQL is a must when working with Cassandra: get an expert to set it up, or risk learning to become an expert by getting it all wrong.
PostgreSQL’s features are powerful, and for inexperienced developers can lead to disastrous, anti-performant design, and it is generally less performant than MySQL, which is why that database is preferred for use cases like powering websites or running simple queries. Also, it lacks in-memory caching. Finally, many users say it can be hard to get started, with a steep learning curve and somewhat lacking documentation.
Pricing
Apache Cassandra and PostgreSQL are open source and both are available at no cost to the user when self-hosted. Cloud hosting may be desirable, in which case pricing will depend on compute costs set by the third-party cloud providers (e.g. the Amazon Keyspaces Cassandra DBaaS, etc.) or managed hosting providers: for example Instaclustr and Aiven, among others, offer managed Cassandra; and, managed PostgreSQL is provided by, to name a few, DigitalOcean, ScaleGrid Aiven.
Features
Apache Cassandra
PostgreSQL
NoSQL Databases
Comparison of NoSQL Databases features of Product A and Product B
Cassandra excels in a broad range of applications -- especially if you understand its data model and write your applications accordingly. It's an excellent choice for time-series data, and a poor choice for application queues. It performs the best if you can simply record history and compute from it, rather than going back and editing or deleting things a lot.
PostgreSQL is ideal for handling databases that contain large volumes of information due to its efficiency, speed and above all because of the good management it makes of our resources, it also behaves very well in distributed environments of high demand, if you want a database of stable data and excellent performance PostgreSQL is one of the best.
High Availability - we utilize the data replication features of Cassandra. This enables us to access our data even when several nodes have gone down
Data Locality - our architecture combines Cassandra storage nodes and computation nodes in the same machine. This enables us to utilize data locality and limit expensive network IO to read data.
Elasticity - Cassandra is a shared nothing architecture. Nodes can be added very easily and they discover the network topology. As soon as a node has joined the Cassandra ring, the data is redistributed among the existing nodes and streamed to it automatically.
No Ad-Hoc Queries: Cassandra data storage layer is basically a key-value storage system. This means that you must "model" your data around the queries you want to surface, rather than around the structure of the data itself.
There are no aggregations queries available in Cassandra.
The performance of PostgreSQL has been enhanced through the years, but always is better to have as much performance as we can.
The replication services could be done directly within the database, and more easily.
The Object Orientation of the Database could be extended, and albeit it manages inheritance of tables, and accepts XML and JSON as primary types, it would be wonderful if one could attach methods more easily to tables (to make them more like classes), and instances (rows for example).
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.
Postgresql is the best tool out there for relational data so I have to give it a high rating when it comes to analytics, data availability and consistency, so on and so forth. SQL is also a relatively consistent language so when it comes to building new tables and loading data in from the OLTP database, there are enough tools where we can perform ETL on a scalable basis.
The data queries are relatively quick for a small to medium sized table. With complex joins, and a wide and deep table however, the performance of the query has room for improvement.
AWS, Heroku, and Digital Ocean all provide Postgres-as-a-service, where you pretty much never need to administrate it yourself but they do it for you. The Postgres community also has developed awesome and reasonably priced extensions, such as Citus DB and CockroachDB in case you need additional support for running it. If you need documentation, Postgres's docs are super thorough and their official forms are active.
The online training is request based. Had there been recorded videos available online for potential users to benefit from, I could have rated it higher. The online documentation however is very helpful. The online documentation PDF is downloadable and allows users to pace their own learning. With examples and code snippets, the documentation is great starting point.
Apache Cassandra has the best of both worlds, it is a Java based NoSQL, linearly scalable, best in class tunable performance across different workloads, fault tolerant, distributed, masterless, time series database. We have used both Apache HBase and MongoDB for some use cases which were within hadoop setup and JSON (JavaScript Object Notation) document store respectively, but given the overall factors favoring Apache Cassandra, it is a technology choice for multiple platforms!
In this case, Postgres is preferred because it handles large data sets and requires fewer hardware resources than its competitor, MySQL. Compared to PostgreSQL, Microsoft products are excellent, but the installation process for MS SQL is lengthy. PostgreSQL has an advantage over its competitors in that it can adapt or configure third-party programs, applications, or settings.
The open source version of Cassandra is only suggested for learning the basic concepts and play with its core features. Unless you really want to invest a lot in your developers and architects knowing every detail of Cassandra, I prefer the DataStax enterprise version. Although the license cost is relatively high, I think they it is worth it. I'm thinking about the support, the monitoring tool OpsCenter, and the integration of Solr and Spark (for data analysis).
Cassandra didn't fully replace our old and traditional relation database Oracle. In addition, it opens another door for us to deal with some special business use cases that NoSQL database can do better in a more feasible and efficient way.
Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.