MongoDb 学习

(一)MongoDb入门(开源的 NoSQL 数据库:免费、开源、良好的技术支持)

      MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解觉方案

      MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的

数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是支持的查询语言非常强

,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索

引。

             学习视频:视频推荐(推荐)

            重要网站:

             1、mongoDB官网:www.mongodb.org (1)安装包下载。(2)使用文档               

             2、mongoDB国内官网:www.monging.com 

             3、mongoDB中文翻译:http://docs.mongoing.com/

             4、mongoDB的github:https://github.com/mongodb (1)源码下载。

            学习目标 :

             1、Mongodb的概念

                 mongodb、mongo、索引、集合、复制集、分片、数据均衡

             2、学会mongodb的搭建

              部署数据库服务:搭建简单的的单机服务--》 搭建具有冗余容错功能的复制集--》 搭建大规模数据集群--》完成集群的

自动部署

            3、熟悉mongodb的使用

             (1)最基本的文档的读写更新删除;(2)各种不同类型的索引的创建与使用;(3)复杂的聚合查询;(4)对数据集

合进行分片,在不同的分片间维持数据均衡(5)数据备份与恢复;(6)数据迁移

            4、简单运维

             (1)部署mongodb集群;(2)处理多种常见故障;(3)单节点失效,如何恢复工作?(4)数据库意外被杀死如何进

行数据恢复?(5)数据库发生拒绝服务是如何排查故障?(6)数据库磁盘快满时如何处理?

 

(二)MongoDb特点(高性能、易部署、易使用

       * 面向集合存储,易存储对象类型的数据。

       * 模式自由。

       * 支持动态查询。

       * 支持完全索引,包含内部对象。

       * 支持查询。

       * 支持复制和故障恢复。

       * 使用高效的二进制数据存储,包括大型对象(如视频等)。

       * 自动处理碎片,以支持云计算层次的扩展性。

       * 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

       * 文件存储格式为BSON(一种JSON的扩展)。

       * 可通过网络访问。

 

(三)为什么要选择MongoDb

     1、无数据结构限制

         (1)没有表结构的概念,每条记录可以有完全不同的解构 

         (2)便于开发

         (3)sql数据库需要事先定义表结构再使用

      2、完全的索引支持

         (1)Redis的key-value键值索引

         (2)HBASE的单索引,二级索引需要自己实现

         (3)单键索引,多建索引,数组索引,全文索引都可以很好的实现

      3、方便的冗余与扩展

         (1)复制集保证数据安全(一层层的主从解构,良好的数据安全性,每一份数据都分为三分,以免发生数据丢失)

         (2)分片扩展数据规模(方便的规模扩展)

     4、良好的支持

         (1)完善的文档

         (2)齐全的驱动支持

 

(四)MongoDb安装与配置

         Linux下MongoDB安装和配置详解

         Window下MongoDB安装和配置

 

(五)MongoDb简单使用

你可能感兴趣的:(Java,EE)