MariaDB vs Oracle vs PostgreSQL

Get Advice Icon

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

MariaDB
MariaDB

5K
3.8K
+ 1
471
Oracle
Oracle

985
752
+ 1
82
PostgreSQL
PostgreSQL

24.9K
20.5K
+ 1
3.4K
- No public GitHub repository available -

What is MariaDB?

Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

What is Oracle?

Oracle Database is an RDBMS. An RDBMS that implements object-oriented features such as user-defined types, inheritance, and polymorphism is called an object-relational database management system (ORDBMS). Oracle Database has extended the relational model to an object-relational model, making it possible to store complex business models in a relational database.

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 MariaDB?
Why do developers choose Oracle?
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 MariaDB?
    What companies use Oracle?
    What companies use PostgreSQL?

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

    What tools integrate with MariaDB?
    What tools integrate with Oracle?
    What tools integrate with PostgreSQL?

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

    What are some alternatives to MariaDB, Oracle, and PostgreSQL?
    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.
    Percona
    It delivers enterprise-class software, support, consulting and managed services for both MySQL and MongoDB across traditional and cloud-based platforms.
    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.
    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.
    CouchDB
    Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API. CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript.
    See all alternatives
    Decisions about MariaDB, Oracle, 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
    Joshua Dean Küpper
    Joshua Dean Küpper
    CEO at Scrayos UG (haftungsbeschränkt) · | 7 upvotes · 136.2K views
    atScrayos UG (haftungsbeschränkt)Scrayos UG (haftungsbeschränkt)
    MariaDB
    MariaDB
    PostgreSQL
    PostgreSQL
    GitLab
    GitLab
    Sentry
    Sentry

    We primarily use MariaDB but use PostgreSQL as a part of GitLab , Sentry and Nextcloud , which (initially) forced us to use it anyways. While this isn't much of a decision – because we didn't have one (ha ha) – we learned to love the perks and advantages of PostgreSQL anyways. PostgreSQL's extension system makes it even more flexible than a lot of the other SQL-based DBs (that only offer stored procedures) and the additional JOIN options, the enhanced role management and the different authentication options came in really handy, when doing manual maintenance on the databases.

    See more
    Łukasz Korecki
    Łukasz Korecki
    CTO & Co-founder at EnjoyHQ · | 12 upvotes · 113.3K 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.7K 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.1K 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 · 117.3K 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 · 716.2K 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 · 37K 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.6K 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.3K 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 MariaDB, Oracle, and PostgreSQL
    Review ofMariaDBMariaDB

    MySQL was founded by Allan Larsson, Michael Widenius and David Axmark in the year 1995, 19 years ago. It was released under the name of co-founder Michael Widenius daughter, ‘My‘. This project was released under GNU General Public License as well as under certain Proprietary License. MySQL was owned by MySQL AB firm until it went into the hands of Oracle Corporation. It is written in Programming Language – C and C++ and is available for Windows, Linux, Solaris, MacOS and FreeBSD.

    In the year 2009, Michael Widenius started working on MarisDB as a fork of MySQL. In the year 2012 the bricks of nonprofit MariaDB Foundation was laid. It was named after the founder’s daughter Maria.

    MariaDB is a fork of MySQL Relational Database Management System which again is released under GNU General Public License. It is written in Programming Language – C, C++, Perl and Bash and is available for Systems Linux, Windows, Solaris, MacOS and FreeBSD.

    How developers use MariaDB, Oracle, 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 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 Scrayos UG (haftungsbeschränkt)
    Scrayos UG (haftungsbeschränkt) uses MariaDBMariaDB

    Aside from Redis, we use MariaDB to store long-term information like user-data and big-data like regeneration-information for our open-world servers. We extensively use the relational aspects of MariaDB in joins, nested queries and unions.

    Avatar of Seungkwon Park
    Seungkwon Park uses MariaDBMariaDB

    mysql보다 mariaDB가 join면에서 우수하다는 문서를 읽었습니다. 이 부분은 저의 블로그에서도 다뤘고 저의 word press 블로그는 mysql 대신 mariaDB 를 사용합니다.

    특히 limit 기능이 pagenation 처리를 할 때 너무 직관적이고 편해서 mariaDB, mysql을 사랑합니다.

    Avatar of Ana Phi Sancho
    Ana Phi Sancho uses MariaDBMariaDB

    Introduced in computer science course.managing relational database management systems, database analytics, and for data processing

    Avatar of nrise
    nrise uses MariaDBMariaDB

    수 백만개가 넘는 태그 키워드의 자동완성을 위해서 별도의 데이터베이스를 구축하였습니다. MariaDB 는 MySQL 을 포크한 프로젝트입니다. MySQL 과의 강력한 호환성을 지니며, 큰 튜닝 없이 강력한 성능을 보장합니다.

    Avatar of Dolls Kill
    Dolls Kill uses MariaDBMariaDB

    MariaDB has allowed us to easily scale out our DB cluster. Also has better replication tools than MySQL

    Avatar of Onezino Gabriel
    Onezino Gabriel uses OracleOracle

    Gerenciamento de banco de dados utilizados por odos os serviços/aplicações criados

    Avatar of Adrian Harabulă
    Adrian Harabulă uses OracleOracle

    recommended solution at school, also used to try out alternatives to MySQL

    Avatar of Satoru Ishikawa
    Satoru Ishikawa uses OracleOracle

    データベース構成設計や実際のデータ操作など。実作業では9i, 10g, 11gを触った。

    Avatar of Hyunwoo Shim
    Hyunwoo Shim uses OracleOracle

    Oracle을 통해 RDB를 학습하였습니다.

    Avatar of douglasresende
    douglasresende uses OracleOracle

    I'm expert database.

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