聊一聊:数据库都有哪些类型?

哎呀,你的数据库分类太详细了,看得我头晕。
但说实话,我之前做项目的时候也遇到过很多坑。
让我告诉你我的经历。

例如,2 01 4 年我刚开始做电商项目时,我就开始使用MySQL。
当时数据量不大,我可以支持几百个并发。
结果2 01 6 年双1 1 期间,并发事件突然达到数万,数据库崩溃了。
就在那时我意识到仅MySQL的子表和子数据库是不够的。
我们还必须使用Redis进行缓存,否则点餐系统根本无法运行。
所以你看,可扩展性非常重要。

我是2 01 7 年接触MongoDB的,当时正在做内容推荐系统。
数据结构相对灵活。
使用 MongoDB 进行开发实际上要快得多。
但后来发现MongoDB的事务支持不是很好。
您必须编写自己的代码来处理跨文档操作,有时会出现问题。
这个我不敢乱说,我没有深入研究过。

2 01 9 年,我们团队做一个财务项目,对数据一致性要求特别高,所以必须使用Oracle。
虽然更昂贵,但总比拥有错误的数据要好。
但说实话,Oracle维护很累,我们的DBA每天都在加班。

2 02 0年,我们公司推出了TiDB,当时我觉得还蛮新潮的,结合了SQL和NoSQL的优点。
但实际使用后发现 TiDB 的运维成本也相当高,并不是轻易就能解决的。

所以你看,数据库选择确实取决于业务场景。
如果是金融、商业等行业,对数据一致性要求比较高,还是需要使用关系型数据库。
如果你正在创建一个互联网应用,数据量很大,并且需要考虑可扩展性,那么NoSQL可能更适合。

过去十年我面临的陷阱是我没有选择正确的数据库,从而导致项目延迟和客户投诉。
所以大家在选择数据库的时候,不要盲目追求新技术,一定要根据实际情况来选择。
例如,您期望的数据量有多大?有多少并发?团队的技术栈怎么样?都必须考虑到。

如果您有任何疑问,请随时问我。
虽然我不是专家,但至少我经历过很多陷阱,也许能够帮助你。

大数据常用数据库汇总

非关系型数据库和关系型数据库区别详解

传统关系数据库和列族数据库的区别