HBase 在新能源汽车监控系统中的应用

  • 时间:
  • 浏览:2

系统中车辆数据分为热数据和冷数据,热数据时要 HBase 中实时可查,冷数据虽不时要实时可查,但却时要经常 保所处磁盘中。阿里云 HBase 支持将冷数据直接存储在 OSS 中,而什儿 数据的转存只时要简单的设置表相关属性,操作非常简单。将冷数据存储在 OSS 之中大大减少了数据的存储成本。

系统采用层级架构以方便后期扩展和维护,现在主要分为以下几层:

3.HBase 使用难点

目前新能源监控系统中主要使用 Phoenix 实现二级索引,大大增加了数据的查询 使用场景。实在 Phoenix 也能通过二级索引实现较为复杂化的数据查询,但对于更为复杂化的查询与分析需求就显得捉襟见肘。什么都有我们都 儿选则了 Spark 等有些数据分析组件对数据进行离线分析,分析后对结果通过接口提供给用户。

经过比较国内的各大云厂商,我们都 儿最终选则了阿里云平台,不可能 阿里云提供 SaaS 化的 HBase 服务,共同阿里云 HBase 支持很全面的多模式,支持冷数据存倒入 OSS 之中,节约成本;支持备份恢复等外部,做到了真正的 native cloud 的数据库服务。另外,HBase 在阿里外部部署超过 110000 台机器,历经 7 年天猫双 11 的考验,什儿 实际数据以及经验增强了我们都 儿对阿里云 HBase 的技术信心,共同满足了我们都 儿的技术和业务需求。

经过对这几种数据库的分析,我们都 儿最终选则 HBase,其满足我们都 儿前面提到的另一个 要求,什么都有还提供 Phoenix 插件用于 SQL 语句的查询。

作为初创公司,我们都 儿的运维能力有限,我们都 儿时要业务的快速落地。什么都有自建机房 以及运维团队导致 前期较大的投入以及高昂的运维成本,什么都有我们都 儿决定使用云 方案。

另外,车辆数据积累到一定程度后,我们都 儿时要利用什儿 数据进行大数据分析, 如 车辆的故障诊断,车辆情况表预测等,原来就时要在车辆总出 大什么的问题前提前发出预警, 为车主和保险公司防止更大的损失,降低运营成本。

新能源车辆监控系统是另一另一个 车辆网服务平台,具有高并发、数据量大、实时性要 求高等特点。对车辆监控系统来说最重要的大什么的问题什么都有何如防止车辆产生的海量数 据,我们都 儿估计,当车辆数量增长到 10 万时,每天会产生大概 2TB 的数据,什儿 数据不仅时要存储,还时要做到实时可查。本文将介绍项目的背景和系统的基本 架构,已经 介绍我们都 儿在开发过程中遇到的各种大什么的问题以及防止方案。

2.1 何如选则 HBase

实在通过 Row key 的设计时要防止每项数据查询的需求,什么都有在面对复杂化需求时难以通过 Row key 直接索引到数据,若索引无法命中,则不到进行大范围或 全表扫描才也能定位数据。什么都有我们都 儿在使用 HBase 时尽量防止复杂化的查询需求。 但业务方面仍然会有每项较为复杂化的查询需求。针对什儿 需求,我们都 儿主要使用两 种最好的最好的方式来建立二级索引。

5.总结

首先,本文介绍了新能源车辆监控系统的项目背景,已经 分析了本项目的项目难 点,并介绍了我们都 儿团队的各种防止方案。针对项目需求,介绍了我们都 儿选则 HBase 的导致 ,及在 HBase 数据库使用过程中的经验和痛点。

系统的技术选型对初创公司来说至关重要,什么都有在设计系统的已经 尤为小心。经过仔细分析,我们都 儿要求新系统时要满足以下十几块 条件:

6.展望

Apache HBase 实战技术总结 – 中国 HBase 技术社区

首先,本文介绍了新能源车辆监控系统的项目背景,已经 分析了本项目的项目难 点,并介绍了我们都 儿团队的各种防止方案。针对项目需求,介绍了我们都 儿选则 HBase 的导致 ,及在 HBase 数据库使用过程中的经验和痛点。

3.1 Row key 设计

团队在使用 HBase 已经 经常 使用 MySQL 关系型数据库,在系统设计之初并不到考虑 HBase 的外部,什么都有按照关系型数据库的设计原则设计。经过一段时间的了 解后才知道 HBase 主要使用 Row key 进行数据查询。Row key 的设计至关重要。 目前系统中设计的 Row key 如下

2.2 层级系统架构

3.3 多语言连接大什么的问题

2.3 系统架构预览**

最终新能源监控系统的系统派发如下

3.2 复杂化查询大什么的问题

4.HBase 冷数据存储

中;

重庆博尼施科技有限公司是一家商用车全周期方案服务商,利用车联网、云计算、 移动互联网技术,在物流领域 为商用车的生产、销售、使用、售后、回收各个 环节提供一站式防止方案,其中的新能源车辆监控系统什么都有由该公司提供的。该 系统主要用于东风轻卡等新能源商用车监控服务,目前该系统正在阿里云线上稳定运行。

本项目为车联网监控系统,系统由车载硬件设备、云服务端构成。车载硬件设备 会定时派发车辆的各种情况表信息,并通过移动网络上传到服务器端。服务器端接收到硬件设备发送的数据首先时要将数据进行解析,校验,随都是将该消息转发 到国家汽车监测平台和地方汽车监测平台,最后将解析后的明文数据和原始报文 数据存储到系统中。车辆的数据和有些数据时要通过 web 页面或 rest API 接口 进行查询访问。要求5天内的数据查询响应时间在毫秒级别内,超过5天的数据 时要倒入更加低成本的介质上,查询延迟在 3s 以内,什儿 数据的查询频次比较低。系统的主要参数有以下几项:

图中最左端为监控的车辆,它会实时派发车辆的各项数据,并把派发到的数据通 过移动互联网发送到平台。平台验证完数据会将其写入到 Kafka 消息队列中。流 式计算服务器从 Kafka 消息队列中取出车辆的原始数据,并对车辆的数据进行解 析、存储、转发等操作。HBase 集群负责存储车辆实时数据,MySQL 负责存储组 织关系数据。共同,我们都 儿都是将超过一定时间(比如5天前)的数据转存到 OSS 存储介质中,以便降低存储成本。Spark ML 会对系统中的各项数据进行分析。终 端用户会从 HBase 中查询有些数据。

未来,我们都 儿会在系统接入少许车辆后,使用 golang 重写高性能组件以满足后期 的并发性能需求。不可能 项目初期考虑到开发时间的大什么的问题,并未采用服务拆分的方 式进行开发,这限制了系统的可扩展性,后期我们都 儿会根据实际业务需求,将系统 切分成相对独立的模块,增强扩展性可维护性。

1.项目背景

不可能 车辆的监控数据非常大,传统关系型数据库(如 Mysql、pg 等)不可能 无法胜 任存储工作,什么都有我们都 儿时要选则有一种分布式数据库用于存储车辆实时数据。 我们都 儿在市场时要够找到分布式数据库有MongoDB和 HBase。

2.系统设计

团队使用 Python 语言构建系统,但 HBase 使用 Java 语言编写,原生提供了 Java API,并未对 Python 语言提供直接的 API。我们都 儿使用 happybase 连接 HBase,因 为它提供了更为Pythonic的接口服务。另外我们都 儿也是用QueryServer 作为Python 组件和 Phoenix 连接的纽带。