DEV Community

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

What DBs would you recommend to master in 2021?

madza profile image Madza ・1 min read

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.

Discussion (33)

pic
Editor guide
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 Author

Thanks for your input, valuable resources 🙏❤

Collapse
madza profile image
Madza Author

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 Author

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 Author • 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
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
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 Author

That's a great list, thanks 🙏❤

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 Author

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
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
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
alaindet profile image
Alain D'Ettorre

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

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
nikolayy profile image
nikolay

SingleStore! (Formerly known as MemSQL)
singlestore.com

And then Redis, DUH!
redis.io

Collapse
sujankh22371674 profile image
सुजन खड्का🇳🇵

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
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
braisdom profile image
Braisdom

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

Collapse
madza profile image
Madza Author

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

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
bennettblack profile image
Bennett

It's hard to go wrong with MySQL.

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.