Need advice about which tool to choose?Ask the StackShare community!
MariaDB vs RethinkDB: What are the differences?
Developers describe MariaDB as "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. On the other hand, RethinkDB is detailed as "JSON. Scales to multiple machines with very little effort. Open source". RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.
MariaDB and RethinkDB belong to "Databases" category of the tech stack.
Some of the features offered by MariaDB are:
- Replication
- Insert Delayed
- Events
On the other hand, RethinkDB provides the following key features:
- JSON data model and immediate consistency.
- Distributed joins, subqueries, aggregation, atomic updates.
- Secondary, compound, and arbitrarily computed indexes.
"Drop-in mysql replacement" is the primary reason why developers consider MariaDB over the competitors, whereas "Powerful query language" was stated as the key factor in picking RethinkDB.
MariaDB and RethinkDB are both open source tools. It seems that RethinkDB with 22.4K GitHub stars and 1.74K forks on GitHub has more adoption than MariaDB with 2.82K GitHub stars and 864 GitHub forks.
According to the StackShare community, MariaDB has a broader approval, being mentioned in 496 company stacks & 461 developers stacks; compared to RethinkDB, which is listed in 37 company stacks and 25 developer stacks.
Hi all. I am an informatics student, and I need to realise a simple website for my friend. I am planning to realise the website using Node.js and Mongoose, since I have already done a project using these technologies. I also know SQL, and I have used PostgreSQL and MySQL previously.
The website will show a possible travel destination and local transportation. The database is used to store information about traveling, so only admin will manage the content (especially photos). While clients will see the content uploaded by the admin. I am planning to use Mongoose because it is very simple and efficient for this project. Please give me your opinion about this choice.
The use case you are describing would benefit from a self-hosted headless CMS like contentful. You can also go for Strapi with a database of your choice but here you would have to host Strapi and the underlying database (if not using SQLite) yourself. If you want to use Strapi, you can ease your work by using something like PlanetSCaleDB as the backing database for Strapi.
Your requirements seem nothing special. on the other hand, MongoDB is commonly used with Node. you could use Mongo without defining a Schema, does it give you any benefits? Also, note that development speed matters. In most cases RDBMS are the best choice, Learn and use Postgres for life!
MongoDB and Mongoose are commonly used with Node.js and the use case doesn't seem to be requiring any special considerations as of now. However using MongoDB now will allow you to easily expand and modify your use case in future.
If not MongoDB, then my second choice will be PostgreSQL. It's a generic purpose database with jsonb support (if you need it) and lots of resources online. Nobody was fired for choosing PostgreSQL.
SQL is not so good at query lat long out of the box. you might need to use additional tools for that like UTM coordinates or Uber's H3.
If you use mongoDB, it support 2d coordinate query out of the box.
Any database will be a great choice for your app, which is less of a technical challenge and more about great content. Go for it, the geographical search features maybe be actually handy for you.
Hi, Maxim! Most likely, the site is almost ready. But we would like to share our development with you. https://falcon.web-automation.ru/ This is a constructor for web application. With it, you can create almost any site with different roles which have different levels of access to information and different functionality. The platform is managed via sql. knowing sql, you will be able to change the business logic as necessary and during further project maintenance. We will be glad to hear your feedback about the platform.
Any database engine should work well but I vote for Postgres because of PostGIS extension that may be handy for travel related site. There's nothing special about your requirements.
I’m newbie I was developing a pouchdb and couchdb app cause if the sync. Lots of learning very little code available. I dropped the project cause it consumed my life. Yeats later I’m back into it. I researched other db and came across rethinkdb and mongo for the subscription features. With socketio I should be able to create and similar sync feature. Attempted to use mongo. I attempted to use rethink. Rethink for the win. Super clear l. I had it running in minutes on my local machine and I believe it’s supposed to scale easy. Mongo wasn’t as easy and there free online db is so slow what’s the point. Very easy to find mongo code examples and use rethink code in its place. I wish I went this route years ago. All that corporate google Amazon crap get bent. The reason they have so much power in the world is cause you guys are giving it to them.
We actually use both Mongo and SQL databases in production. Mongo excels in both speed and developer friendliness when it comes to geospatial data and queries on the geospatial data, but we also like ACID compliance hence most of our other data (except on-site logs) are stored in a SQL Database (MariaDB for now)
Pros of MariaDB
- Drop-in mysql replacement149
- Great performance100
- Open source74
- Free55
- Easy setup44
- Easy and fast15
- Lead developer is "monty" widenius the founder of mysql14
- Also an aws rds service6
- Consistent and robust4
- Learning curve easy4
- Native JSON Support / Dynamic Columns2
- Real Multi Threaded queries on a table/db1
Pros of RethinkDB
- Powerful query language48
- Excellent dashboard46
- JSON42
- Distributed database41
- Open source38
- Reactive25
- Atomic updates16
- Joins15
- MVCC concurrency9
- Hadoop-style map/reduce9
- Geospatial support4
- Real-time, open-source, scalable4
- YC Company2
- A NoSQL DB with joins2
- Great Admin UI2
- Changefeeds: no polling needed to get updates2
- Fast, easily scalable, great customer support2