美文网首页
mongo与mysql的区别

mongo与mysql的区别

作者: 潇湘demi | 来源:发表于2020-07-14 11:38 被阅读0次

    MongoDB是基于文档的存储的(而非表)。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。模式自由(schema-free),意味着对于存储在MongoDB数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongo主要解决的是海量数据的访问效率问题。因为Mongo主要是支持海量数据存储的,所以Mongo还自带了一个出色的分布式文件系统Gri dFS,可以支持海量的数据存储。由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎。

    https://blog.csdn.net/striner/article/details/81114621

    Mongodb一共有三种集群搭建的方式:

    Replica Set(副本集)、Sharding(切片)、Master-Slaver(主从)

    https://www.cnblogs.com/nulige/p/7613721.html

            副本集指将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。

            在集群Master故障的时候,副本集可以自动投票,选举出新的Master,并引导其余的Slave服务器连接可以说MongoDB的副本集是自带故障转移功能的主从复制。

             而分片则指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集。追求的是高性能。

    要构建一个MongoDB Sharding Cluster(分片集群),需要三种角色:

    1)分片服务器(Shard Server)

       mongod 实例,用于存储实际的数据块,   这是一个独立普通的mongod进程,保存数据信息。可以是一个副本集也可以是单独的一台服务器。

    2)配置服务器(Config Server)

         这是一个独立的mongod进程,保存集群和分片的元数据,即各分片包含了哪些数据的信息。最先开始建立,启用日志功能。像启动普通的 mongod 一样启动配置服务器,指定configsvr 选项。

    3)路由服务器(Route Server)

       mongos实例,前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用起到一个路由的功能,供程序连接。本身不保存数据,在启动时从配置服务器加载集群信息,开启 mongos 进程需要知道配置服务器的地址,指定configdb选项。

        用于提供路由服务,由Client连接,使整个Cluster看起来像单个DB服务器

    相关文章

      网友评论

          本文标题:mongo与mysql的区别

          本文链接:https://www.haomeiwen.com/subject/muexhktx.html