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

2 02 2 年,我参与了一个城市的大数据项目。
当时我们面临一个难题:如何处理海量的非结构化数据。
当时我认为关系数据库可能不是一个好的解决方案,因为它在处理非结构化数据方面很弱。
所以,我们开始考虑非关系型数据库,比如 MongoDB,它支持 JSON 格式,看起来很合适。

当时我很困惑,不知道该选择哪一个。
接下来查了资料,发现NoSQL数据库虽然灵活,但是对事务的支持较弱,复杂查询有限,学习成本较高。
后来我意识到也许我太极端了。

我们团队对此讨论了很长时间,最终决定使用 NewSQL 数据库,比如 TiDB,它结合了 SQL 的易用性和 NoSQL 的可扩展性,支持 ACID 和水平分片,看起来相当适合我们的金融级分布式系统。

项目进行到一半的时候,我发现数据库选型真的很复杂。
不仅要考虑数据结构、应用场景、功能特点,还要考虑业务需求、数据规模、团队技术栈。
当时我很困惑,但后来我意识到,没有绝对最优的数据库,只有最合适的解决方案。

数据库类型有哪些

嘿,你的数据库分类相当完整。
只需复制并粘贴教科书内容即可。
但我必须告诉你的是实际的工作经验,而不仅仅是理论。

上周一位客户问我有关选择数据库的问题。
他正在建设一个电子商务网站,问我MySQL是否足够。
我说:你们流量有多少?他说每天的收入只有几千块。
我直接推荐他用MySQL,省钱。
你看,尽管PostgreSQL有更强大的功能,但是中小型企业谁能用得起呢?
至于非关系型数据库,我是2 02 3 年在上海一家互联网公司看到的,使用的是MongoDB。
原因是它们存储的用户行为数据是半结构化的,用SQL检查速度非常慢。
但随后他们又重新使用 MySQL 来创建报告。
关系数据库非常适合聚合查询。

我每天都会遇到Redis。
我们内部的系统缓存、登录状态、闪购库存等都存储在Redis中。
为什么?因为它快!与内存操作和硬盘操作相比,速度差距不是一点点。
但请注意,如果Redis出现故障,所有数据都将丢失,因此必须对重要数据进行备份。

你提到的类别都是正确的,但是选择数据库确实不取决于品种。
如果您正在处理财务系统,则需要使用 Oracle 或 SQL Server。
事务隔离级别高,数据不可能出错。
如果你想搭建一个博客系统,MariaDB就足够了。

了解架构层面的理论就够了。
实际使用时,你只需盯着显示器并调整较慢的那个即可。
我也用ODBC,数据迁移很方便。

不管怎样,无论理论多么透彻,在选择数据库时,还是要根据具体需求来选择。
您列出的类别是正确的,但如果您确实必须选择,则必须将它们一一分类以找到最适合您的类别。

公安的八大数据库

嘿兄弟,让我告诉你一件事。
两年前,我在家乡公安系统工作时,遇到了一个情况。

当时有一个案例。
经过反复排查,最终依靠“全国逃犯信息资源库”解决。
想想看,如果那个图书馆没有嫌疑人的详细资料和照片,我们就得天天蹲着,腿断了也没用。
那些家伙像泥鳅一样躲了起来。

以前我们查车也很麻烦。
我们只好一一去4 S店和保险公司。
嗯,现在是“全国机动车/驾驶人信息资源库”。
如果你想查哪辆车,只需点击车牌号,几秒钟之内车主信息、违章记录等就会出来。
去年夏天,我帮一个朋友检查他的车是否有交通违规,这比独自开车去DMV还要快。

哦,对了,还有一次,我帮邻居找到被盗汽车,并将信息直接上报到“全国被盗抢汽车信息资源库”。
后来听说警方根据奈久里的情报,竟然在下一个省找到了。
这些盗贼最终落入了这个数据库。

但是我这个外行人无法准确解释这些数据库是如何工作的。
不管怎样,我亲眼看到他们发挥了很大的作用,帮助警方解决了很多问题。
如果您遇到问题,您真的可以感谢这些数据库。