DEV Community

Cover image for What DBs would you recommend to master in 2021?

What DBs would you recommend to master in 2021?

Madza on December 09, 2020

Databases are something I always wanted to explore more and get better at. Thus the question, what DBs would you recommend learning for 2021? Which ones do you see holding future potential?

As of now, I like PostgreSQL for relational and MongoDB for all the non-relational stuff. Both seem to be solid for their purposes.

Collapse
 
rhymes profile image
rhymes

My suggestion is PostgreSQL :-)

They recently released version 13. It's not going away any time soon. You can get a solid understanding of relational database management systems which will also be useful to know when not to use them.

Collapse
 
chiubaca profile image
Alex Chiu • Edited

Second postgres! I've been working through tutorials at postgresqltutorial.com/. A brilliant resource.

Also i think supabase.io is going to make postgres more accessible than ever.

Collapse
 
madza profile image
Madza

Thanks for your input, valuable resources 🙏❤

Collapse
 
madza profile image
Madza

Awesome to see you participating, too 😉 First thing that comes to mind is the great job you do in the Forem repo 👌💯

Collapse
 
rhymes profile image
rhymes

ahah thanks Madza!

I know I'm biased towards PostgreSQL but that's because I've used it for a long time and it has never let me down really :) True that there are situations were a relational DB is not the best idea but that's mostly a generic software engineering type of consideration, I don't think it's related to the specific tool, I would say the same if I were more familiar with MySQL than I am with Postgres.

If you view picking up PostgreSQL skills as a gateway to learn relational DBs better I think you might get to your goal of learning databases better. I guess it's the same if you decide to spend more time on MongoDB or an alternative to learn the pros and cons of NoSQL.

Keep the "theory" in mind while you explore those goals, this way your skills will be more transferable between one and the other

Maybe do one at a time?

Thread Thread
 
madza profile image
Madza

That's in my list for 2021 for sure 😉 I believe most of the businesses are CRUD based (especially in corporate businesses), so being a master of at least one database per its type is essential 😉

Thread Thread
 
rhymes profile image
rhymes

I've worked in various types of software companies before joining Forem and I've never seen one not use a relational DB so I totally agree. A lot use multiple types of DBs (we do as well, by using PostgreSQL and Redis, though we don't do anything advanced on Redis yet) but the relational ones are always there somewhere

Collapse
 
sergeypodgornyy profile image
Sergey Podgornyy

It all depends on what purpose you need it for...

Use the right tool for the job. Don't bring the knife to the gunfight

See this video first

Collapse
 
madza profile image
Madza • Edited

This is an excellent starting point. 😉 Every tech has its own purpose and it's not the number of technologies you know that counts - it's your skill to identify the right tool for the particular job 😉

Collapse
 
cricarba profile image
Cristian Carvajal 👽

My suggestion is:

Searching: Elastic Search
Graphos: Neo4J
Cache: Redis
Clouds Data bases: SQL Azure, Cosmos DB, Dynamo DB
Documentals: MongoDb, Firebase
Relationals: SQL Server, Postgress, Oracle, Whatever is good

Collapse
 
madza profile image
Madza

That's a great list, thanks 🙏❤

Collapse
 
jacob_b_cohen profile image
Jacob Cohen

Check out HarperDB! We strive to combine the best of both relational and non-relational worlds into a single database solution. It's simple and easy to use, all operations are executed through a single API endpoint, so you can focus on your application instead of database administration.

Collapse
 
codefinity profile image
Manav Misra

HarperDB

Collapse
 
margo_hdb profile image
Margo McCabe

what he said

Collapse
 
siy profile image
Sergiy Yevtushenko

If it's going about RDBMS then PostgreSQL definitely worth attention. It's most advanced in regard to functionality and query optimization open source DB. Another relational DB which worth attention is the YugabyteDB. It makes an attempt to be compatible with PostgreSQL but unlike it, it's a distributed, highly scalable DB.
Among non-SQL solutions I think Cassandra and Apache Ignite are most interesting and useful.

Collapse
 
_garybell profile image
Gary Bell

I'm really enjoying Redis. Fast, stable, and full of functionality.

Its main challenge, I think, comes from forcing you to think of structuring data differently. Especially coming from a strictly relational database background.

Collapse
 
madza profile image
Madza

I've seen it mentioned quite often before 😉 Never done anything in it, tho 😉 Thanks for the suggestion 👍

Collapse
 
_garybell profile image
Gary Bell

I think the general view on Redis is that it's just a cache mechanism (that's why I started using it), but then learned there's so much more to it that that.

2021 is the year of Redis for me. I'm going to find more use cases for it, and build stuff with it.

Collapse
 
alaindet profile image
Alain D'Ettorre

PostgreSQL for sure. But I personally prefer MySQL / MariaDB for ease of use and availability everywhere

Collapse
 
clasense4 profile image
Fajri Abdillah

RDBMS is still enough for most of the application. Adding to that, one thing that interesting to me is the NewSQL, to name a few, TiDB and CockroachDB. It is like RDBMS with NoSQL scalability.

Collapse
 
mendoza profile image
David Mendoza (He/Him)

I say that PostgresSQL and MongoDB are great, MAYBE some day you should take a look at MariaDB documentation is not that different from PSQL

Collapse
 
rodpineda profile image
RodPineda

If you planning to work on a Corporate environment I suggest ORACLE or MS SQL. They are always in demand in large companies.

Good Luck

Collapse
 
andrecbrito profile image
Andrecbrito • Edited

I think is not about learning because of what has potential or is trending.
It depends on what type of data you are going to store!
Is it a graph-like structure with millions of nodes? consider neo4j

is it relational data types? Postgres seems fine
Do you need Geospatial, maps querying? try PostGIS
...

Edit:
Sergey Podgornyy shared an interesting video about this.

Collapse
 
aghost7 profile image
Jonathan Boudreau

There's quite a few companies using Elasticsearch nowadays. It could be worthwhile to also learn a bit about natural language processing (if you're interested in search).

Collapse
 
sujankh22371674 profile image
Sujan Khadka

Besides MySQL, I don't have hands-on knowledge about any other database but one of my co-workers suggested learning MongoDB.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

As for CMS / existing software, MySQL seems promising.

But having broader perspectives and choices would be interesting as well.

In the end, I think it depends on how much you get to choose...

Collapse
 
braisdom profile image
Braisdom

Hi, you'll love the ObjectiveSQL.
github.com/braisdom/ObjectiveSql

Collapse
 
madza profile image
Madza

Wow! 😮 Is this something you came up with? 👀

Collapse
 
nikolayy profile image
nikolay

SingleStore! (Formerly known as MemSQL)
singlestore.com

And then Redis, DUH!
redis.io

Collapse
 
conectado profile image
Conectado

Here is my hot-take, rather than what to master, what not to even bother with. That's MongoDB. There is no use case for that DB that can't be quickly replaced by a good DB such as Postgres.

Collapse
 
successtar profile image
Hammed Olalekan Osanyinpeju

I think MySQL is still very much relevant and not leaving any time soon but other available DB is also a good try.

Also, the nature of your project can influence the DB to use in some cases.