使用MongoDB,Kafka及Spark作为印度第一个可负担智慧家庭项目的基础架构

Sheltrex,一个距离印度孟买大约2个小时车程、不断发展中的社区,我们负责了该项目的一部分工作。这个项目主要是将超过10万居民安置在可负担的智慧家庭中。为了使得这些家庭真正实现智能,我们正在搭建基础设施,能够近似实时地从数百万个传感器中收集数据。市民们可以通过一个移动应用来获取这些数据,从而更好地管理他们的家庭。

这是一个关于技术如何能改善我们生活非常有趣的案例,但是搭建可扩展的、快速的基础架构并不简单。在这篇博客中,我想着重介绍一下我们在Josh软件的团队(印度最领先的物联网和网站应用专家团队之一)是如何通过使用一系列有趣的数据工具(Apache Kafka,Apache Spark及MongoDB)来战胜这些挑战的。

在Sheltrex规划的2万间家庭中,已经成功完成了1,500多间。许多居民都已经居住进去了。这个试点是整个智慧小镇技术的试验点,涉及移动互联的安全性到智能电表监控电量消耗。

除了面向单个市民的移动应用,我们也构建了软件来聚合整个社区的数据。这就为小镇提供了与印度的电力供应者者协商更有竞争力折扣的能力。
此处输入图片的描述
印度Karjat可负担的Sheltrex智慧家庭项目

给房屋所有者和社区提供精确及时的用电数据就意味着需要快速处理来自数百万个传感器的信息,然后以一种健壮高效的方式进行存储。智慧城市应用与我们的栈API进行通信,为居民和小镇管理带来商业利益。整个解决方案主要分为两个“部分”。

第一个部分是实时从家庭中读取所有传感器数据。这包括了类似于温度和电量使用等数据点。传感器和智能电表数据首先被收集到一个Kafka提供的消息系统(一个开源、高吞吐、分布式、能够大范围实时处理数据的发布-订阅平台)。通过Kafka,数据进入到Spark,一个大型数据处理引擎,它相较于MapReduce而言更快速、更简单。在将数据写入到我们的第二“部分”之前,我们使用Java和Python在Spark中进行数据的处理和聚合。

第二个部分是智慧家庭数据存储和移动应用读取的地方。我们需要快速、灵活和健壮的存储工具,因此,我们选择了MongoDB。它是对所有智慧家庭数据进行存储、分析和存档的主要数据库。包括了时间序列数据,像常规的温度信息,以及强化的元数据,例如累积的电量花费和使用率。我们使用MongoDB的Hadoop连接件连接分析型和操作型数据集。

我们发现三种技术能够高效地共同运作,在避免了其它分布式流数据和数据库环境固有复杂性的前提下,搭建了一个弹性的、可扩展的、强大的大数据管道。在开发环境中,我们能够相对简单地集成数据,而在生产环境中,能够在每个阶段比较顺畅地传输数据。

更智能,更迅速

从一开始,我就已经使用MongoDB了,事实上,我已经在这个话题上写了几本书。非常高兴能够看到一个数据库逐渐成熟并且一直在正确的时间增加合适的功能。对我们来说,另一个巨大的优势在于:MongoDB可以帮助我们的开发人员及运维团队变得更加高效。

开发运维团队持续发布代码来支持新的需求,因此他们需要进行快速实现。MongoDB的易用性意味着我们可以加速开发流程,快速集成、测试和部署新功能。

目前,我们在同一个区域内的8个Amazon Web Service实例上进行操作。随着项目的扩展,更多的市民搬到Sheltrex,我们预计将会见到更多数据上的增长。这就是采用能够在大范围内高效运维的技术如此重要的原因。
此处输入图片的描述
印度Karjat可负担的Sheltrex智慧家庭项目

到目前为止,这个试点取得了令人难以置信的成功,而且我们也非常高兴地看到:伴随着成千上万新家庭的上线,我们的基础设施也在稳定地提升它的容量。然而,我们在Sheltrex中完成的仅仅是一个开端。住房是一个非常庞大的工程,随着越来越多的人居住在智能的、可负担的家庭中,这将会对社区和环境产生更大的影响。

我相信,这种可负担的、智能的住房将会变成世界各地的标准。微小的初始投入将会带来长期的住房遍历。这不仅仅从经济方面看,我们还可以节约浪费的水和电。

为了实现这个愿景,将会涉及到政治意愿,当然还有巨大的资金投资,但是在我看来,技术方面我们已经准备好了。通过在像MongoDB一样现代、成熟的技术上实现我们的伟大梦想,我们已经做好了改变世界的准备。

关于Josh软件&SimplySmart

从2007年开始,在兴趣和激情的驱动下,Josh成为了印度专注于使用Ruby On Rails搭建创新网络应用方面领先的公司。公司在三个基本需求的驱动下不断成长:打破常规、创新和学习。它为那些能够满足其中至少两个需求的客户构建产品。请查阅http://www.joshsoftware.com/了解更多细节。

由于小镇构建智能方案多样化的本质,Josh与另外一个名为SimplySmart Solution的公司进行合作,制定和实现了这些解决方案。正如从名字中可以看到的,SimplySmart技术依赖于简单的解决方案使得事物更加智能。请查阅http://www.simplysmart.tech/了解更多细节。

还有哪些公司也在使用MongoDB?请查阅链接

关于作者

Gautam Rege, Josh软件和SimplySmart Solutions的联合创始人。

翻译:周颖敏
审核:TJ
原文链接:https://www.mongodb.com/blog/post/using-mongodb-kafka-and-spark-to-build-infrastructure-for-india-s-first-affordable-smart-homes-project

赞(0)
未经允许不得转载:MongoDB中文社区 » 使用MongoDB,Kafka及Spark作为印度第一个可负担智慧家庭项目的基础架构
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!