gpt4 book ai didi

mysql - 基于文档的数据库为何如此之快?

转载 作者:可可西里 更新时间:2023-11-01 06:30:25 26 4
gpt4 key购买 nike

我只是想更好地理解,根据我多年的经验,基于文档的解决方案很慢并且需要大量 I/O。例如在 PHP 项目中,通常认为使用像 Redis、Memecache 或 APC 这样的内存缓存要好得多,因为它们是基于内存的,而不是将数据缓存到实际的文件中。

现在所有这些 NoSQL 数据库都已经到来,我读到它们如何比 MySQl 和其他数据库快得多,而且它们是基于文档的。有人可以帮助我理解这个理论吗?如果每条记录都是一个Document(FILE),那性能上怎么这么好呢?我最近读到一个人在一个项目中使用 Redis 并说他切换到 MongoDB 并且比他使用 Redis 有更好的结果(我意识到我正在将缓存与数据库进行比较,但这不是真正的问题,我想知道基于文档的解决方案如何比基于非文档的解决方案更快?)

最佳答案

基于文档并不一定意味着它们完全存储在文件系统中。有些部分仍然可以像索引一样保存在内存中。

仅基于文档意味着数据库将数据存储在包中(就像一张纸,每张纸都是一个数据集,您可以在上面自由书写)而不是像表格这样非常具体的结构。

http://en.wikipedia.org/wiki/Document-oriented_database

啊,为什么它们可以比 Redis 更快:
假设您需要在一组中存储一些非线性信息(即,并非每个数据集看起来都相同,并且您在一组中有不同的数据类型。在 Redis 上,您只能存储键值对,因此您需要将它们链接在一起到您自己的代码/实现中的集合。在 NoSQL 数据库中,数据库以(可能)更优化的方式为您处理 :)

关于mysql - 基于文档的数据库为何如此之快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8816824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com