MongoDB 收购mLab 巩固全球云数据库地位
MongoDB 公司日前宣布,公司已经就收购位于旧金山的云数据库服务商mLab达成最终协议。在满足惯例成交条件的情况下,此次收购预计将在截至2019年1月31日的MongoDB公司财年第四季度完成。MongoDB收购mLab将有助于深化其与以开发人员为中心的初创公司群体的关系,而mLab在这方面一直非常成功。mLab目前在其平台上拥有大约100万个免费和付费托管数据库。
mLab首席执行官Will Shulman表示:“MongoDB为应用程序开发人员数据处理方式带来了巨大变革。 通过微服务构建软件系统并在云上部署这些系统是一种趋势。随着这一趋势的继续,我们预计它将为全球云数据库创造广泛的市场机遇,MongoDB在这方面占有优势,有望以其他数据库技术无法实现的方式推广这类软件系统。我们很高兴能和MongoDB公司携手并进,为各公司最有价值的资提——数据,提供现代化的存储和管理方式。”
MongoDB Atlas以独立、云服务的方式提供MongoDB现代通用数据库。Atlas内置久经验证的操作和安全实践,自动执行复杂且耗时的基础设施配置和数据库设置等管理任务,同时确保数据库的高可用性、高性能、全球数据分布及备份一致性。借助Atlas, 用户仅需点击鼠标或API调用即可实现在AWS、微软Azure 和Google 云平台上部署、管理和扩展MongoDB 数据库。
MongoDB总裁兼首席执行官Dev Ittycheria评价道:“自推出两年来,Atlas展现了非常强劲的发展势头,今年第二季度同比增长超过400%。这反映了MongoDB数据库在公有云中的受欢迎程度,和许多客户希望使用MongoDB数据库云服务的愿望。mLab的收购将使我们能够更快地扩展Atlas。mLab为其客户提供令人信服的服务长达七年,我们很高兴将这支才华横溢的团队带入MongoDB大家庭。”
关于MongoDB公司
作为全球领先的现代通用数据库平台,MongoDB旨在助力开发人员及其所构建的应用充分发挥软件和数据的力量。MongoDB总部设在纽约,在全球100多个国家拥有7,400余名客户。MongoDB数据库平台已经拥有超过4000万次下载、一百万余名MongoDB大学注册。
原文发布时间为:2018-10-18
本文作者: Mongoing中文社区
本文来自云栖社区合作伙伴“ Mongoing中文社区”,了解相关信息可以关注“Mongoing中文社区”。
【直播回顾】:Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战
主讲人:徐雷(阿里云栖特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。
喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》
点击关注徐雷的云栖社区个人主页
内容概要:基于Java Spring Boot 2.0可以快速开发REST API,但是如何根据API自动生成 Help Docs是非常重要的问题。本次课程详细介绍几种不同的Rest Help Docs的构建方式,核心原理与区别。以下为徐雷专家此次所讲的PPT截图:
本PPT下载地址:点击下载视频直播回顾:点击观看本直播回顾视频也可选择扫下方二维码入群观看~云栖社区的官方Java钉钉群:【阿里Java技术进阶】(3162人)点击link入群方式: http://tb.cn/gXRstIw相关文章:阿里特邀专家徐雷——Java Spring Boot开发实战系列课程【往期直播回顾】
【直播预告】:Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战
主讲人:徐雷(阿里云栖特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。
喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》
点击关注徐雷的云栖社区个人主页
内容概要:基于Java Spring Boot 2.0可以快速开发REST API,但是如何根据API自动生成 Help Docs是非常重要的问题。本次课程详细介绍几种不同的Rest Help Docs的构建方式,核心原理与区别。直播时间:2019年2月12日 周二 今晚20:00直播地点:【阿里Java技术进阶】钉钉群详情请看下方图片:
想看免费直播的提前扫码入群,或点击link入群: http://tb.cn/gXRstIw 前十四讲均在群中有回放视频相关文章:点击《阿里特邀专家徐雷——Java Spring Boot开发实战系列课程【往期直播回顾】》了解往期内容
【直播预告】:Java Spring Boot开发实战系列课程【第13讲】:Spring Boot 2.0实战 ElasticSearch搜索引擎与API解析
主讲人:徐雷(阿里云栖特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。
喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》
点击关注徐雷的云栖社区个人主页
内容概要:应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。直播时间:2019年1月22日 周二 明晚20:00直播地点:【阿里Java技术进阶】钉钉群详情请看下方图片:
想看免费直播的提前扫码入群,或点击link入群: http://tb.cn/gXRstIw 前十二讲均在群中有回放视频相关文章:点击《史上最大Java群已经诞生啦 ~ 热爱Java的你快快加入啦 ~》了解本钉群点击《阿里特邀专家徐雷——Java Spring Boot开发实战系列课程【往期直播回顾】》了解往期内容
【直播预告】:Java Spring Boot开发实战系列课程【第12讲】:Spring Boot 2.0性能监控实战与Actuator机制解析
主讲人:徐雷(阿里云栖特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。
喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》
点击关注徐雷的云栖社区个人主页
内容概要:应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。直播时间:2019年1月15日 周二 今晚20:00直播地点:【阿里Java技术进阶】钉钉群详情请看下方图片:
想看免费直播的提前扫码入群,或点击link入群: http://tb.cn/gXRstIw 前十一讲均在群中有回放视频相关文章:点击《史上最大Java群已经诞生啦 ~ 热爱Java的你快快加入啦 ~》了解本钉群点击《阿里特邀专家徐雷——Java Spring Boot开发实战系列课程【往期直播回顾】》了解往期内容
另外明晚20:00还会有阿里巴巴中间件技术专家断岭的直播:【直播预告】阿里专家断岭:当Spring Boot遇上Arthas—深入细节和排查问题的实践
MongoDB进阶之路:不仅仅是技术研究,还有优化和最佳实践
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。本文将从操作手册、技术研究、会议分享、场景应用等方向给大家推荐干货好文。一. 操作手册MongDB操作手册快速入门旨在帮助您快速创建MongoDB实例、对实例进行基本设置以及连接实例数据库,让您知晓从购买MongoDB实例到开始使用实例的基本流程。点击阅读详情MongDB视频教程1.白名单设置及连接2.备份与恢复3.监控与报警4.实例创建5.网络类型切换二. 技术研究1.MongoDB Driver:使用正确的姿势连接复制集MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用。但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在。点击阅读详情2.MongoDB Driver:使用正确的姿势连接分片集群云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁移完全透明化。点击阅读详情3.MongoDB云数据库常见问题诊断重要的内容 MongoDB的主备节点在运行过程中是不固定的,实例重启、升级、节点故障等都有可能导致主备切换,在生产环境应该使用副本集的方式来正确连接MongoDB来实现高可用。 连接问题 用户可通过DMS或mongo shell连接MongoDB云数据库,以下场景都基于用户使用mongo shell连接数据库。点击阅读详情4.MongoDB疑难杂症分析及优化本文主要介绍阿里云 MongoDB 数据库上客户遇到的问题,及相应的解决方案。点击阅读详情5.MongoDB复制集原理复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。点击阅读详情6.MongoDB复制集同步原理解析MongoDB副本集数据同步](docs.mongodb/manual/core/replica-set-sync/)主要包含2个步骤 intial sync,可以理解为全量同步 replication,追同步源的oplog,可以理解为增量同步 本文是对MongoDB高可用复制集原理的补充,会详细介绍MongoDB数据同步的实现原理。点击阅读详情7.MongoDB索引原理MongoDB索引原理 为什么需要索引? 当你抱怨MongoDB集合查询效率低的时候,可能你就需要考虑使用索引了,为了方便后续介绍,先科普下MongoDB里的索引机制(同样适用于其他的数据库比如mysql)。点击阅读详情8.MongoDB Sharded cluster架构原理为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。点击阅读详情9.关于MongoDB Sharding,你应该知道的MongoDB Sharded Cluster 原理 如果你还不了解 MongoDB Sharded cluster,可以先看文档认识一下 中文简介:MongoDB Sharded cluster架构原理 英文汇总:docs.mongodb/manual/sharding/点击阅读详情10.MongoDB sharding chunk 分裂与迁移详解云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁移完全透明化。点击阅读详情11.MongoDB Secondary 延时高(同步锁)问题分析背景介绍 MongoDB 复制集里 Secondary 不断从主上批量拉取 oplog,然后在本地重放,以保证数据与 Primary 一致。同步原理参考MongoDB复制集同步原理解析 Secondary 拉取到一批 oplog 后,在重放这批 oplog 时,会加一个特殊的 Lock::ParallelBatchWriterMode 的锁,这个锁会阻塞所有的读请求,直到这批 oplog 重放完成。点击阅读详情12.MongoDB dropdatabase 后,数据能恢复么?最近好几个社区用户咨询,错误的执行了 dropDatabse 把数据库误删除了(或 dropCollection 误删集合),有什么方法能恢复数据?本文主要介绍几种可能有效的恢复方案。 方案1:通过备份集恢复 如果对 MongoDB 做了全量备份 + 增量备份,那么可以通过备份集及来恢复数据。点击阅读详情13.MongoDB请求处理流程Mongodb多存储引擎支持机制介绍了Mongodb存储层创建数据库、创建集合、插入文档等数据库操作接口,本文将介绍mongodb处理客户端请求的模型。点击阅读详情14.MongoDB使用教程系列文章--Driver原理(初始化)前言 Driver是MongoDB非常重要的组成部分,通过不同的配置实现Secondary访问;读写分离,动态感知集群容灾切换等功能。MongoDB目前已经覆盖了大部分的开发语言,常见的JAVA到Go,可以参考官方连接MongoDB Drivers。点击阅读详情15.MongoDB Wiredtiger存储引擎实现原理Mongodb-3.2已经WiredTiger设置为了默认的存储引擎,最近通过阅读wiredtiger源代码(在不了解其内部实现的情况下,读代码难度相当大,代码量太大,强烈建议官方多出些介绍文章),理清了wiredtiger的大致原理,并简单总结,不保证内容都是正确的,如有问题请指出,欢迎讨论交流。点击阅读详情16.MongoDB mmapv1存储引擎解析mongodb的mongod服务管理一个数据目录,可包含多个DB,每个DB的数据单独组织,本文主要介绍mmapv1存储引擎的数据组织方式。点击阅读详情17.图解故障服务器下线:关于阿里云MongoDB高可用的探秘服务器容灾一直是云服务运维过程中无法避开的问题。MongoDB采用的是什么方法,得以做到在有机器故障的情况下依旧能保证用户业务的高可用?最近举行的“MongoDB Sharding杭州用户交流会”中,针对这一问题,阿里云资深研发工程师果实分享了关于MongoDB 故障服务器如何下线方面的详尽的技术解密。点击阅读详情18.阿里云MongoDB Sharding备份和恢复服务深度解密大数据时代,数据保存的重要性不言而喻。在数据保存过程中,买QQ平台数据的备份更是一个值得深入研究的课题。在3月12日下午举行的MongoDB杭州用户交流会上,阿里云技术专家明俨分享了MongoDB Sharding备份和恢复的技术解密。点击阅读详情三.会议分享1.MongoDB最佳实践及性能优化(DTCC中国数据库技术大会分享PPT)上周五在北京DTCC分享了「32 Tips to Boost MongoDB Performance」,本文是分享的PPT以及重要内容的注解。 注解:本次分享主要「自底向上」的介绍提升 MongoDB 服务性能需要注意的问题,从硬件、操作系统、服务端一直到应用端,前面3个层次的建议主要面向DBA及运维人员,而最上层的应用开发建议主要面向开发者。点击阅读详情2.MongoDB秒级备份恢复(SDCC上海站数据库核心技术与应用实战峰会分享PPT)本文是我3月18日在CSDN举办的SDCC上分享的PPT内容,主要介绍如何对MongoDB复制集及分片集群实现任意时间点的备份恢复,猛击这里下载PDF版本点击阅读详情3.MongoDB最佳实践及问题案例分析介绍MongoDB最佳时间以及线上问题的案例分析点击阅读详情4.基于MongoDB的高并发高可用政府云平台架构实践3月12日下午在阿里巴巴西溪园区,举行了MongoDB杭州用户交流会。微软MSDN特邀讲师徐雷分享《基于MongoDB的政府云平台高并发高可用HA架构实践 》,从自身实践出发,讲述了政府云平台分层、技术栈选型、物理架构、API架构及DB数据库架构的设计思路和方法点击阅读详情5.MongoDB分布式架构演进文章内容为2016年 PostgresSQL 中国用户会上分享内容,主要介绍 MongoDB 高可用、可扩展的分布式架构的演进过程。点击阅读详情四.场景应用1.什么场景应该用 MongoDB ?月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoDB?点击阅读详情2.MongoDB应用案例:使用 MongoDB 存储日志数据线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误、警告、及用户行为等信息,通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题,但当产生大量的日志之后,要想从大量日志里挖掘出有价值的内容,则需要对数据进行进一步的存储和分析。点击阅读详情3.MongoDB应用案例:使用 MongoDB 存储商品分类信息电商业务一个基本的功能模块就是存储品类丰富的商品信息,各种商品特性、参数各异,MongoDB 灵活的文档模型非常适合于这类业务,本文主要介绍如何使用 MongoDB 来存储商品分类信息,内容翻译自User case - Product Catalog 关系型数据库解决方案 上述问题使用传统的关系型数据库也可以解决,比如以下几种方案 针对不同商品,创建不同的表 比如音乐专辑、电影这2种商品,有一部分共同的属性,但也有很多自身特有的属性,可以创建2个不同的表,拥有不同的schema。点击阅读详情4.MongoDB数据建模小案例:朋友圈评论内容管理MongoDB数据建模小案例:朋友圈评论内容管理点击阅读详情5.MongoDB数据建模小案例:物联网时序数据库建模注:本案例来自MongoDB官方教程PPT,也是一个非常典型的CASE,故此翻译,并结合当前MongoDB版本做了一些内容上的更新。 本案例非常适合与IoT场景的数据采集,结合MongoDB的Sharding能力,文档数据结构等优点,可以非常好的解决物联网使用场景。点击阅读详情6.阿里云MongoDB与EMR的HelloWorld越来越多的应用采用MongoDB作为数据存储层,性能高,扩展性强,通过WriteCocern参数还可以控制写入持久级别,CAP上灵活配置。文档型的存储结构又是特别适合物联网,游戏等领域,这些数据也蕴藏这巨大的价值,就像是金矿一样,需要挖掘。虽然MongoDB提供了MapReduce功能,但功能相对薄弱,如果说MongoDB MapReduce是铁锹,Spark就是一台真正的挖掘机。点击阅读详情7.当物流行业遇见MongoDB快递物流系统里最常见的一种业务类型就是订单的查询和记录。利用MongoDB数据库能够帮助企业快速搭建物流快递系统,助力物流企业轻松上云点击阅读详情8.天生一对,当游戏遇上MongoDB当游戏遇上MongoDB,会碰撞出什么样的火花,本文为您一一道来。MongoDB针对游戏灵活多变需求、一些专有场景-道具自动过期和附近玩家、高可用、高可扩展、回档、滚服、运营数据分析等场景都有非常好的解决方案,可谓是天生一对。点击阅读详情五.官网1.云数据库 MongoDB版云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。点击阅读详情2.云数据库MongoDB Sharding发布支持分表存储、自建迁移、副本集转Sharding等提供容灾备份、弹性扩容、监控运维等方案点击阅读详情3.云数据库MongoDB独享实例上线独享资源,保障业务持久稳定
时间序列数据和MongoDB:第 三部分 - 查询,分析和呈现时间序列数据
作者:Robert Walters
译者:刘东华 (Martin Liu)
在 时间序列数据和MongoDB中:第一部分 - 简介 我们回顾了您需要了解的关键问题,以了解数据库的查询访问模式。在 时间序列数据和MongoDB:第二部分 - 模式设计最佳实践中, 我们探讨了时间序列数据的各种模式设计选项以及它们如何影响MongoDB资源。在这篇博文中,我们将介绍如何查询,分析和呈现MongoDB中存储的时间序列数据。了解客户端如何连接以查询数据库将有助于指导您设计数据模型和最佳数据库配置。查询MongoDB有多种方法。您可以使用本机工具(如 MongoDB Shell 命令行)和 MongoDB Compass(基于GUI的查询工具)。通过一系列以编程方式访问MongoDB数据 MongoDB驱动程序。几乎所有主要的编程语言都有驱动程序,包括C#,Java,NodeJS,Go,R,Python,Ruby等等。
MongoDB还通过使用提供第三方BI报告工具集成 MongoDB BI Connector。流行的基于SQL的报告工具(如Tableau,Microsoft PowerBI,QlikView和TIBCO Spotfire)可以直接在MongoDB中利用数据,而无需将ETL数据导入另一个用于查询的平台。 MongoDB Charts目前处于测试阶段的提供了一种可视化MongoDB数据的最快方式,无需第三方产品或扁平化数据,因此可以通过基于SQL的BI工具读取。
在本博客中,我们将介绍使用上述工具查询,分析和呈现时间序列数据。
与聚合框架查询
MongoDB聚合框架允许开发人员表现执行数据准备,转换和分析的功能管道。这是通过使用执行特定阶段的操作来完成的,例如分组,匹配,排序或加工数据。流经阶段的数据及其相应的处理称为聚合管道。从概念上讲,它类似于通过Unix shell命令行管道的数据流。数据从前一阶段输入,执行工作,并且阶段的输出用作下一个处理阶段的输入,直到管道结束。图1显示了数据如何流经由匹配和组阶段组成的管道。
图1:通过聚合管道的示例数据流
$match是第一阶段在这两个阶段的管道中。 $match将整个订单集合作为输入,并提供一个过滤器,其中包含文档列表,其中“status”包含“A”值。第二阶段将这些过滤后的文档作为输入,并执行数据分组以产生所需的查询结果作为输出。虽然这是一个简单的示例,但请记住,您可以构建极其复杂的处理流水线,利用超过25个不同阶段类的100多个运算符,允许您执行转换,编辑,排序,分组,匹配,分面搜索,图形遍历和在不同的集合之间加入,仅举几例。您可以使用其他分布式数据库无法实现的方式处理数据。
通过我们的时间序列数据,我们将使用MongoDB Compass发出一个即时查询,查询给定股票的当日高价。 Compass是GUI工具,可让您轻松浏览数据。一个有用的功能是通过将数据处理阶段组装到画布上,然后将生成的管道导出为用于复制和粘贴到应用程序的代码,从而可视化地构建聚合管道。
寻找给定股票的日高价
在深入查询本身之前,请回想一下,在第2部分中本文章系列的为我们想跟踪的5只股票生成了1个月的股票价格数据。创建的两个集合中的一个称为“StockDocPerMinute”(PerMinute),它包含一个文档,表示特定股票代码的一分钟数据,如下所示。
考虑应用程序随时间要求给定股票代码的日高价的情况。如果没有聚合框架,则必须通过将所有数据检索回应用程序并使用客户端代码计算结果或通过在Javascript中定义map-reduce函数来完成此查询。从性能或开发人员角度来看,这两种选择都不是最佳选择。
请注意,示例文档有一个子文档,其中包含整个分钟间隔的数据。使用聚合框架,我们可以通过使用将子文档转换为数组轻松处理此子文档$objectToArray 表达式,计算最大值并得出所需结果,。
使用MongoDB Compass,我们可以使用Aggregation Pipeline Builder构建查询,如下所示:
图3:第一阶段是$match阶段
图4:第二阶段是$project阶段
图5:第三阶段是$addFields阶段阶段
图6:第四阶段是$group阶段
图7:第五阶段是$sort阶段
我们可以看到最后阶段的输出显示了每天的最大值。使用聚合管道构建器,我们不需要编写代码。作为参考,MongoDB Compass在前面的图中构建的完整查询如下:
利用视图
可以从现有集合或其他视图创建MongoDB只读视图。这些视图充当只读集合,并在读取操作期间按需计算。由于它们显示为另一个集合,因此您可以通过限制对视图的基础集合的访问来添加一层安全性,并为客户端提供对该视图的读取访问权限。如果您想了解有关视图访问控制的更多信息,请阅读博客文章“提供对MongoDB数据的最低权限访问”。
要查看视图的创建方式,请考虑用户要查询股票价格历史记录的方案。我们可以使用createView语法在StockDocPerMinute集合上创建一个视图,如下所示:
由于MongoDB只读视图在运行时具体化,因此每个查询都可以获得最新结果。既然定义了视图,就可以像任何其他集合一样访问它。例如,要使用我们可以发出的视图查询“FB”库存的第一个价格条目:
您还可以将聚合框架与视图一起使用。这是查询特定日期的所有“FB”股票代码数据。
使用第三方BI报告工具查询时间序列数据
用户可能希望利用第三方商业智能报告和分析工具中的现有投资。要使这些SQL语言工具能够在MongoDB中查询数据,您可以使用名为MongoDB BI Connector的中间服务。
图8:使用BI连接器使用您最喜欢的基于SQL的报告工具查询MongoDB数据
BI Connector服务向客户端应用程序提供类似于MySQL服务器的端口,并接受发出SQL查询的客户端连接。然后,BI Connector服务将这些查询转换为MongoDB查询语言(MQL),并将查询提交给MongoDB数据库。从MongoDB返回结果并将其展平为表格结构并发送回SQL语音客户端。图8详细介绍了此流程。
为了说明运行中的MongoDB BI Connector,让我们使用Tableau Desktop和MongoDB BI Connector的时间序列数据。 Tableau Desktop具有MongoDB的连接选项。使用该选项并连接到BI Connector中指定的端口,我们看到Tableau枚举了MongoDB数据库中的表列表。
图9:Tableau中的数据源视图,显示从MongoDB BI Connector返回的信息
这些表实际上是我们的MongoDB中的集合。继续使用Tableau中的Worksheet视图,我们可以使用我们在本文档前面创建的View继续并构建一个显示价格随时间变化的报告。
图10:示例Tableau工作表显示随时间变化的价格
MongoDB图表
在MongoDB中可视化数据的最快方法是使用MongoDB图表。目前可以测试使用,它为用户提供了一个Web控制台,他们可以直接从存储在MongoDB中的数据构建和运行报告。使用图表,没有特殊服务需要运行才能查询MongoDB。也无需将数据移出或将其转换为要查询的其他格式。可以将数据直接作为存储MongoDB的富文档进行查询。与其他只读连接一样,您可以将图表连接到辅助副本节点,从而将分析和报告查询与服务于操作时间序列应用程序的其他群集隔离开来。要查看MongoDB图表如何表示StockGen工具中的数据,请查看价格随时间线图,如图11所示。
图11:显示随时间变化的价格的
MongoDB图表处于测试阶段,因此详细信息和屏幕截图可能与最终版本不同。
使用MongoDB
进行分析除了使用MongoDB聚合框架发布高级分析查询外, MongoDB Connector for Apache 还公开了所有Spark的库,包括Scala,Java,Python和R.这使您可以使用Spark分析引擎进行大数据处理您的时间序列数据可以进一步扩展MongoDB的分析功能,以执行实时分析和机器学习。连接器将MongoDB数据实现为DataFrames和Datasets,以便通过机器学习,图形,流和SQL API进行分析。 Spark连接器利用MongoDB的聚合管道和丰富的二级索引来提取,过滤和处理您需要的数据范围!没有浪费时间提取和加载数据到另一个数据库,以便使用Spark查询您的MongoDB数据!
图12:MongoDBSpark连接器
MongoDB 的 R 语言驱动程序为开发和统计人员提供了一流的体验,包括对MongoDB的本地语言,本机语言访问,企业身份验证以及对BSON数据类型的完全支持。使用R语言可用的扩展库,您可以查询MongoDB时间序列数据并确定局部加权回归,所示。
图13:显示随时间变化的价格和每秒数据平滑的散点图
MongoDB的R驱动程序可通过CRAN R Archive获得。安装完成后,您可以连接到MongoDB数据库并返回可用于R计算的数据帧。上面的图是使用以下代码使用R Studio生成的:
天天天天梯梯梯梯梯梯
总 结
虽然并非所有数据都属于时间序列,但由于允许我们实时而非批量利用数据流的技术推动,其中越来越多的数据可归类为时间序列。在每个行业和每个公司中,都需要查询,分析和报告时间序列数据。实际业务价值来自从数据中获得的分析和见解。 MongoDB使您可以收集,分析和处理环境中的每个时间序列数据。在这三部分系列中,我们介绍了一些针对您的特定应用要求的发人深省的问题。在第二篇博客文章中,我们研究了几种不同的时间序列模式设计及其对MongoDB性能的影响。最后,我们总结了如何使用MongoDB聚合框架和MongoDB Compass查询时间序列数据的系列,以及使用BI连接器和R等分析语言的其他方法。
原型是一回事,但有效处理数TB的数据是不同的场景下的。使用MongoDB,可以轻松地横向扩展时间序列工作负载。通过使用副本集,只读客户端可以连接到副本集辅助节点以执行其查询,使主节点专注于写入。写入繁重的工作负载可以通过分片水平扩展。虽然对MongoDB架构的深入分析超出了这些博客文章的范围,但您可以在找到许多有用的信息:MongoDB Architecture白皮书。
物联网(IoT)用例会生成大量的时间序列数据。更大的物联网解决方案涉及支持各种硬件和软件设备以进行数据摄取,支持实时和历史分析,安全性,高可用性以及大规模管理时间序列数据等。 MongoDB正在为全球的关键任务物联网应用提供支持。有关MongoDB物联网的更多信息,请查看 物联网网站。
原文发布时间为: 2018-11-06
本文作者:Mongoing中文社区
本文来自云栖社区合作伙伴“Mongoing中文社区”,了解相关信息可以关注“Mongoing中文社区”。
MongoDB World 2016参会全记录
上周和 @叶翔 一起参加了在 纽约举行的MongoDB World 2016,MongoDB作为一个NewSQL数据库越来越受关注,这一点从google趋势、百度指数都可以看出来。
本次会议举办得非常用心,演讲主题丰富,涵盖了MongoDB产品规划、内部实现、用户案例、devops、driver使用等很多内容,能满足各种不同岗位听众的需求。我目前在阿里云数据库团队主要负责MongoDB源码方面的开发工作,所以重点会放在MongoDB内部实现的部分,接下来跟大家分享下参会的一些重要内容及感悟。
MongoDB 3.4 preview
MongoDB的版本迭代非常快,我接触MongoDB还不到一年的时间,已经经历了MongoDB 3.0、3.2两个大版本,云数据库为了跟官方保持同步,已经使用了最新的3.2版本。大版本的发布,新功能改进上还是非常给力的,比如3.2相比3.0版本,重大的改进包括:
默认的存储引擎从mmapv1切换为wiredtiger,提升性能的同时也能通过压缩降低存储成本
复制集的选举使用raft协议,可靠性进一步增强
支持文档校验功能(document validation)
支持left join($lookup)
支持in memory存储引擎(企业版),MongoDB支持复制集各成员使用不同的存储引擎,应用场景的想象空间很大
本次会议上介绍了下一个大版本3.4里的主要特性
全量同步(initial sync)改进,目前如果initial sync中间断开了,需要整个重来,改进后并行度提高,而且断开后能够接着上次的进度继续同步。
支持自定义文档排序规则(比如按ascii、utf8来排序)
只读视图(readonly view)
recursive lookup,目前只支持简单的left join
mongodb compass(企业版)在geo index、explain、crud操作上有很大的改进
bi connector功能提升(企业版)
总体看来,MongoDB还是很注重社区反馈的,像collation、只读视图的功能都是社区vote比较多的特性;企业版本支持上,3.2里只有企业版支持的功能主要包括审计日志、数据加密、mongodb compass/ops manager、bi connector,in memory存储引擎,大都是数据库外围的增值功能,放在商业版本里很能理解,但in memory存储引擎放到企业版我觉得很意外。
数据库引擎是MongoDB核心的组成部分,开发一个新的引擎很复杂的,而且引擎在各个场景下是否能表现得符合预期,不经过大量的使用验证是很难稳定的,以wiredtiger为例,wiredtiger在作为mongodb存储引擎之后,社区的各种使用案例遇到的问题也帮助wiredtiger改进了很多;希望官方能把in memory引擎放出来,让社区一起来提升它,这样MongoDB就能适应于更多场景了,比如在缓存的场景代替redis...成为真正强大的NewSQL。
MongoDB Atlas
本次大会最重量级的内容就是MongoDB Atlas Cloud Service的发布,MongoDB公司正式提供Database-as-a-service服务模式,用户可以选择在AWS(后续可能支持azure,gcp)上部署MongoDB云服务,模式跟现在的mlab类似。
Async network framework
这个主题主要介绍MongoDB 3.2异步网络框架的改造,Mongos跟Mongod的通信,典型的流程是connect ==> auth ==> [send request ==> recv response] * N ==> close,在之前的版本里整个过程是按顺序同步进行的,总体效率很低。
在3.2里实现了Async network framework,采用状态机转换的模式实现异步通信。一个线程池负责做实际的工作,并处理状态转换。请求的状态可分为『connect、auth、send、recv、close』等状态,connect状态会触发线程执行connect动作,并在连接成功的回调函数里将请求设置为auth状态,然后auth触发认证过程,成功后进入send状态,依此类推...整个过程异步化。
目前这个网络框架主要用于mongos与mongod、复制集mongod之间的通信,driver到MongoDB之间还是connection per thread的模式,跟MongoDB的工程师交流了下,这块有改进计划但不在3.4里。
Async network framework在设计实现时还考虑了代码可读性方面的问题,异步代码是非常难读的,各种回调很容易把人绕晕;MongoDB在在实现时大量使用了C++ 11的lamda表达式,尽可能将异步的代码写得『同步化』,以提升代码可读性。
Raft Protocol in MongoDB
从3.2版本起,MongoDB使用raft协议来保证一致性,这个主题思远同学在之前中文社区的Webinar也分享过,有兴趣的同学直接去看中文的PPT及视频,不做过多介绍。
Sharded cluster
这个主题主要介绍了Sharded cluster的config server从『多个独立mongod节点』演变为『复制集』后的一些设计考虑。
config server改为复制集模式后,复制集的备节点同步可能存在延时,而且primary节点还可能出现回滚(rollback)的情况,为了让所有mongos看到一样的视图,一致性的问题得重新考虑,3.2版本里引入了Read Concern的功能来解决这个问题。
mongos向config server写入时,使用默认的write concern,但读取时使用read concern majority级别,确保读取的数据已经成功写入大多数节点,这样就不会读到可能会回滚的数据了;
但光靠majority还不够,读到的数据可能不是最新的,比如3节点复制集,primary上成功更新了信息,比如chunk迁移后更新路由信息,但2个secondary还未同步,通过majority级别的read concern读取时,仍然可能读到未更新的路由信息。为了解决这个问题,在readConcern里加了一个afterOpTime的选项,指定读取的数据一定在某个时间戳以后,以确保读到最新的数据。
Testing Infrastructure
本次大会有好几个分享MongoDB内部测试相关的主题,我听了3个分享,分别讲MongoDB的持续集成测试、宕机测试、性能测试,感觉MongoDB在测试上的确做得很好,非常值得学习,总的来说就是将所有的测试『自动化』。
MongoDB使用evergreen(evergreen目前也是开源的)做持续继承测试,因为MongoDB实现上包含很多模块如replication、sharding、index等,再加上MongoDB是能在linux、windows、solaris等多个平台上运行的,测试是相当难做的。
MongoDB通过evergreen来实现自动化的持续集成测试,其自动追踪代码commit,并根据配置(哪个模块、哪个OS平台、哪些测试case)来执行测试,测试通过后,将代码提交到内部的代码仓库。绝大部分的测试工作都是在AWS机器上完成的,而且ervegreen还能弹性的控制测试需要的AWS的机器资源,以尽量降低成本。
为了保证MongoDB在异常情况下的数据可靠性,需要针对MongoDB运行的不同环境(虚拟机 or 物理机)进行断电测试,他们使用一种可编程插座来实现通过ssh的方式来自动启停服务器,以模拟断电测试环境。
性能测试(这里说的性能测试并不是说单纯测MongoDB的服务能力,目的是要发现MongoDB可能存在的性能问题,并进行优化),性能测试的基础还是『测试自动化』,多种workload持续测试,当发现性能问题后(有的问题可能要跑很久才会出现),就做case study,分析原因以及如何让问题重现,然后改进代码,重新测试...直到问题解决。
Wiretiger cache调优
wiredtiger cache的配置是个老大难的问题,社区里最近很多用户遇到持续insert场景下,cache满了之后,cache evict导致请求响应很慢,通过设置小的cache size可以缓解这个问题,所以wiredtiger的cache并不是越大越好。
wiredtiger的cache里存储解压缩后的数据,访问时如果WT cache命中,则直接读取数据;如果cache不命中,则会在OS page cache查找,再不命中则从磁盘读取。如果WT没有开启压缩、加密,则数据不会存储到WT cache里,相当于关闭了cache(这一点未实际验证过)。
对于WT cache的配置,没有明确的规则,建议如果读多写少,可以配置较大的cache size;如果写多读少,则配置较小的cache size。
存储引擎API及mongorocks
MongoDB 3.2已经支持wiredtiger、mmapv1、in-memory存储引擎,其他的一些存储引擎比如rocksdb、terakdb也对MongoDB做了适配,但没有被合到官方代码里。
MongoDB存储引擎适配工作量还是很大的,需要实现的接口挺多,还需要考虑各种可能的优化,比如wiredtiger引擎针对oplog采用特殊的删除策略来提升性能。希望存储引擎API的抽象能做得越来越好,适配起来更简单,这样才能让更多的引擎加入进来,让用户能有更多的选择。
SQL Proxy (BI Connector)
MongoDB 3.2企业版里支持bi connector来适配了多种bi分析工具如tableau等,通常这些工具都是直接使用SQL来进行数据分析,MongoDB开发了SQL proxy用于实现从sql到MongoDB的查询语言MQL的转换。
SQL里大部分操作都在MongoDB里都能找到对应操作符,重点需要解决数组字段的查询、MongoDB在实现SQL PROXY时,把数组的多个元素当做多个文档来看待(类似与$unwind操作符的工作),目前也有类似的项目做SQL到MQL的转换,如querymongo。
其他
国外技术会议参会平均年龄远大于国内,现场见到不少白头发的老头
MongoDB专门为会议开发了一个app,每个参会者会发一个小的智能设备,相互碰一下,app上就会自动加好友,app的数据就存储在MongoDB,这是对技术最好的诠释。
会议除了技术分享,会议第一天晚上安排了一个after party的活动,把参会的人拉到酒吧,听歌吃东西;第二天早上还有一个跟CTO一起晨跑的活动(老美的身体都太棒了,跑了几分钟就被甩得跟不上了,经常锻炼太重要了),会议结束后大家一块在会场喝啤酒、吃点心聊天。整个会议感觉很棒,学到了也玩到了。
foursquare是目前我了解到使用MongoDB规模最大的公司,部署节点700+,大量使用shareded cluster,MongoDB大有可为
百度、东航分享了使用MongoDB的经验,关注度很高,尤其百度的同学分享后很多听众提问
MongoDB的slogan是FOR GIANT IDEAS,本次会议也有2场keynote的分享跟技术及MongoDB无关,而是分享一些『很有创意的想法及实践』。
阿里云数据库团队常年招工,欢迎加入,和我们一起实现Giant Ideas!
13个Mongodb GUI可视化管理工具,总有一款适合你
MongoDB数据库默认的管理工具是(CLI)Shell命令行,对于专业的DBA来说比较容易上手,但是对于普通人员GUI可视化工具更方便使用。我们就来介绍13个好用的MongoDB可视化工具。MongoDB官方提供了社区版的Compass,可以独立安装使用,也提供了云服务器版本MongoDB Atlas。商业版本的MongoDB必须购买其订阅。MongoDB Atlas旨在在AWS,Azure和Google Cloud等云平台上运行。阿里云MongoDB数据库也提供了基于Web的管理工具。免费使用。MongoDB自带的Shell命令行工具,大家应该很熟悉了。1、Robo 3T管理工具Robo 3T前身是Robomongo。支持Windows,MacOS和Linux系统。Robo 3T 1.3为您提供了对MongoDB 4.0和SCRAM-SHA-256(升级的mongo shell)的支持,支持从MongoDB SRV连接字符串导入,以及许多其他修复和改进。大家也可以找到之前的Robomongo,完全免费的版本使用。Robomongo的核心功能:1、简单、智能提示2、查询命令自动完成提示功能3、通过拖放构建查询4、编写类SQL查询MongoDB命令5、将汇总查询细分为多个阶段6、生成五种语言的驱动程序代码7、比较收藏并并排查看差异8、探索数据模式并找到异常值9、以多种格式导入和导出,包括SQL迁移10、自动化MongoDB任务,例如导入和数据同步下载地址:https://robomongo.org/download
2、Navicat for MongoDBNavicat是一种收费数据库管理工具,大家应该使用过Navicat For MySQL版本,比较好用。Navicat 支持连接所有流行的数据库系统(如MySQL,MariaDB,MongoDB,SQL Server,SQLite,Oracle和PostgreSQL)的功能。下载地址:https://www.navicat.com/en/products/navicat-for-mongodb它提供14天的免费试用版,长期使用建议购买序列号。
3、MongoDB Compass 社区版MongoDB Compass也有社区版, 可以编写查询命令,也可以监视服务器的负载,它提供了数据库操作的实时统计信息。 适用于Linux,Mac或Windows。中国大陆安装MongoDB数据库,可以选择安装Compass,但是容易卡死,原因是从美国服务器在线安装。可以手动下载在离线安装。功能:1、内置模式可视化2、深入了解服务器状态和查询性能3、可视化,了解并使用您的地理空间数据4、创建,读取,更新和删除(CRUD)数据的简便方法5、易于理解的GUI6、可通过插件扩展7、在直观的UI中构建聚合管道下载地址:https://www.mongodb.com/download-center/compass
4、NoSQLBooster(mongobooster)管理工具NoSQLBooster正式名称为MongoBooster。是一个跨平台,附带了许多用于管理数据库和监视服务器的MongoDB工具。包含服务器监视工具,Visual Explain Plan,查询生成器,SQL查询,ES2017语法支持等等。可用于Windows,macOS和Linux。有免费版本。NoSQLBooster功能:1、使用NoSQLBooster for MongoDB,您可以运行SQL SELECT2、NoSQLBooster for MongoDB支持类似于For MySQL的流利查询构建器API3、支持Visual Explain Plan,MongoDB Log Parser,查询代码生成器,Visual Query Builder和Schema Analyzer4、通过免费的交互式示例学习Mongodb5、数组,对象和ObjectId值的工具提示6、测试数据生成器7、服务器实时状态(mongostat)8、mongotop,mongodump和mongorestore的GUI9、嵌入式Mongo Shell,无外部依赖10、拥抱ES201711、Lodash,ShellJs,Mathjs和Moment12、支持GridFS13、只读状态锁定14、用颜色标记连接15、在数据库之间轻松进行数据传输/同步16、只需导入和导出17、从RDBMS导入表18、导出到SQL文件下载地址:https://nosqlbooster.com/downloads5、Cluster control管理工具ClusterControl它不仅限于MongoDB,还支持MySQL,MySQL复制,MySQL NDB群集,Galera群集,MariaDB,PostgreSQL,TimescaleDB,Docker和ProxySQL。有社区版,可用于Linux平台(基于RedHat,Centos,Ubuntu或Debian)。1、查询监视器2、多数据库支持3、完全集成的CLI4、监控与顾问5、数据库部署6、集群/复制7、官方文档详细下载地址:https://severalnines.com/download-clustercontrol-database-management-system6、NOSQLCLIENTNosqlclient是一个免费的开源MongoDB管理工具,具有基于Web的GUI界面。NOSQLCLIENT功能:1、SSH支持2、独特的查询风格界面语法3、实时监控4、Mongodb的Shell命令界面5、X509,LDAP,GSSAPI6、数据导入/导出7、使用扩展的JSON代替BSON8、立即更新9、用户管理10、索引管理11、模式分析器12、自动提升命令13、文件管理下载地址:https://www.nosqlclient.com/docs/
7、Studio 3T管理工具Studio 3T属于收费企业工具。Robomong被3T公司收购,并更名为Robot 3T; 与Oracle收购MySQL竞争对手一样,收购竞争对手不是为了壮大对方,而是消灭一个对手。30天的免费试用版,与免费和开源的Robot 3T相比,Studio 3T具有更多功能并提供企业支持服务。支持Windows,Linux(Ubuntu和CentOS)和MacOS。Studio 3T功能1、通过拖放构建查询命令2、便捷的数据编辑3、表,树和JSON视图4、汇总编辑器5、可视化解释6、任务并询问调度程序7、从SQL到MongoDB的迁移8、查询代码,SQL查询,SQL导入/导出9、LDAP和Kerberos身份验证10、从Oracle导入11、导入/导出向导12、颜色编码的连接13、只读锁定,数据比较和同步14、模式浏览器15、服务器状态图,Map-Reduce和GridFS支持16、热键17、兼容MongoDB 4.0下载地址:https://studio3t.com/download/8、Mongo Management StudioMongo Management Studio是用于数据库管理的免费MongoDB GUI工具。 但是免费版本仅适用于Windows。 而企业版和个人版则适用于Linux,Windows和MacOS。 企业版(Web服务器)支持MongoDB Web界面HTTP GUI。Mongo Management Studio功能(免费版)1、UI索引管理2、副本集支持3、CRUD操作4、兼容MongoDB 3.0 / 3.2 / 3.4/3.6/4.0/4.25、MongoDB身份验证6、GridFS支持(只读)7、内联编辑,多次更新和保存查询8、SSL连接详细文件下载地址:http://mms.litixsoft.de/9、Aqua Data Studio Mongo管理工具收费,14天试用期。支持Windows,Linux和MacOS。提供了一个MongoDB数据库管理工具包,例如可视化分析,MongoSQL查询参考,MongoJS查询分析器,MongoShell MongoShell,FluidShell,查询和分析工具,网格图和数据透视图,表数据编辑器,导入和导出工具, 实体关系建模器; 可视查询生成器; 比较工具:模式比较,文件比较; SQL历史记录,开放API脚本环境,集成安全Shell(SSH)和版本控制:Subversion(SVN),Git,CVS,Perforce。MongoJS Query Analyzer Javascript编辑器允许执行JavaScript命令,并支持自动完成和语法突出显示。 结果可以在树层次结构,网格结果和文本中看到。下载地址:https://www.aquafold.com/aquadatastudio_downloads
10、phpMoAdmin- MongoDB管理工具很像phpMyAdmin工具,前者管理MySQL,phpMoAdmin管理MongoDB。基于Vork PHP框架开发。 轻巧且易于安装。 大小仅为115KB的moadmin.php文件,用户可以将其放置在现场的任何地方以开始工作。phpMoAdmin功能:1、数据库:带有数据大小的列表,创建/删除,修复/压缩2、显示集合列表,每个集合中包含许多对象3、单个智能搜索框接受:精确文本,(类型转换)值,JSON(启用Mongo运算符)4、Mongo GridFS5、GridFS对象自动将GridFS块链接到GridFS文件6、MongoDB统计信息:正常运行时间,内存等,先前错误的日志,Mongo-PHP设置和更多…下载地址:http://www.phpmoadmin.com/
11、Mongotron管理工具它是一个跨平台的MongoDB管理工具,已获得开源许可,并使用Electron框架和Angular JS构建。 在GitHub上可用。下载地址:https://github.com/officert/mongotron12、Mongolime最牛逼的地方在于支持MongoDB移动手机客户端,可轻松连接和访问MongoDB服务器。支持SSH,可轻松通过SSL进行身份验证和连接远程服务器。免费,支持量大移动平台IOS和Android平台。功能:1、查看和管理文件。2、创建和修改文档3、使用查询生成器搜索文档。4、以JSON格式将数据库和集合导出为ZIP存档。下载地址:https://mongolime.com/,也可以在手机App商店下载13、Mongo-express基于Web的MongoDB管理工具,使用Node.js,Express和Bootstrap3开发。 它允许连接多个数据库; 查看/添加/删除数据库,集合和文件; 预览音频/视频/图像数据; GridFS支持–添加/获取/删除大文件; 在文档中使用BSON数据类型,移动/响应式–引导程序和更多功能。下载地址:https://github.com/mongo-express/mongo-express
总结:以上10个MongoDB管理工具,Robomongo是用的最多的,也是最好用的,后面被收购,改名,Robo 3T。国内阿里云MongoDB自带Web可视化管理工具。MongoDB Compass 社区版也可以ch尝试。有钱的话推荐Navicat for MongoDB。
徐雷简介:1)MongoDB中文社区联席主席;2)《MongoDB实战》第2版译者;3)阿里云大学讲师;
参考资料:https://dzone.com/articles/which-is-the-best-mongodb-gui-2019-updatehttps://www.how2shout.com/tools/best-mongodb-interface-gui-tools-manage-databases.html
13 个 Mongodb GUI 可视化管理工具,总有一款适合你
作者:徐雷frankMongoDB官方提供了社区版的Compass,可以独立安装使用,也提供了云服务器版本MongoDB Atlas。商业版本的MongoDB必须购买其订阅。MongoDB Atlas旨在在AWS,Azure和Google Cloud等云平台上运行。阿里云MongoDB数据库也提供了基于Web的管理工具。免费使用。MongoDB自带的Shell命令行工具,大家应该很熟悉了。1、Robo 3T管理工具Robo 3T前身是Robomongo。支持Windows,MacOS和Linux系统。Robo 3T 1.3为您提供了对MongoDB 4.0和SCRAM-SHA-256(升级的mongo shell)的支持,支持从MongoDB SRV连接字符串导入,以及许多其他修复和改进。大家也可以找到之前的Robomongo,完全免费的版本使用。Robomongo的核心功能:1、简单、智能提示2、查询命令自动完成提示功能3、通过拖放构建查询4、编写类SQL查询MongoDB命令5、将汇总查询细分为多个阶段6、生成五种语言的驱动程序代码7、比较收藏并并排查看差异8、探索数据模式并找到异常值9、以多种格式导入和导出,包括SQL迁移10、自动化MongoDB任务,例如导入和数据同步下载地址:https://robomongo.org/download2、Navicat for MongoDBNavicat是一种收费数据库管理工具,大家应该使用过Navicat For MySQL版本,比较好用。Navicat 支持连接所有流行的数据库系统(如MySQL,MariaDB,MongoDB,SQL Server,SQLite,Oracle和PostgreSQL)的功能。下载地址:https://www.navicat.com/en/products/navicat-for-mongodb它提供14天的免费试用版,长期使用建议购买序列号。3、MongoDB Compass 社区版MongoDB Compass也有社区版, 可以编写查询命令,也可以监视服务器的负载,它提供了数据库操作的实时统计信息。 适用于Linux,Mac或Windows。中国大陆安装MongoDB数据库,可以选择安装Compass,但是容易卡死,原因是从美国服务器在线安装。可以手动下载在离线安装。功能:1、内置模式可视化2、深入了解服务器状态和查询性能3、可视化,了解并使用您的地理空间数据4、创建,读取,更新和删除(CRUD)数据的简便方法5、易于理解的GUI6、可通过插件扩展7、在直观的UI中构建聚合管道下载地址:https://www.mongodb.com/download-center/compass4、NoSQLBooster(mongobooster)管理工具NoSQLBooster正式名称为MongoBooster。是一个跨平台,附带了许多用于管理数据库和监视服务器的MongoDB工具。包含服务器监视工具,Visual Explain Plan,查询生成器,SQL查询,ES2017语法支持等等。可用于Windows,macOS和Linux。有免费版本。NoSQLBooster功能:1、使用NoSQLBooster for MongoDB,您可以运行SQL SELECT2、NoSQLBooster for MongoDB支持类似于For MySQL的流利查询构建器API3、支持Visual Explain Plan,MongoDB Log Parser,查询代码生成器,Visual Query Builder和Schema Analyzer4、通过免费的交互式示例学习Mongodb5、数组,对象和ObjectId值的工具提示6、测试数据生成器7、服务器实时状态(mongostat)8、mongotop,mongodump和mongorestore的GUI9、嵌入式Mongo Shell,无外部依赖10、拥抱ES201711、Lodash,ShellJs,Mathjs和Moment12、支持GridFS13、只读状态锁定14、用颜色标记连接15、在数据库之间轻松进行数据传输/同步16、只需导入和导出17、从RDBMS导入表18、导出到SQL文件下载地址:https://nosqlbooster.com/downloads5、Cluster control管理工具ClusterControl它不仅限于MongoDB,还支持MySQL,MySQL复制,MySQL NDB群集,Galera群集,MariaDB,PostgreSQL,TimescaleDB,Docker和ProxySQL。有社区版,可用于Linux平台(基于RedHat,Centos,Ubuntu或Debian)。1、查询监视器2、多数据库支持3、完全集成的CLI4、监控与顾问5、数据库部署6、集群/复制7、官方文档详细下载地址:https://severalnines.com/download-clustercontrol-database-management-system6、NOSQLCLIENTNosqlclient是一个免费的开源MongoDB管理工具,具有基于Web的GUI界面。NOSQLCLIENT功能:1、SSH支持2、独特的查询风格界面语法3、实时监控4、Mongodb的Shell命令界面5、X509,LDAP,GSSAPI6、数据导入/导出7、使用扩展的JSON代替BSON8、立即更新9、用户管理10、索引管理11、模式分析器12、自动提升命令13、文件管理下载地址:https://www.nosqlclient.com/docs/7、Studio 3T管理工具Studio 3T属于收费企业工具。Robomong被3T公司收购,并更名为Robot 3T; 与Oracle收购MySQL竞争对手一样,收购竞争对手不是为了壮大对方,而是消灭一个对手。30天的免费试用版,与免费和开源的Robot 3T相比,Studio 3T具有更多功能并提供企业支持服务。支持Windows,Linux(Ubuntu和CentOS)和MacOS。Studio 3T功能1、通过拖放构建查询命令2、便捷的数据编辑3、表,树和JSON视图4、汇总编辑器5、可视化解释6、任务并询问调度程序7、从SQL到MongoDB的迁移8、查询代码,SQL查询,SQL导入/导出9、LDAP和Kerberos身份验证10、从Oracle导入11、导入/导出向导12、颜色编码的连接13、只读锁定,数据比较和同步14、模式浏览器15、服务器状态图,Map-Reduce和GridFS支持16、热键17、兼容MongoDB 4.0下载地址:https://studio3t.com/download/8、Mongo Management StudioMongo Management Studio是用于数据库管理的免费MongoDB GUI工具。 但是免费版本仅适用于Windows。 而企业版和个人版则适用于Linux,Windows和MacOS。 企业版(Web服务器)支持MongoDB Web界面HTTP GUI。Mongo Management Studio功能(免费版)1、UI索引管理2、副本集支持3、CRUD操作4、兼容MongoDB 3.0 / 3.2 / 3.4/3.6/4.0/4.25、MongoDB身份验证6、GridFS支持(只读)7、内联编辑,多次更新和保存查询8、SSL连接详细文件下载地址:http://mms.litixsoft.de/9、Aqua Data Studio Mongo管理工具收费,14天试用期。支持Windows,Linux和MacOS。提供了一个MongoDB数据库管理工具包,例如可视化分析,MongoSQL查询参考,MongoJS查询分析器,MongoShell MongoShell,FluidShell,查询和分析工具,网格图和数据透视图,表数据编辑器,导入和导出工具, 实体关系建模器; 可视查询生成器; 比较工具:模式比较,文件比较; SQL历史记录,开放API脚本环境,集成安全Shell(SSH)和版本控制:Subversion(SVN),Git,CVS,Perforce。MongoJS Query Analyzer Javascript编辑器允许执行JavaScript命令,并支持自动完成和语法突出显示。 结果可以在树层次结构,网格结果和文本中看到。下载地址:https://www.aquafold.com/aquadatastudio_downloads10、phpMoAdmin- MongoDB管理工具很像phpMyAdmin工具,前者管理MySQL,phpMoAdmin管理MongoDB。基于Vork PHP框架开发。 轻巧且易于安装。 大小仅为115KB的moadmin.php文件,用户可以将其放置在现场的任何地方以开始工作。phpMoAdmin功能:1、数据库:带有数据大小的列表,创建/删除,修复/压缩2、显示集合列表,每个集合中包含许多对象3、单个智能搜索框接受:精确文本,(类型转换)值,JSON(启用Mongo运算符)4、Mongo GridFS5、GridFS对象自动将GridFS块链接到GridFS文件6、MongoDB统计信息:正常运行时间,内存等,先前错误的日志,Mongo-PHP设置和更多…下载地址:http://www.phpmoadmin.com/11、Mongotron管理工具它是一个跨平台的MongoDB管理工具,已获得开源许可,并使用Electron框架和Angular JS构建。 在GitHub上可用。下载地址:https://github.com/officert/mongotron12、Mongolime最牛逼的地方在于支持MongoDB移动手机客户端,可轻松连接和访问MongoDB服务器。支持SSH,可轻松通过SSL进行身份验证和连接远程服务器。免费,支持量大移动平台IOS和Android平台。功能:1、查看和管理文件。2、创建和修改文档3、使用查询生成器搜索文档。4、以JSON格式将数据库和集合导出为ZIP存档。下载地址:https://mongolime.com/,也可以在手机App商店下载13、Mongo-express基于Web的MongoDB管理工具,使用Node.js,Express和Bootstrap3开发。 它允许连接多个数据库; 查看/添加/删除数据库,集合和文件; 预览音频/视频/图像数据; GridFS支持–添加/获取/删除大文件; 在文档中使用BSON数据类型,移动/响应式–引导程序和更多功能。下载地址:https://github.com/mongo-express/mongo-express总结:以上10个MongoDB管理工具,Robomongo是用的最多的,也是最好用的,后面被收购,改名,Robo 3T。国内阿里云MongoDB自带Web可视化管理工具。MongoDB Compass 社区版也可以ch尝试。有钱的话推荐Navicat for MongoDB。徐雷简介:1)MongoDB中文社区联席主席;2)《MongoDB实战》第2版译者;3)阿里云大学讲师;阿里云栖社区讲师;4)目前就职于阿里巴巴,架构师。参考资料:https://dzone.com/articles/which-is-the-best-mongodb-gui-2019-updatehttps://www.how2shout.com/tools/best-mongodb-interface-gui-tools-manage-databases.htmlr/