mongldb是开源的nosql数据库,免费,开源和官方良好的技术支持,国外有ebay,github,sourceforge等在用mongodb,国内有百度,淘宝,京东,360,大众点评,天天动听等等公司,相对市场需求,mongodb从业人员较为短缺
1、熟悉mongodb的概念了解,比如mongodb,mongo,索引,集合,复制集,分片,数据均衡有一个完备的了解
2、学会mongodb的搭建,部署数据库服务,搭建简单的单机服务,搭建具有冗余容错功能的复制集,搭建大规模数据集群,完成集群的自动部署
3、熟悉mongodb的使用,最基本的文档的读写更新删除,各种不同类型的索引的创建与使用,复杂的聚合查询,对数据集合进行分片,在不同分片间维持数据均衡,数据备份与恢复,数据迁移
4、简单运维,部署mongodb集群,处理常见对故障,单节点失效,如何恢复工作,数据库意外被杀死如何进行数据恢复,数据库发生拒绝服务时如何排查原因,数据库磁盘快满时如何处理
mongodb学习网站
1、mongodb官网:www.mongodb.org
2、mongodb国内官方网站:www.mongoing.com
3、中文mongodb文档地址: docs.mongoing.com
4、mongodb的github:https://github.com/mongodb/
数据库概念
1、有组织地存放数据。
2、按照不同的需求进行查询。
数据库分类:
1、sql数据库:支持sql语言的数据库,oracle,mysql
随着大规模互联网的出现,传统的sql数据库遇到了一些应用上的弊端,比如sql对表的定义和应用不够灵活,横向拓展比较困难,与一些特性难以满足相比,反而sql数据库很多特性没有用武之地,比如在很多场景下,及时存取并不是必要的,也没有特别多的事务需求,而这些额外的特性消耗着sql数据库的性能,因此nosql数据库发展起来了
2、nosql数据库,不支持sql语言的数据库
健值组合的redis,mongodb (not only sql 悄悄的不支持sql语言)
区别:
与sql数据库相比,nosql数据库放弃了一些特性,比如实时一致性,事务的完整支持,多表联合查询,nosql数据库更加的简单便捷,方便扩展,更好的性能
为什么选择mongodb
1、无数据结构限制
1、没有表结构的概念,每条记录可以有完全不同的结构,在传统数据库难以事先
2、业务开发方便快捷
3、sql数据库需要事先定义表结构再使用
{name:'小明',sex:'男'}
{name:'小红',address:'上海'}
{name:'小兰',home:[{山东},{江西}]}
2、完全的索引支持
1、redis的key-value
2、hbase的单索引,二级索引需要自己实现。
mongodb支持单键索引,多键索引:{x:1,y:1}
数组索引:['apple','lemon']
全文索引:'i am a little bird'
地址位置索引:2d
3、方便的冗余与扩展
1、复制集保证数据安全
2、分片扩展数据规模
4、良好的支持
1、完善的文档
2、齐全的驱动支持