Citus vs MariaDB

Get Advice Icon

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

Citus
Citus

28
26
+ 1
8
MariaDB
MariaDB

3.7K
2.7K
+ 1
472
Add tool

Citus vs MariaDB: What are the differences?

What is Citus? Worry-free Postgres for SaaS. Built to scale out. Citus is worry-free Postgres for SaaS. Made to scale out, Citus is an extension to Postgres that distributes queries across any number of servers. Citus is available as open source, as on-prem software, and as a fully-managed service.

What is MariaDB? An enhanced, drop-in replacement for MySQL. 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.

Citus and MariaDB belong to "Databases" category of the tech stack.

Some of the features offered by Citus are:

  • Multi-Node Scalable PostgreSQL
  • Built-in Replication and High Availability
  • Real-time Reads/Writes On Multiple Nodes

On the other hand, MariaDB provides the following key features:

  • Replication
  • Insert Delayed
  • Events

"Multi-core Parallel Processing" is the primary reason why developers consider Citus over the competitors, whereas "Drop-in mysql replacement" was stated as the key factor in picking MariaDB.

Citus and MariaDB are both open source tools. It seems that Citus with 3.64K GitHub stars and 273 forks on GitHub has more adoption than MariaDB with 2.82K GitHub stars and 864 GitHub forks.

What is Citus?

It's an extension to Postgres that distributes data and queries in a cluster of multiple machines. Its query engine parallelizes incoming SQL queries across these servers to enable human real-time (less than a second) responses on large datasets.

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

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

