MongoDB数据库核心概念是什么

本篇内容介绍了“MongoDB数据库核心概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    MongoDB数据库核心概念

    1.NoSQL数据库介绍

    NoSQL意思是不仅仅是sql。

    NoSQL指的是菲关系型数据库,NoSQL有时称作Not Only SQL的缩写,是对不同于传统的关系型数据的统称。

    NoSQL就是非关联形式的数据库,数据存储是key value形式。

    NoSQL类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

    2.MongoDB数据库介绍

    MongoDB由C++语言编写,是一个基于分布式文件存储的开源数据库系统,是专为可扩展性、高性能和高可用性设计的数据库,是非关系型数据库中功能最丰富,最像关系型数据库,MongoDB的数据结构是json和bjson格式。

    MongoDB是可以应用于各种规模的企业,各个行业以及各类应用程序的开源数据库,作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展灵活的更新。

    随着应用程序的更新,数据库某张表可能需要增加一个或多个字段,而mysql这种关系型数据库需要修改表结构,并且在更新成千上万条数据,这个过程可能会导致数据库死锁,这种更新字段放到了非关系型数据库mongodb中,就会变得非常简单,只需要添加新字段后,新数据进来时应用即可,旧数据不会有变动,大大减少了数据库的压力。

    MongoDB是一种叫做BSON(二进制JSON)的存储形式作为数据存储。

    3.MongoDB支持的数据格式

    3.1.JSON格式的数据类型

    JSON是一种轻量级的数据交换格式,json采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯,这些特性使json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。

    MongoDB使用json文档存储记录。

    json格式:

    { 
        "id": "f274ef35-05a2-40c6-9b84-ff1e97702300", 
        "version": "7.6.2", 
        "hostname": "nginx-6b949875bc-hrzrp", 
        "ephemeral_id": "1025c85b-df07-4c4b-98d4-f5593293ef0e", 
        "type": "filebeat" 
        
    }

    3.2.BSON格式

    BSON是一种类JSON的二进制形式的存储格式,简称Binary JSON,它和json一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,比如Date和BinData类型。

    BSON的优点是灵活性高,但它的缺点就是空间利用率不是很理想。

    BSON的特点:轻量性、可遍历性、高效性。

    4.MongoDB数据库的特性

    高性能

    • MongoDB提供高性能的数据持久化,尤其是支持嵌入式数据模型减少数据库系统上的I/O操作。

    • MySQL需要查询10张表,MongoDB一张表就可以搞定。

    • 丰富的语言查询,MongoDB支持丰富的查询语言来进行读写操作以及数据汇总。

    高可用性

    • MongoDB的复制工具是副本集,提供自动故障转移和数据冗余。

    • MongoDB之前有主从复制,后来的主从复制集群称之为副本集。

    水平可扩展性

    • MongoDB提供可扩展性,作为其核心功能的一部分,分片是将数据分散在一组机器上。

    • MongoDB副本集扩容也无需像redis需要迁移槽位,MongoDB可以直接扩容

    支持多种存储引擎

    • WiredTiger存储引擎、MMAPv1存储引擎和InMemory引擎。

    5.MongoDB程序

    MOngoDB Derives:客户端程序

    MongoDB Stitch:API服务

    MongoDB Atlas:云上部署MongoDB

    MongoDB Cloud Manager:管理MongoDB的软件包

    MongoDB Charts:可视化图表

    6.MongoDB应用场景

    游戏场景

    • 使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。

    物流场景

    • 使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。

    社交场景

    • 使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。

    物联网场景

    • 使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。

    视频直播

    • 使用 MongoDB 存储用户信息、礼物信息等,用户评论。

    电商场景

    • 商城上衣和裤子两种商品,除了有共同属性,如产地、价格、材质、颜色等外,还有各自有不同的属性集,如上衣的独有属性是肩宽、胸围、袖长等,裤子的独有属性是臀围、脚口和裤长等。

    “MongoDB数据库核心概念是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注蜗牛博客网站,小编将为大家输出更多高质量的实用文章!

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论

    有免费节点资源,我们会通知你!加入纸飞机订阅群

    ×
    天气预报查看日历分享网页手机扫码留言评论Telegram