美文网首页
边缘场景下数据库调研分析

边缘场景下数据库调研分析

作者: sjyu_eadd | 来源:发表于2020-04-29 16:18 被阅读0次

    1、背景

    随着计算机处理器的高速发展,存储系统与处理器之间的速度差异,已经成为了制约整个系统性能的严重瓶颈。边缘计算在数据存储和处理方面具有较强的实时性需求,相比现有的嵌入式存储系统而言,边缘计算存储系统更加具有低延时、大容量、高可靠性等特点。

    边缘计算的数据特征具有更高的时效性、多样性,以及关联性,需要保证边缘数据连续存储和预处理,因此如何高效的存储和访问连续不断的实时数据,是边缘计算中存储系统设计需要重要关注的问题。

    2、原则

    根据Redis Labs发布的白皮书:How to Select right database In IoT(https://redislabs.com/docs/4-steps-select-right-database-iot-solution/),基于以上,边缘场景下数据库需要具备以下特点:

    • Real-time data streaming(支持实时数据流处理)
    • Data filtering and aggregation(支持数据过滤和聚集)
    • Near-zero latency read operations(读操作接近零延迟)
    • Instant analytics(即时分析)
    • High availability(高可用)
    • Geo distribution(地理分布式)
    • Schema flexibility and many more(模式灵活等)

    3、数据库排名

    截至2020 April,DB-Engines上数据库排名(https://db-engines.com/en/ranking

    image.png
    下面列出几种典型数据库(时序数据库、文档数据库、内存数据库)的特点进行对比:
    image.png

    4、RedisEdge

    RedisEdge: The edge computing database for the IoT edge(https://redislabs.com/redis-enterprise/redis-edge/

    RedisEdge是一个专为物联网(IoT)边缘的苛刻条件而构建的多模型数据库。它每秒可以接收数百万次写操作,延迟<1ms,占用空间非常小(<5MB),因此它很容易运行在各种边缘设备和传感器上,从基于ARM32到x64的硬件。RedisEdge集成开源Redis(版本5,支持Redis Streams)与RedisAI和RedisTimeSeries模块,并使用RedisGears用于模块间通信。

    • Redis 5.0版本,内置的Set、List、Hash等数据结构可用作实时内存数据库,用来存储边缘网关采集到的设备实时数据。
    • Redis 5.0版本的Redis Streams数据结构,可用做消息中间件,把采集到的设备实时数据转发给其他边缘计算软件组件。
    • RedisTimeSeries是Redis的一个模块,可用作时间序列数据库,在边缘计算网关断网的情况下,能够离线保存需要上传到云端的设备历史数据。同时也有历史数据降采样、压缩、聚合的功能。
    • RedisAI是Redis的一个模块,用于执行深度学习模型,在边缘侧调用PyTorch、Tensorflow和ONNXRuntime等深度学习工具。
    • RedisGears是Redis的一个模块,类似MapReduce的分布式动态执行框架,可以用来在分布式的边缘计算节点或者雾计算节点上运行Serverless无服务程序代码。
      image.png
      RedisEdge的出现可以很好的消除IoT边缘环境下应用的复杂度。目前RedisEdge已经与EdgeX Foundry和微软Azure IoT Edge平台集成。
      image.png
      https://wiki.edgexfoundry.org/display/FA/Geneva+Release

    EdgeX Foundry从Geneva版本默认的数据库将采用Redis(目前使用的是MongoDB),我这里进一步修改为使用redisedge镜像


    image.png
    image.png

    RedisEdge支持原生Redis支持的所有数据结构,包括新的Redis Streams数据结构,这为应用开发人员提供了灵活性和简单性。


    image.png
    image.png
    image.png

    5、Azure SQL Database Edge

    Azure SQL Database Edge: A data engine optimized for IoT workloads on edge devices

    Azure SQL Database Edge是一个优化的关系数据库引擎,适用于IoT和IoT边缘部署。 它是一个容器化应用程序,可以运行在基于ARM64或x64的处理器上,其启动内存占用小于500 MB。目前支持运行在Linux上(未来计划推出一个基于Windows的版本)。 Azure SQL Database Edge提供了流、处理和分析关系和非关系(如 JSON、图形和时间序列数据)的功能,这使得它成为各种现代 IoT 应用程序的正确选择。

    Azure SQL Database Edge基于最新版本的Microsoft SQL Server数据库引擎构建,它提供了业界领先的性能、安全性和查询处理功能。 由于Azure SQL Database Edge构建在Microsoft SQL Server和Microsoft Azure SQL Database的同一引擎上,它提供了相同的T-SQL编程表面积,使应用程序或解决方案的开发更轻松、更快速,同时使应用程序物联网边缘设备、数据中心和云之间的可移植性。

    image.png

    Azure SQL Database Edge White Paper

    https://azure.microsoft.com/mediahandler/files/resourcefiles/azure-sql-database-edge-whitepaper/White%20Paper-AzureSQLDatabaseEdge-2019.pdf

    image.png

    6、ObjectBox DB

    ObjectBox与EdgeX集成方案,https://objectbox.io/edgex/

    https://github.com/objectbox/edgex-objectbox

    ObjectBox Edge Database combined with EdgeX Foundry™ IoT Edge Platform - for powerful IoT edge computing image.png image.png

    7、Raima Database Manager™ (RDM)

    Raima Database Manager (RDM)™是专为物联网和边缘市场开发的嵌入式、跨平台、占用空间小的数据库。它快速而持久,且专门针对性能和可靠性进行了优化。


    image.png

    https://raima.com/raima-database-manager/

    8、C-treeEDGE

    https://www.faircom.com/products/c-treeedge-iot-database

    image.png

    http://blog.sina.com.cn/s/blog_15b0b4e450102yikw.html

    9、TDengine

    image.png

    相关文章

      网友评论

          本文标题:边缘场景下数据库调研分析

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