Why do developers choose Citus?
Why do developers choose MariaDB?

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

    Be the first to leave a con
      Be the first to leave a con
      What companies use Citus?
      What companies use MariaDB?

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

      What tools integrate with Citus?
      What tools integrate with MariaDB?

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

      What are some alternatives to Citus and MariaDB?
      TimescaleDB
      TimescaleDB: An open-source database built for analyzing time-series data with the power and convenience of SQL — on premise, at the edge, or in the cloud.
      CockroachDB
      Cockroach Labs is the company building CockroachDB, an open source, survivable, strongly consistent, scale-out SQL database.
      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.
      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.
      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.
      See all alternatives
      Decisions about Citus and MariaDB
      StackShare Editors
      StackShare Editors
      MariaDB
      MariaDB
      MySQL
      MySQL

      Airbnb’s web experience is powered by a Rails monolith, called Monorail, that talks to several different Java services. MySQL databases store business data and are partitioned by functionality, with messages and calendar management, for example, stored separately from the main booking flow in their own databases.

      As traffic to the site continued growing, though, “one notable resource issue with MySQL databases [was] the increasing number of database connections from application servers.”

      Airbnb uses AWS’s Relational Database Service (RDS) to power their MySQL instances, and “RDS uses the community edition of MySQL server, which employs a one-thread-per-connection model of connection management.” With Airbnb’s scale, this meant that their databases would hit the C10K problem, which states that “there is an upper bound in the number of connections that MySQL server can accept and serve without dramatically increasing the number of threads running, which severely degrades MySQL server performance.”

      When an RDS MySQL server hits resource limits, users will have trouble connecting to the site.

      MySQL does have dynamic thread pooling, but it’s only available in the enterprise edition; AWS MySQL RDS, though, doesn’t offer this feature, meaning Airbnb didn’t have access to dynamic thread pooling out-of-the-box.

      After surveying several options, the team chose MariaDB MaxScale, which is “a MySQL database proxy that supports intelligent query routing in between client applications and a set of backend MySQL servers.”

      Instead of using the MariaDB MaxScale off-the-shelf, however, they decided to fork it and implement their own version that would include connection pooling. Other MaxScale features, like request throttling and query blocklisting were implemented as well.

      To enable horizontal scaling of the web application, the team deployed a MaxScale database proxy service in between app servers and MySQL servers. Through the service discovery system SmartStack, applications now “discover and connect to the database proxy service instead of the MySQL database,” allowing horizontal scaling to meet capacity demands.

      Additionally, new Airbnb MaxScale proxy server instances can be launched to further enable horizontal scaling.

      See more
      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 16 upvotes · 53.6K views
      atHeapHeap
      Citus
      Citus
      PostgreSQL
      PostgreSQL
      #DataStores
      #Databases

      PostgreSQL was an easy early decision for the founding team. The relational data model fit the types of analyses they would be doing: filtering, grouping, joining, etc., and it was the database they knew best.

      Shortly after adopting PG, they discovered Citus, which is a tool that makes it easy to distribute queries. Although it was a young project and a fork of Postgres at that point, Dan says the team was very available, highly expert, and it wouldn’t be very difficult to move back to PG if they needed to.

      The stuff they forked was in query execution. You could treat the worker nodes like regular PG instances. Citus also gave them a ton of flexibility to make queries fast, and again, they felt the data model was the best fit for their application.

      #DataStores #Databases

      See more
      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 14 upvotes · 46.3K views
      atHeapHeap
      Heap
      Heap
      Node.js
      Node.js
      Kafka
      Kafka
      PostgreSQL
      PostgreSQL
      Citus
      Citus
      #MessageQueue
      #Databases
      #FrameworksFullStack

      At Heap, we searched for an existing tool that would allow us to express the full range of analyses we needed, index the event definitions that made up the analyses, and was a mature, natively distributed system.

      After coming up empty on this search, we decided to compromise on the “maturity” requirement and build our own distributed system around Citus and sharded PostgreSQL. It was at this point that we also introduced Kafka as a queueing layer between the Node.js application servers and Postgres.

      If we could go back in time, we probably would have started using Kafka on day one. One of the biggest benefits in adopting Kafka has been the peace of mind that it brings. In an analytics infrastructure, it’s often possible to make data ingestion idempotent.

      In Heap’s case, that means that, if anything downstream from Kafka goes down, we won’t lose any data – it’s just going to take a bit longer to get to its destination. We also learned that you want the path between data hitting your servers and your initial persistence layer (in this case, Kafka) to be as short and simple as possible, since that is the surface area where a failure means you can lose customer data. We learned that it’s a very good fit for an analytics tool, since you can handle a huge number of incoming writes with relatively low latency. Kafka also gives you the ability to “replay” the data flow: it’s like a commit log for your whole infrastructure.

      #MessageQueue #Databases #FrameworksFullStack

      See more
      Amazon ElastiCache
      Amazon ElastiCache
      Amazon Elasticsearch Service
      Amazon Elasticsearch Service
      AWS Elastic Load Balancing (ELB)
      AWS Elastic Load Balancing (ELB)
      Memcached
      Memcached
      Redis
      Redis
      Python
      Python
      AWS Lambda
      AWS Lambda
      Amazon RDS
      Amazon RDS
      Microsoft SQL Server
      Microsoft SQL Server
      MariaDB
      MariaDB
      Amazon RDS for PostgreSQL
      Amazon RDS for PostgreSQL
      Rails
      Rails
      Ruby
      Ruby
      Heroku
      Heroku
      AWS Elastic Beanstalk
      AWS Elastic Beanstalk

      We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.

      We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.

      In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serverless for all 3 of those database systems.

      Additional services we use for our public applications: AWS Lambda, Python, Redis, Memcached, AWS Elastic Load Balancing (ELB), Amazon Elasticsearch Service, Amazon ElastiCache

      See more
      Joshua Dean Küpper
      Joshua Dean Küpper
      CEO at Scrayos UG (haftungsbeschränkt) · | 5 upvotes · 39.8K views
      atScrayos UG (haftungsbeschränkt)Scrayos UG (haftungsbeschränkt)
      Sentry
      Sentry
      GitLab
      GitLab
      PostgreSQL
      PostgreSQL
      MariaDB
      MariaDB

      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. PostgreSQLs 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
      Interest over time
      Reviews of Citus and MariaDB
      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 Citus and MariaDB
      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

      How much does Citus cost?
      How much does MariaDB cost?
      Pricing unavailable