数据库的类型都有哪些?

嘿嘿,听了你这么一说,我觉得数据库还是蛮有趣的。
上周,一位客户问我电子商务使用什么数据库,我向他解释了这一点。

关系型数据库,如Oracle、MySQL等都是基于表的,数据结构必须提前设计好。
优点是数据查询方便。
您可以使用 SQL 语句关联多个表以进行查询。
特别适合数据结构固定、必须保证数据一致性的场景。
例如,在银行系统中,当涉及存款和取款时,您对使用基于关系的系统没有信心。
记得2 02 3 年在上海做一个金融项目的时候,甲方坚持用Oracle,一切都很稳定。

非关系型数据库,如MongoDB、Redis,规则没有那么多,数据格式也比较灵活。
MongoDB 支持文档格式,任何格式都可以。
对于该示例,您指定的键值非常清楚。
这意味着直接通过键查找值而不用担心其他任何事情。
这类数据库的性能确实不错,而且很容易扩展。
特别适合数据量大、更新快、不用太担心结构的东西。
比如我朋友做直播送商品、消费者行为数据、产品信息等,使用Redis压力测试跑得很快。
2 02 3 年双十一的时候,他们增加了一些服务器,拆分了数据,问题就解决了。

但没有关系就不是万能的。
你在信息中还说复杂的查询是他的弱点。
如果你想使用SQL跨表检查多个条件,就会很混乱。
我之前就曾踏入过这个陷阱,搭建了一个后端系统。
老板坚持使用MongoDB进行用户授权管理。
因此,我想检查特定部门所有员工的权限。
我写了一个查询语句,花了很长时间才弄出来。
最后,我不得不使用MySQL。

所以,选择数据库要看具体的业务。
如果数据关系复杂,必须保证一致性,就应该是精确关系。
如果你想要大量数据、快速更新、非固定结构和追逐性能,非关系型是很好的选择。
无论如何,这取决于你。

数据库有哪些类型?

啊?当你谈论数据库时,听起来有点像艺术......你刚刚学习并参加考试吗?
关系型和非关系型,这确实是两种主要类型。
Oracle、MySQL等关系型数据库通过SQL语句进行操作,方便查询数据。
多表相关查询也是可能的。
适用于需要交易支持的场景,例如订单,以及对数据完整性要求较高的场景。
你想想银行账户,钱的增减一定要准确,不能弄错,一定要报。
非相对类型更加灵活,例如 MongoDB 和 Redis。
当你不玩SQL的时候,数据结构也不同,比如键值对、文档、列族、图形……如果你看一个商业网站,用户信息、产品详情、购物车等它们可以有不同的结构。
使用关系型数据库相当困难,但使用非关系型数据库就简单得多。
而且扩展方便,尤其是水平扩展,增加几台服务器就可以完成。

所讨论的好处大体上是正确的。
非关系型确实是高性能,因为它直接作用于键值对,通过了SQL解析层。
这也是一个很好的规模。
数据方面没有那么多限制。
只需添加一个服务器来分担压力就可以了。
相对类型在复杂问题和业务流程中的主要优势是。
如果要做一些复杂的跨表统计,SQL语句尽快写好即可。
另外,ACID(原子性、一致性、隔离性、持久性)特性也很完善,数据安全得到保证。

但是现在很多系统都是混合的。
例如,使用关系型数据库作为核心业务,保证数据一致性和事务性;使用非关系型数据库进行缓存、日志记录等。

某种程度上,选择哪种数据库取决于您的业务需求。
如果您想要进行复杂的查询并具有可靠的一致性,请使用相对类型。
如果您想要灵活性、性能和轻松扩展,非关系型可能更合适。