全新版本MongoDB数据存储席卷物联网

  • 时间:
  • 浏览:0
  • 来源:彩神大发快3_神彩大发快3官方



shardKey





TTL 索引

Aggregation Pipeline支持好多好多 的运算符,传统关系型数据库单表能做的Aggregation Pipeline都都都要做;MongoDB支持MapReduce,都都要在MongoDB的集合上写MapReduce的任务,数据分析后,又写回MongoDB。



MongoDB对索引的支持非常充沛,下面重点介绍物联网场景里经常被使用到的位置索引和TTL索引,位置索引可用于构建各种基于地理位置的应用,而 TTL 索引都都要实现设备历史数据自动过期的功能。



以下为内容收集:

内建支持

JSON格式的好处:

MongoDB 单个文档非要超过16MB,更大的文档都都要使用 GridFS 来存储,之类物联网里 OTA 升级文件、图片视频等的存储。

通过MongoDB Spark Connector,可直接在MongoDB数据集上运行 Spark ,与阿里云 E-MapReduce 完美结合。



应用场景比如设备增加新形态;事件日志,数组+内嵌文档。

使用MongoDB都都要把所有的记录作为你这些 设备的元素,以数组的形式存储起来,还都都要划分,把每分钟汇报按小时为单位聚合存储,有有另有有几次多都都要达到更少的文档、放慢的查询。

WriteConcern

可扩展分片集群都都要实现海量数据存储、高并发写入,之类物联网里少许设备汇报的日志数据。

高可用好友克隆集形态如下:

MongoDB在mongos包含balancer的任务,会周期性的扫描每个Shard当前负责的Chunk的数量,balancer根据shard持有的chunk数量自动负载均衡,balancer 运行时,要尽量主要如下有有有几次多多疑问。



ReadPreference



外部框架

MongoDB通过WriteConcern保证数据高可靠,默认情况报告下,MongoDB 使用{w: 1}的 WriteConcern 级别,当数据写到 primary 就像客户端返回。对于非常重要的数据,可在写入时设置WriteConcern: { w: “majority”},就会写到后端好友克隆集成员的大多数,再向客户端返回,保证数据在有节点宕机时并能不丢失。

位置索引

取舍集合的 shardKey 时并那么 有另有有几次多很完美的方案,都要用户根据数据分布形态、请求形态来取舍最优的 shardKey,使用时应该尽量正确处理以下有有有几次多多疑问:

负载均衡

MongoDB支持范围分片,每有有有几次多多范围在MongoDB的分片集群里成为有有有几次多多Chunk,每有有有几次多多Chunk就会分到后边的Shard上,优点是能很好的支持范围查询需求。

MongoDB 云数据库

MongoDB为了实现分片集群,引入了有有有几次多多新的组件mongos和Config Servers,Config Servers存储分片集群的元数据。首先配置好某个集合,按照某个key进行分片,接下来一条写请求就会到mongos上,mongos去Config Servers上查询路由表,把请求路由到后端的分片上,就实现了分片集群的功能。

物联网模型抽象

MongoDB的位置索引都都要针对有有有几次多多字段,MongoDB支持两种类型的位置索引字段,点和更灵活的位置,后后 我字段是你这些 数据形态,就都都要建立位置索引。建立位置索引后,就都都要使用MongoDB的near和geoWithin查询操作服务。

JSON 格式

功能支持

云数据库全链路监控

后后 我后端的存储数据有限,非要存储最近的数据,或多或少人儿都都要让MongoDB支持让指定数据在某段时间后过期。

MongoDB后边有Connection String URI,所有driver都支持Connection String URI法律法律依据连接,你这些 通用的连接串包含访问MongoDB的用户密码信息,都都要指定多个节点的地址,都都要指定鉴权数据库的信息。通过你这些 法律法律依据,后后 我在你这些 连接串里指定后端多个节点或指定 replicaSet 参数,正确连接好友克隆集后,用户客户端连接到你这些 好友克隆集后,会跟好友克隆集的每有有有几次多多成员建立有有有几次多多心跳关系,会不断的监测后端好友克隆集成员的变化情况报告,当后端出先主备切换时,driver 能自动感知。

随时动态增加字段如图。

GridFS



TTL索引有两种应用模式:指定某段时间后过期和指定时间戳过期。MongoDB对TTL索引的支持是有限制的,针对Date类型字段建索引。MongoDB在执行TTL索引时,后台过期逻辑每分钟执行一次。



MongoDB通过ReadPreference实现读写分离,都都要指定读写对象。



Schema free

物联网离或多或少人儿那么 近,这主要得益于云计算和移动互联网技术的发展。物联网技术后后 我应用于智能家居、车联网等领域,或多或少人儿进行模型抽象出物联网应用的共性,好多好多 设备(Assets)通过智能的传感器收集好多好多 数据并发到云端,哪此设备不断的产生日志、数据、事件并发到云端,数据在云端进行存储计算后,会产生好多好多 结果以接口的形式提供出去,方便或多或少人儿开发更多的手机App和Web应用。

物联网存储需求

MongoDB 内核优化

连接访问



MongoDB云数据库从2015年底始于公测,2016年3月份正式商业化运营,目已在线上稳定运行超过3天时间,了解更多请访问https://www.aliyun.com/product/mongodb

GridFS原理:



MongoDB支持Hash分片,针对Key先计算一次Hash值,再根据Hash值进行范围分片,优点是能均匀的将写请求分散到不同的分片。

文档模型

本文首先对物联网进行了模型抽象,着重和或多或少人儿剖析了MongoDB正确处理方案,包括文档模型、高可用好友克隆集、分片集群和Aggregation&MapReduce,最后分享了全新的MongoDB形态。





图为外部全链路监控视图,都都要精确的都看云数据库的每有有有几次多多客户端的每有有有几次多多连接,都都要都看上行下行的时延,请求时延,丢包率等,这对于查找线上疑问是非常方便的。



内嵌



数据分析

MongoDB3.0后后 推出了新的存储引擎Wiredtiger,Wiredtiger存储引擎对数据的压缩支持非常好,用户有有另有有几次多自建的MongoDB使用 mmapv1,迁到云上后加上Wiredtiger,磁盘的容量通常能下降到有有另有有几次多的10%-300%。





数据压缩

MongoDB是文档型数据库,其核心的三大优势是灵活文档模型 、高可靠好友克隆集、 高可扩展分片集群。在最新的 DB Engine Rank 的排名中,MongoDB 排在第4,是非关系型数据库领域的领头羊。



可扩展分片集群

MongoDB 正确处理方案

高可用好友克隆集

以三节点好友克隆集为例,会有有另有有几次多Primary和有有有几次多多Secondary,好友克隆集里的所有成员通过选举协议选出Primary,默认情况报告下,所有数据全部都是写到Primary且非要通过Primary写,读也是通过Primary来读。三节点数据存储三份,都都要容忍有有有几次多多副本失效,保证了数据的高可靠。当Primary挂掉后,另外有有有几次多多Secondary会发起新选举,保证服务正常进行。