Hacker News new | ask | show | jobs
by databrecht 2408 days ago
NoSQL is not less important than others. Especially not with the rise of many startups that want to scale and want their sites to be lightning fast (e.g. available at the edge). Many companies I worked lately actually thought the non-traditional databases are becoming more important.

Also distinguishing NoSQL and SQL is quite old and still dating from the CAP theorem which is also becoming obsolete. You have traditional databases and the rest since 'NoSQL' are incorporating SQL features (ACID, joins, etc) and vice-versa, soon it will just be databases with feature X,Y,Z. If you want to add something I would rather add 'distributed databases'. Learn relational databases probably boils down to 'learn SQL'

Knowing which database to use in the landscape is extremely important.

It should imo be: - Learn SQL - Learn GraphQL (becoming the new SQL quickly) - Learn gRPC - Learn about database features (consistency, distribution, replication, sharding, OLTP, OLAP) and what database to use in which situation.

1 comments

"becoming the new SQL quickly" - Prisma, who led the way on that front, abandoned this pursuit.

"Learn GraphQL" - I'm not sure you need to learn GraphQL. You need to now that GraphQL is a powerful tool for APIs consumed by third party devs, such as the GitHub or Facebook API. But for internal APIs (and more than 98% of APIs are internal!), GraphQL (and even REST) is overkill and you'd be better off with RPC, such as Wildcard API [1] or gRPC [2]. Many developers will never have to build a GraphQL API in they entire career. Only few companies need to expose their data to third parties.

[1]: https://github.com/reframejs/wildcard-api

[2]: https://grpc.io/