-
最近学习mongodb,有一些混淆,希望各位老湿解答一下啊10
随便释疑哪个都欢迎啊。
1、nosql“全部都是”key-value机制的吗?mongo是一种nosql吧?
2、mongo是存储(bson)文档的?还是以hash结构 存储的key-value呢?也就是说mongo存储数据的时候,是把记录存到一个类似redis的hash表中吗?还是类似关系数据库的记录(只是scheme-free)?
3、如果mongo中有一个记录:{"_id":"id001", "name":"joe", "age",12},
那么这条记录中有key-value的结构吗?比如:
a)是否可以把_id看作是key, 这个记录是value呢?
b)是否可以把name:joe, 看作key为name,joe是value呢?
c)如果这是key-value,在磁盘存储的时候,这是hash的吗?
d)在内存中,应该是hash的吧?因为在java driver中,每条记录映射成了一个java.util.Map,多条记录是一个List。
问题补充
我认为mongo是介于关系数据库和nosql之间的一种内存数据库,是面向“bson文档”,和key-value关系不大。。。
请各位拍砖2012年3月19日 09:56
9个答案 按时间排序 按投票排序
-
a)是否可以把_id看作是key, 这个记录是value呢?
回答:完全可以。而且_id是全局唯一的。不过用_id检索时,得限定在某一Collection范围。
b)是否可以把name:joe, 看作key为name,joe是value呢?
回答:name就相当于关系型数据库的一个字段。所以不能把name看成是key。
目前以赶项目为主,余下两个问题还没深入研究。
说的不对还请各位指教。2012年3月19日 09:56
-
nosql全名是非关系型数据库,那么对应的就是sql,比如mysql,oracle等,他们都是遵循sql规范,前面加了一个no,就说明非sql规范,所以说k/v,文档型,队列,图形等数据库都是属于nosql
2012年3月19日 09:56
-
mongodb 是基于文档。 k/v 的 nosql 一般指的是数据的查询,操作方式是 通过 key 来进行的,而不是 map 或者 hash 或者 dictionary 中的 key,这两者是有区别的。
2012年3月19日 09:56
-
数据存储是一个双向链表,一般按插入顺序放的,不过对数据有更新的话可能不一定,内容就是bson文档
_id是默认的主键,另外有空间用btree结构索引
可以在其他字段上另外建索引
索引这块感觉和mysql基本类似,很多经验都可以沿用
不过结构仍然是btree 不是b+tree也不是b*tree2012年3月19日 09:56
-
额 这个其实所有的数据库都可以归为key-value存储的,因为都是根据一个key去寻求value(包括关系数据库),所谓的nosql只是弱化关系数据库里一些概念或者根本不支持,只提供最简单的根据主键(id)去查询。mongodb存储文档的时候用的是b树的变种,而不是hash,这样可以减少磁盘的IO
2012年3月19日 09:56
-
1.目前的noSQL主要有面向文档的数据库,面向Key-value的数据库,面向列队数据库。
还有面向图的数据库,但应用并不广泛。
2,mongo是存储(bson)文档的,内部存储不是key-value.
3,mongo的文档的id是默认主键,据我所知,存储结构不是key-value,无论是内存还是磁盘2012年3月19日 09:56
相关推荐
MongoDB是一种流行的开源、分布式文档数据库,被广泛用于构建现代数据驱动的应用程序。它属于NoSQL数据库家族,以其灵活性、可扩展性和高性能而备受青睐。MongoDB的核心特性包括JSON格式的数据存储、动态模式、强大...
"MongoDB 学习资料集锦" 包含了深入学习 MongoDB 的关键资源,如 "mongodb权威指南" 和 "官方的详细手册"。这些资料将帮助初学者和经验丰富的开发人员掌握 MongoDB 的核心概念、操作以及最佳实践。 首先,"mongodb...
本书《深入学习MongoDB》旨在帮助读者全面理解和掌握MongoDB的相关知识,从基础操作到高级应用,包括安装配置、数据模型、查询操作、数据存储、性能优化、复制集、分片集群、安全控制以及应用程序集成等多个方面。...
MongoDB,基础,学习,资料 MongoDB,基础,学习,资料
教程名称:从浅入深学习 MongoDB视频教程全集 课程目录:【】MongoDB视频教程-00_MongoDB代码【】MongoDB视频教程01_第一讲_上【】MongoDB视频教程02_第一讲_下【】MongoDB视频教程03_第二讲_上【】MongoDB视频教程...
自己在学习MongoDB的一些笔记,里面有各个查询选择器的使用截图,还有一些索引的介绍。
通过以上知识点的介绍,《深入学习MongoDB》这本书不仅涵盖了MongoDB的基本概念和技术要点,还深入探讨了高级特性和最佳实践,对于希望深入了解并掌握MongoDB的开发者来说是一本非常有价值的参考书。
11. **MongoDB驱动程序**:MongoDB有多种编程语言的驱动程序,如Python的PyMongo、Java的MongoDB Java Driver等,学习如何在不同语言中与MongoDB进行交互是开发中的关键。 12. **最佳实践**:包括数据模型优化、...
深入学习MongoDB:Scaling MongoDB && 50 Tips and Tricks for MongoDB Developers深入学习MongoDB中文版Scaling MongoDB英文版50 Tips and Tricks for MongoDB Developers英文版高清完整目录3本打包合集
MongoDB 学习 PPT 上课教程 MongoDB 是一个开源的、基于分布式的、面向文档存储的非关系型数据库。 MongoDB 的出现是为了解决大规模数据集合、多种数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的...
MongoDB 是一种流行的开源NoSQL数据库,以其面向文档的数据模型、高性能、高可用性和高可扩展性而闻名。它的设计目标是提供一个灵活且可扩展的解决方案,特别适合处理大量结构化和半结构化的数据。 在MongoDB中,...
本压缩包“MongoDB学习文档.zip”包含了一个名为“MongoDB学习文档.docx”的文件,该文件很可能是对MongoDB的基础知识、安装配置、操作指南以及Java API使用的详细介绍。 MongoDB的核心特性包括其灵活性、高可用性...
mongodb学习笔记资料,从安装到操作库collection 对document的crud 索引 replicaSet sharding 备份与恢复
这对于初学者理解和操作MongoDB数据库非常有帮助。 5. **可视化操作**:"MongoDB介绍和安装,插件可视化操作.zip"这个文件名表明可能包含关于MongoDB的可视化工具的教程,比如如何使用插件来提升MongoDB的管理和...
这份“mongodb学习手册”可能涵盖了MongoDB的基本概念、安装配置、数据操作、查询优化、备份恢复、安全性以及一些高级特性,例如分片、复制集和聚合框架等内容。通过阅读这本手册,初学者可以快速理解MongoDB的工作...
这份"mongodb 学习文档"涵盖了多个方面的内容,包括MongoDB的基础概念、安装配置、数据模型、查询操作、聚合框架、索引管理、复制集、分片集群等关键知识点。下面将对这些主题进行详细阐述。 一、基础概念 MongoDB...
对于希望深入学习MongoDB的读者来说,除了这本书之外,还可以参考官方的MongoDB手册、在线教程、社区论坛以及各种技术博客,这些都是学习MongoDB的宝贵资源。随着经验的积累,你可以进一步探索MongoDB的高级功能,...
02★MongoDB学习★MongoDB的安装
总之,“MongoDB视频”教程将引导你深入理解MongoDB的核心概念、操作技巧以及在实际应用中的最佳实践,无论你是初学者还是有经验的开发者,都能从中受益匪浅。通过观看和实践,相信你将在MongoDB的世界里游刃有余。