HBase vs PostgreSQL

Get Advice Icon

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

HBase
HBase

233
228
+ 1
13
PostgreSQL
PostgreSQL

25.3K
20.9K
+ 1
3.4K
Add tool

HBase vs PostgreSQL: What are the differences?

HBase: The Hadoop database, a distributed, scalable, big data store. 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; PostgreSQL: A powerful, open source object-relational database system. 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.

HBase and PostgreSQL belong to "Databases" category of the tech stack.

"Performance" is the primary reason why developers consider HBase over the competitors, whereas "Relational database" was stated as the key factor in picking PostgreSQL.

HBase and PostgreSQL are both open source tools. PostgreSQL with 5.44K GitHub stars and 1.8K forks on GitHub appears to be more popular than HBase with 2.91K GitHub stars and 2.01K GitHub forks.

According to the StackShare community, PostgreSQL has a broader approval, being mentioned in 2739 company stacks & 2169 developers stacks; compared to HBase, which is listed in 54 company stacks and 18 developer stacks.

What is 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.

What is 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.
Get Advice Icon

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

Why do developers choose HBase?
Why do developers choose PostgreSQL?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use HBase?
    What companies use PostgreSQL?

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

    What tools integrate with HBase?
    What tools integrate with PostgreSQL?

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

    What are some alternatives to HBase and PostgreSQL?
    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.
    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.
    Hadoop
    The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage.
    Druid
    Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations.
    Apache Hive
    Hive facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage.
    See all alternatives
    Decisions about HBase and PostgreSQL
    Anton Sidelnikov
    Anton Sidelnikov
    Backend Developer at Beamery · | 8 upvotes · 9.9K views
    PostgreSQL
    PostgreSQL
    MongoDB
    MongoDB

    In my opinion PostgreSQL is totally over MongoDB - not only works with structured data & SQL & strict types, but also has excellent support for unstructured data as separate data type (you can store arbitrary JSONs - and they may be also queryable, depending on one of format's you may choose). Both writes & reads are much faster, then in Mongo. So you can get best on Document NoSQL & SQL in single database..

    Formal downside of PostgreSQL is clustering scalability. There's not simple way to build distributed a cluster. However, two points:

    1) You will need much more time before you need to actually scale due to PG's efficiency. And if you follow database-per-service pattern, maybe you won't need ever, cause dealing few billion records on single machine is an option for PG.

    2) When you need to - you do it in a way you need, including as a part of app's logic (e.g. sharding by key, or PG-based clustering solution with strict model), scalability will be very transparent, much more obvious than Mongo's "cluster just works (but then fails)" replication.

    See more
    Tim Nolet
    Tim Nolet
    Founder, Engineer & Dishwasher at Checkly · | 8 upvotes · 77.9K views
    atChecklyHQChecklyHQ
    PostgreSQL
    PostgreSQL
    Heroku
    Heroku
    Node.js
    Node.js
    MongoDB
    MongoDB
    Amazon DynamoDB
    Amazon DynamoDB

    PostgreSQL Heroku Node.js MongoDB Amazon DynamoDB

    When I started building Checkly, one of the first things on the agenda was how to actually structure our SaaS database model: think accounts, users, subscriptions etc. Weirdly, there is not a lot of information on this on the "blogopshere" (cringe...). After research and some false starts with MongoDB and Amazon DynamoDB we ended up with PostgreSQL and a schema consisting of just four tables that form the backbone of all generic "Saasy" stuff almost any B2B SaaS bumps into.

    In a nutshell:cPostgreSQL Heroku Node.js MongoDB Amazon DynamoDB

    When I started building Checkly, one of the first things on the agenda was how to actually structure our SaaS database model: think accounts, users, subscriptions etc. Weirdly, there is not a lot of information on this on the "blogopshere" (cringe...). After research and some false starts with MongoDB and Amazon DynamoDB we ended up with PostgreSQL and a schema consisting of just four tables that form the backbone of all generic "Saasy" stuff almost any B2B SaaS bumps into.

    In a nutshell:

    • We use Postgres on Heroku.
    • We use a "one database, on schema" approach for partitioning customer data.
    • We use an accounts, memberships and users table to create a many-to-many relation between users and accounts.
    • We completely decouple prices, payments and the exact ingredients for a customer's plan.

    All the details including a database schema diagram are in the linked blog post.

    See more
    Łukasz Korecki
    Łukasz Korecki
    CTO & Co-founder at EnjoyHQ · | 12 upvotes · 113.4K views
    atEnjoyHQEnjoyHQ
    RethinkDB
    RethinkDB
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL

    We initially chose RethinkDB because of the schema-less document store features, and better durability resilience/story than MongoDB In the end, it didn't work out quite as we expected: there's plenty of scalability issues, it's near impossible to run analytical workloads and small community makes working with Rethink a challenge. We're in process of migrating all our workloads to PostgreSQL and hopefully, we will be able to decommission our RethinkDB deployment soon.

    See more
    Mauro Bennici
    Mauro Bennici
    CTO at You Are My GUide · | 7 upvotes · 28.9K views
    atYou Are My GUideYou Are My GUide
    PostgreSQL
    PostgreSQL
    TimescaleDB
    TimescaleDB
    MongoDB
    MongoDB

    PostgreSQL plus TimescaleDB allow us to concentrate the business effort on how to analyze valuable data instead of manage them on IT side. We are now able to ingest thousand of social shares "managed" data without compromise the scalability of the system or the time query. TimescaleDB is transparent to PostgreSQL , so we continue to use the same SQL syntax without any changes. At the same time, because we need to manage few document objects we dismissed the MongoDB cluster.

    See more
    Tor Hagemann
    Tor Hagemann
    at Socotra · | 2 upvotes · 2.3K views
    atSocotraSocotra
    MySQL
    MySQL
    PostgreSQL
    PostgreSQL
    Amazon DynamoDB
    Amazon DynamoDB

    Much of our data model is relational, which makes MySQL or PostgreSQL (and family) fit the API's we need to build, in order to meet the needs of our customers.

    Sometimes the flexibility of a NoSQL store like Amazon DynamoDB is very useful, but the lack of consistency really impacts usability and performance long-term, compared with viable alternatives. At our current scale, we've seen huge benefits from moving some of our tables out of Dynamo and doing more in SQL.

    There will always be use cases for NoSQL and key-values stores, but if your model is well understood in your business/industry: relational databases are the way to go after finding product-market fit. Always understand the trade-offs (and a few intimate details) of any data store before you add to your company's stack!

    See more
    Joseph Irving
    Joseph Irving
    DevOps Engineer at uSwitch · | 8 upvotes · 11.2K views
    atUswitchUswitch
    Vault
    Vault
    Kubernetes
    Kubernetes
    MySQL
    MySQL
    PostgreSQL
    PostgreSQL
    Go
    Go

    At uSwitch we use Vault to generate short lived database credentials for our applications running in Kubernetes. We wanted to move from an environment where we had 100 dbs with a variety of static passwords being shared around to a place where each pod would have credentials that only last for its lifetime.

    We chose vault because:

    • It had built in Kubernetes support so we could use service accounts to permission which pods could access which database.

    • A terraform provider so that we could configure both our RDS instances and their vault configuration in one place.

    • A variety of database providers including MySQL/PostgreSQL (our most common dbs).

    • A good api/Go -sdk so that we could build tooling around it to simplify development worfklow.

    • It had other features we would utilise such as PKI

    See more
    Daniel Quinn
    Daniel Quinn
    Senior Developer at Workfinder · | 2 upvotes · 118.4K views
    atThe Paperless ProjectThe Paperless Project
    SQLite
    SQLite
    PostgreSQL
    PostgreSQL

    SQLite is a tricky beast. It's great if you're working single-threaded, but a Terrible Idea if you've got more than one concurrent connection. You use it because it's easy to setup, light, and portable (it's just a file).

    In Paperless, we've built a self-hosted web application, so it makes sense to standardise on something small & light, and as we don't have to worry about multiple connections (it's just you using the app), it's a perfect fit.

    For users wanting to scale Paperless up to a multi-user environment though, we do provide the hooks to switch to PostgreSQL .

    See more
    Robert Zuber
    Robert Zuber
    CTO at CircleCI · | 22 upvotes · 723.9K views
    atCircleCICircleCI
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL
    Redis
    Redis
    GitHub
    GitHub
    Amazon S3
    Amazon S3

    We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

    As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

    When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

    See more
    Martin Johannesson
    Martin Johannesson
    Senior Software Developer at IT Minds · | 11 upvotes · 37.7K views
    atIT MindsIT Minds
    TypeScript
    TypeScript
    Node.js
    Node.js
    TypeORM
    TypeORM
    PostgreSQL
    PostgreSQL
    Apollo
    Apollo
    GraphQL
    GraphQL
    Next.js
    Next.js
    MongoDB
    MongoDB
    React
    React
    PWA
    PWA
    AMP
    AMP
    #B2B
    #Backend
    #Serverless

    At IT Minds we create customized internal or #B2B web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core #backend . 2) A micro #serverless #backend. 3) A user client #frontend.

    For the Data Core I create a backend using TypeScript Node.js and with TypeORM connecting to a PostgreSQL Exposing an action based api with Apollo GraphQL

    For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with Next.js api pages. Using MongoDB to store essential information, caching etc.

    Finally the frontend is built with React using Next.js , TypeScript and @Apollo. We create the frontend as a PWA and have a AMP landing page by default.

    See more
    Jelena Dedovic
    Jelena Dedovic
    Software Engineer · | 5 upvotes · 97.8K views
    Tornado
    Tornado
    asyncio
    asyncio
    AIOHTTP
    AIOHTTP
    PostgreSQL
    PostgreSQL
    MSSQL
    MSSQL

    Investigating Tortoise ORM and GINO ORM...

    I need to introduce some async ORM with the current stack: Tornado with asyncio loop, AIOHTTP, with PostgreSQL and MSSQL. This project revolves heavily around realtime and due to the realtime requirements, blocking during database access is not acceptable.

    Considering that these ORMs are both young projects, I wondered if anybody had some experience with similar stack and these async ORMs?

    See more
    Nicolas Apx
    Nicolas Apx
    CEO - FullStack Javascript at Apx Development Limited · | 14 upvotes · 33.4K views
    atAPX DevelopmentAPX Development
    Python
    Python
    Node.js
    Node.js
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL

    I am planning on building a micro-service eCommerce back-end to be easy to reuse in any project as we need. I would like to use both Python and Node.js and MongoDB & PostgreSQL , in your opinion which one would best suited for the following services:

    • Users-service
    • Products-service
    • Auth-service
    • Inventory-service
    • Order-service
    • Payment-service
    • Sku-service
    • And more not yet defined....

    Thanks

    Nicolas

    See more
    Ruby
    Ruby
    Rails
    Rails
    React
    React
    Redux
    Redux
    Create React App
    Create React App
    Jest
    Jest
    react-testing-library
    react-testing-library
    RSpec
    RSpec
    PostgreSQL
    PostgreSQL
    MongoDB
    MongoDB
    Redis
    Redis
    React Native
    React Native
    Next.js
    Next.js
    Python
    Python
    Bit
    Bit
    JavaScript
    JavaScript

    I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

    We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

    Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

    We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

    Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

    See more
    George Krachtopoulos
    George Krachtopoulos
    GraphQL
    GraphQL
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL
    MySQL
    MySQL
    Node.js
    Node.js
    React
    React
    Django
    Django

    I would like to build a medium to large scale app, that has real-time operations and a good authentication system and a secure and fast API. Should I use Django with React only? Or maybe use Django for the API, Node.js for real-time operations and React for the frontend? Any suggestions? Which database should I use with those technologies? Should I use both MySQL / PostgreSQL and MongoDB together? Should I use only MongoDB or MySQL / PostgreSQL? Or is it better to go with both MySQL and PostgreSQL at the same time? Should I use also GraphQL?

    See more
    Erin G
    Erin G
    Linux
    Linux
    PostgreSQL
    PostgreSQL
    MySQL
    MySQL
    Microsoft SQL Server
    Microsoft SQL Server

    I am a Microsoft SQL Server programmer who is a bit out of practice. I have been asked to assist on a new project. The overall purpose is to organize a large number of recordings so that they can be searched. I have an enormous music library but my songs are several hours long. I need to include things like time, date and location of the recording. I don't have a problem with the general database design. I have two primary questions:

    1. I need to use either MySQL or PostgreSQL on a Linux based OS. Which would be better for this application?
    2. I have not dealt with a sound based data type before. How do I store that and put it in a table? Thank you.
    See more
    George Krachtopoulos
    George Krachtopoulos
    GraphQL
    GraphQL
    React
    React
    Node.js
    Node.js
    MongoDB
    MongoDB
    Django
    Django
    Python
    Python
    PostgreSQL
    PostgreSQL

    Hello everyone,

    Well, I want to build a large-scale project, but I do not know which ORDBMS to choose. The app should handle real-time operations, not chatting, but things like future scheduling or reminders. It should be also really secure, fast and easy to use. And last but not least, should I use them both. I mean PostgreSQL with Python / Django and MongoDB with Node.js? Or would it be better to use PostgreSQL with Node.js?

    *The project is going to use React for the front-end and GraphQL is going to be used for the API.

    Thank you all. Any answer or advice would be really helpful!

    See more
    Interest over time
    Reviews of HBase and PostgreSQL
    No reviews found
    How developers use HBase and PostgreSQL
    Avatar of AngeloR
    AngeloR uses PostgreSQLPostgreSQL

    We use postgresql for the merge between sql/nosql. A lot of our data is unstructured JSON, or JSON that is currently in flux due to some MVP/interation processes that are going on. PostgreSQL gives the capability to do this.

    At the moment PostgreSQL on amazon is only at 9.5 which is one minor version down from support for document fragment updates which is something that we are waiting for. However, that may be some ways away.

    Other than that, we are using PostgreSQL as our main SQL store as a replacement for all the MSSQL databases that we have. Not only does it have great support through RDS (small ops team), but it also has some great ways for us to migrate off RDS to managed EC2 instances down the line if we need to.

    Avatar of Cloudcraft
    Cloudcraft uses PostgreSQLPostgreSQL

    PostgreSQL combines the best aspects of traditional SQL databases such as reliability, consistent performance, transactions, querying power, etc. with the flexibility of schemaless noSQL systems that are all the rage these days. Through the powerful JSON column types and indexes, you can now have your cake and eat it too! PostgreSQL may seem a bit arcane and old fashioned at first, but the developers have clearly shown that they understand databases and the storage trends better than almost anyone else. It definitely deserves to be part of everyone's toolbox; when you find yourself needing rock solid performance, operational simplicity and reliability, reach for PostgresQL.

    Avatar of Brandon Adams
    Brandon Adams uses PostgreSQLPostgreSQL

    Relational data stores solve a lot of problems reasonably well. Postgres has some data types that are really handy such as spatial, json, and a plethora of useful dates and integers. It has good availability of indexing solutions, and is well-supported for both custom modifications as well as hosting options (I like Amazon's Postgres for RDS). I use HoneySQL for Clojure as a composable AST that translates reliably to SQL. I typically use JDBC on Clojure, usually via org.clojure/java.jdbc.

    Avatar of Pinterest
    Pinterest uses HBaseHBase

    The final output is inserted into HBase to serve the experiment dashboard. We also load the output data to Redshift for ad-hoc analysis. For real-time experiment data processing, we use Storm to tail Kafka and process data in real-time and insert metrics into MySQL, so we could identify group allocation problems and send out real-time alerts and metrics.

    Avatar of ReviewTrackers
    ReviewTrackers uses PostgreSQLPostgreSQL

    PostgreSQL is responsible for nearly all data storage, validation and integrity. We leverage constraints, functions and custom extensions to ensure we have only one source of truth for our data access rules and that those rules live as close to the data as possible. Call us crazy, but ORMs only lead to ruin and despair.

    Avatar of Jeff Flynn
    Jeff Flynn uses PostgreSQLPostgreSQL

    Tried MongoDB - early euphoria - later dread. Tried MySQL - not bad at all. Found PostgreSQL - will never go back. So much support for this it should be your first choice. Simple local (free) installation, and one-click setup in Heroku - lots of options in terms of pricing/performance combinations.

    Avatar of Axibase
    Axibase uses HBaseHBase
    • Raw storage engine
    • Replication
    • Fault-tolerance
    Avatar of Mehdi TAZI
    Mehdi TAZI uses HBaseHBase

    Range scan and HDFS Buffering system

    Avatar of anerudhbalaji
    anerudhbalaji uses HBaseHBase

    Primary datastore

    How much does HBase cost?
    How much does PostgreSQL cost?
    Pricing unavailable
    Pricing unavailable
    News about HBase
    More news