大约十年前,SQL是关系数据库管理系统(RDBMS)中编程、存储和管理数据的一个无可争议的标准。RDBMS本质上是以行和列的结构化格式将数据存储在表中。它们存储的值甚至表本身都可以相互关联。各种实现,如MySQL、microsoftsqlserver和PostgreSQL都得到了广泛的应用。
然而,随着新的数据用例的出现,SQL发现自己在过去几年中受到了挑战。云计算和物联网(IoT)的发展使得从智能设备和传感器收集大量不同数量的非结构化数据成为可能。这种海量数据使得在SQL数据库中存储信息变得非常困难,这就导致了NoSQL数据库的使用。由于NoSQL数据库没有建立的关系模式,用户不必担心将非结构化数据强制放入预定义的表中。由于这种灵活性,NoSQL获得了很多宣传。
因此,开发人员现在面临着为其物联网相关项目在SQL和NoSQL之间进行选择的困境。然而,对于某些人来说,这可能不是一个直接的选择。许多企业系统和应用程序都对SQL数据库进行了大量投资。他们的大多数开发人员也更熟悉SQL。SQL备忘单中还有大量免费资源,因此即使是非开发人员也能够执行查询,理解每个SQL符号背后的含义,并从数据库中提取信息,而不需要深入的编程知识。由于SQL有多么根深蒂固,许多组织也希望将其物联网的采用与现有的基于SQL的系统和基础设施相结合。
比较大的问题是这是否有可能,如果有,付出的努力值得吗?
物联网的兴起
随着越来越多的设备在各种业务流程中得到应用,企业对物联网的采用率正在上升。到2020年,Gartner和企业级物联网终端将达到80亿个。
制造设施和工厂现在正在集成更多的互联网连接机器人和传感器,允许远程访问工业控制系统。仓库正在使用跟踪器来监控产品的移动。办公室还采用物联网设备,如智能恒温器、安全摄像头和设备,以帮助降低成本并实现日常流程自动化。为了最大限度地采用物联网,他们应该能够将物联网设备不仅集成到基础设施中,而且也集成到企业应用程序中。
这也意味着要确保数据可以安全、无缝地传递。物联网设备可以生成大量的数据,这些数据可以推动他们的大数据和分析工作。从分析中得出的见解最终会成为一种竞争优势。大型企业已经证明了这是可能的。例如,UPS使用车队的跟踪数据来创建最佳路线,使其交付更加高效和有效。
为什么NoSQL得到了提升
有趣的是,NoSQL已经存在很长一段时间了,但直到最近才在开发人员中找到了强大的支持。将NoSQL与物联网数据结合使用的一个有力论据是用户可以从设备存储数据的速度和容易程度。NoSQL使用键/值存储,或者用于一些更高级的NoSQL数据库、对象。使用NoSQL,只需附加新信息。这使得NoSQL数据库能够接受各种新信息。对于那些只想收集IoT数据流并将其记录到数据库中的工作,NoSQL似乎非常适合。
这与SQL的结构化格式相反。通常,那些使用SQL数据库的人会发现确定在何处分配某些值非常困难,尤其是如果这些值不适合现有模式。随着收集新信息的新设备集成到基础设施中,这些问题必然会变得常见。
SQL的情况
由于这些考虑,许多新的努力只是掩盖了SQL作为其物联网工作的选择。有时,这种选择甚至会导致组织内部的摩擦。虽然开发人员可能希望利用NoSQL的灵活性,但使用它可能需要新的投资。收购新的基础设施组件,即使它们只是云实例,如果该公司对SQL基础设施做出了现有的重大承诺,就很难证明这一点。
因此,技术官员面临的挑战是创建一个生态系统,使公司能够享受物联网的好处,同时很大限度地利用SQL资源和能力。在IoT中使用SQL是可行的。可以使用从端点接收信息的数据聚合器或节点,这些端点可以在将数据传递到SQL数据库服务器之前对其进行预处理。另一种方法是在端点软件中嵌入SQL,以便在传输到SQL服务器之前准备和处理数据。原始数据仍然可以存储在这些节点或备份上,但SQL准备的数据将用于应用程序。
当涉及到商业智能和分析时,使用结构化SQL数据并使之有意义仍然更容易。开发人员(甚至非开发人员)现有的专业知识和对SQL的熟悉程度也意味着他们可以很容易地从他们的物联网设备生成的数据中获益。
结论
归根结底,一切都归结为环境问题。从零开始的较小的工作和项目可能会发现,从NoSQL开始可以给他们比较大的灵活性和灵活性。已经在SQL中建立了使用和投资的组织可以找到继续使用该技术进行IoT工作的方法。但很明显的是,在这个勇敢的新物联网驱动的世界中,SQL仍然是相关的,并且可能具有巨大的价值。
责编AJX
-
数据
+关注
关注
8文章
7002浏览量
88938 -
物联网
+关注
关注
2909文章
44557浏览量
372750 -
SQL
+关注
关注
1文章
762浏览量
44115
发布评论请先 登录
相关推荐
评论