mongoldb学习之初识mongoldb
2016-07-21 15:15
260 查看
我只是知识的搬运工。
作为一个android开发工程师,初入职,公司没有什么关于android的任务,反而交给我一个XX管理系统的开发任务,java后端。
大三学习的Java web,我基本都还给老师了,现在要一点点捡起来,所幸java还是熟悉的。唔,初次接触了os 系统,在操作系统不熟,语言不熟的情况下,向朋友求助,安装了intellij idea,gradle,mongodb,安装的时候我啥都不懂,就按照步骤安装上了,照朋友的说法,这个组合开发起来比较简单,然额,把我带进了一个大坑。必须使用的几个工具包,突然不能用了.....真的要疯了,朋友也挺不好意思,算了,按照原生的来吧。
于是又安装了tomcat,写了个hello world,服务器测试成功。
数据库已经安装了mongodb,就没有再安装mysql。
接下来的时间,开始学习。
本文主要是一些概念。
MongoDB 是一款跨平台、面向文档的数据库。用它创建的数据库可以实现高性能、高可用性,并且能够轻松扩展。
MongoDB 的运行方式主要基于两个概念:集合(collection)与文档(document)。
文档
文档是MongoDB的核心概念,多个键及其关联的值有序的放置在一起就是文档。下面是几个关于文档的十分重要的概念:
文档中的键值对是有序的。
文档的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型。
文档的键是字符串,除了少数例外情况外,键可以使用任意UTF-8字符:
键不能含有/0(空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特殊环境下才能使用。
以“_”开头的键是保留的。
文档中不能有重复的键
集合
集合就是一组文档,如果说文档相当于关系数据库中的行,那么集合就相当于其中的表。
以下是关于集合的几个重要概念。
集合是无模式的。一个集合中的文档是多种多样的。
集合的命名规则如下:
集合名不能是空字符串“”。
集合名不能含有空字符“\0”,它代表集合名的结尾;
集合名不能以“system.”开头,这是为系统集合保留的前缀。
用户创建集合名字不能包含$字符。
集合的子集合。
可使用子集合来组织数据。
数据库
在MongoDB中,多个文档组成集合,多个集合组成数据库。
数据库命名规则:
集合名不能是空字符串“”。
集合名不能含有空字符“\0”,“.”,"$"," "(空格),“\”。
应全部小写。
最多64字节。
数据库最终会变成文件系统中的文件。
与关系数据库相比
1、MongoDB 相比 RDBMS 的优势
模式较少:MongoDB 是一种文档数据库,一个集合可以包含各种不同的文档。每个文档的字段数、内容以 及文档大小都可以各不相同。
采用单个对象的模式,清晰简洁。
没有复杂的连接功能。
深度查询功能。MongoDB 支持对文档执行动态查询,使用的是一种不逊色于 SQL 语言的基于文档的查询 语言。
具有调优功能。
易于扩展。MongoDB 非常易于扩展。
不需要从应用对象到数据库对象的转换/映射。
使用内部存储存储(窗口化)工作集,能够更快地访问数据。
2、为何选择使用 MongoDB
面向文档的存储:以 JSON 格式的文档保存数据。
任何属性都可以建立索引。
复制以及高可扩展性。
自动分片。
丰富的查询功能。
快速的即时更新。
来自 MongoDB 的专业支持。
3、MongoDB 适用的领域
• 大数据
• 内容管理及交付
• 移动及社会化基础设施
• 用户数据管理
• 数据中心
作为一个android开发工程师,初入职,公司没有什么关于android的任务,反而交给我一个XX管理系统的开发任务,java后端。
大三学习的Java web,我基本都还给老师了,现在要一点点捡起来,所幸java还是熟悉的。唔,初次接触了os 系统,在操作系统不熟,语言不熟的情况下,向朋友求助,安装了intellij idea,gradle,mongodb,安装的时候我啥都不懂,就按照步骤安装上了,照朋友的说法,这个组合开发起来比较简单,然额,把我带进了一个大坑。必须使用的几个工具包,突然不能用了.....真的要疯了,朋友也挺不好意思,算了,按照原生的来吧。
于是又安装了tomcat,写了个hello world,服务器测试成功。
数据库已经安装了mongodb,就没有再安装mysql。
接下来的时间,开始学习。
本文主要是一些概念。
MongoDB 是一款跨平台、面向文档的数据库。用它创建的数据库可以实现高性能、高可用性,并且能够轻松扩展。
MongoDB 的运行方式主要基于两个概念:集合(collection)与文档(document)。
文档
文档是MongoDB的核心概念,多个键及其关联的值有序的放置在一起就是文档。下面是几个关于文档的十分重要的概念:
文档中的键值对是有序的。
文档的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型。
文档的键是字符串,除了少数例外情况外,键可以使用任意UTF-8字符:
键不能含有/0(空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特殊环境下才能使用。
以“_”开头的键是保留的。
文档中不能有重复的键
集合
集合就是一组文档,如果说文档相当于关系数据库中的行,那么集合就相当于其中的表。
以下是关于集合的几个重要概念。
集合是无模式的。一个集合中的文档是多种多样的。
集合的命名规则如下:
集合名不能是空字符串“”。
集合名不能含有空字符“\0”,它代表集合名的结尾;
集合名不能以“system.”开头,这是为系统集合保留的前缀。
用户创建集合名字不能包含$字符。
集合的子集合。
可使用子集合来组织数据。
数据库
在MongoDB中,多个文档组成集合,多个集合组成数据库。
数据库命名规则:
集合名不能是空字符串“”。
集合名不能含有空字符“\0”,“.”,"$"," "(空格),“\”。
应全部小写。
最多64字节。
数据库最终会变成文件系统中的文件。
与关系数据库相比
1、MongoDB 相比 RDBMS 的优势
模式较少:MongoDB 是一种文档数据库,一个集合可以包含各种不同的文档。每个文档的字段数、内容以 及文档大小都可以各不相同。
采用单个对象的模式,清晰简洁。
没有复杂的连接功能。
深度查询功能。MongoDB 支持对文档执行动态查询,使用的是一种不逊色于 SQL 语言的基于文档的查询 语言。
具有调优功能。
易于扩展。MongoDB 非常易于扩展。
不需要从应用对象到数据库对象的转换/映射。
使用内部存储存储(窗口化)工作集,能够更快地访问数据。
2、为何选择使用 MongoDB
面向文档的存储:以 JSON 格式的文档保存数据。
任何属性都可以建立索引。
复制以及高可扩展性。
自动分片。
丰富的查询功能。
快速的即时更新。
来自 MongoDB 的专业支持。
3、MongoDB 适用的领域
• 大数据
• 内容管理及交付
• 移动及社会化基础设施
• 用户数据管理
• 数据中心
相关文章推荐
- golang实现unicode转换为字符串string的方法
- GoogleContacts同步,删除太多联系人问题
- mongoexport导出数据
- Golang 实现简单的滚动读取文本更新
- Google论文(1) GFS:Google文件系统 - 思维导图
- Google论文系列(2) MapReduce
- win7 修改winlogon内存 禁用Ctrl+Alt+Delete
- Golang Unit Test单元测试
- Proximal Algorithms--Proximal minimization
- golang post取参数的一些问题
- 欧莱雅浅谈OC中方法调用的顺序中的Category
- 浅谈OC中的Category
- 在线Google字体库
- Google I/O 2016笔记之图像压缩
- mongo数据项目应用
- go float 相等比较
- go reflect struct 遍历,反射
- go语言的beedb
- Django中的Form
- 从编译到使用 - ngrok 服务搭建