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.
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.
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.
Thanks for your input, valuable resources 🙏❤
Awesome to see you participating, too 😉 First thing that comes to mind is the great job you do in the Forem repo 👌💯
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?
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 😉
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
It all depends on what purpose you need it for...
See this video first
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 😉
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
That's a great list, thanks 🙏❤
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.
HarperDB
what he said
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.
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.
I've seen it mentioned quite often before 😉 Never done anything in it, tho 😉 Thanks for the suggestion 👍
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.
PostgreSQL for sure. But I personally prefer MySQL / MariaDB for ease of use and availability everywhere
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.
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
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
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.
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).
Besides MySQL, I don't have hands-on knowledge about any other database but one of my co-workers suggested learning MongoDB.
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...
Hi, you'll love the ObjectiveSQL.
github.com/braisdom/ObjectiveSql
Wow! 😮 Is this something you came up with? 👀
SingleStore! (Formerly known as MemSQL)
singlestore.com
And then Redis, DUH!
redis.io
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.
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.