• mongodb培训


    写在前面

    公司组织的技术培训,虽然刚接触mongodb没多久,算是入门吧,就组织一次mongodb的入门ppt培训。包括nosql的简单介绍,以及mongodb的一些优缺点,最后包括mongodb的一些增删改查操作。第一次,做技术培训,肯定有不足的地方,这里记录一下,ppt内容,也算勉励自己继续努力吧。

    ppt

    备注:

    1、早期就有人提出,发展至2009年趋势越发高涨。2010年,随着互联网Web2.0网站的兴起,NoSQL在国内掀起一阵热潮,其中风头最劲的莫过于MongoDB了。越来越多的业界公司已经将MongoDB投入实际的生产环境,很多创业团队也将MongoDB作为自己的首选数据库,创造出非常之多的移动互联网应用。

    NoSQL数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。这使NoSQL产品广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。

    2、随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的“社交网站”或“社交网”。曾经的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

     

     备注:

    1、这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。[3] 举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

    2、这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.

    3、文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB,已经开源。

    4、图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。[2] 如:Neo4J, InfoGrid, Infinite Graph.

    前面简单科普一下nosql的一些背景及概念,接下来,将着重讲述一下本Nosql四大分类中的Mongodb数据库。

    MongoDB的文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本,非常适合创业型团队的使用。

    Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。

    MongoDB的文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本,非常适合创业型团队的使用

    1、面向集合的存储:适合存储对象以及json形式的数据。

    2、动态查询:mongo支持丰富的查询表达式。查询指令使用json形式的标记,可轻松查询文档中内嵌的对象以及数组。

    3、完整的索引支持:包括文档内嵌的对象及数组。Mongo插叙优化器会分析查询表达式,并生成一个高效的查询计划。

    4、查询监视:mongo包含一个监视工具用于分析数据库操作的性能。

    5、复制以及自动故障转移:mongo数据库支持服务器之间的数据复制,支持主从模式以及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。

    6、高效的传统存储方式:支持二进制数据以及大型对象(如照片,图片等)

    7、自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。

     

    1、查询数度快。

    2、高并发。可以达到2w个并发。

    3、高容量。支持10tb以上的数据量。

     

    1、网站数据。Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制以及高度伸缩性。

    2、缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启后,由mongo搭建的持久化缓存层可以避免下层的数据源过载。

    3、大尺寸,低价值的数据。使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。

    4、高伸缩性的场景。Mongo非常适合由数十或者数百台服务器组成的数据库数据库。

    5、用于对象以及json数据的存储。Mongo的Bson数据格式非常适合文档花格式的存储以及查询。

     

    •4、更新
    •语法
    •>db.user.update({更新条件},{$set:{更新内容}});
    •>db.user.update({username:’zhangsan’},{$set:{username:’lisi’}});
    •更新符合查询条件的内容,如果字段不存在,则添加响应字段进行更新。
    •6、删除
    •进行collection的整体删除
    •>db.user.remove(); 如:删除某条记录:db.user.remove({username:’zhangsan’});
    •删除collection(物理删除)db.user.drop();
    •删除数据库:db.dropDatabase();

    mongodb和.net

    参考上篇文章的c#代码:Mongodb c#增删改查

  • 相关阅读:
    相对路径和绝对路径的问题"/"带不带斜杠
    El表达式获取项目名称
    struts 中的创建Action的三种方法
    maven中的profile文件的解析
    Maven中模块的聚合以及对jar包的继承
    Maven中解决依赖冲突的问题
    maven中的传递依赖和传递依赖的解除
    String类为什么是final的
    jdbc 报错解决办法
    org.hibernate.PropertyValueException: not-null property references a null or transient value:
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/4574881.html
Copyright © 2020-2023  润新知