车纷享:基于阿里云HBase构建车联网平台实践

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 1.    业务介绍 车纷享是国内首家进行汽车共享开发和运营的公司。旗下共享汽车平台采用新能源汽车作为运营工具以B2C+C2C汽车共享作为商业运营模式采用车联网技术作为运营管理技术目前已与国内多个城市建立合作。

1.    业务介绍

车纷享是国内首家进行汽车共享开发和运营的公司。旗下共享汽车平台采用新能源汽车作为运营工具,以B2C+C2C汽车共享作为商业运营模式,采用车联网技术作为运营管理技术,目前已与国内多个城市建立合作。

公司打造会员制的分时自助租赁平台“车纷享”与“众车纷享”,以及纯电动新能源汽车分时租赁平台“彩虹车”,向会员提供以分钟加里程为计费单位的自助租车服务。通过公司自助租车系统,用户可以进行车辆预定、费用支付、自助取车、还车及自动结算等,无需人工干预,非常简单,真正实现了家门口或公司门口的自助租车,便捷、时尚、经济。 公司汽车共享(分时自助、智能租车)系统为自主研发,具有完全自主知识产权,能够根据需求进行改进和定制,是国内第一个成功商业运营的汽车共享系统,处于国内领先。

2.    选型

对于车纷享这种初创公司来说,技术选型首要考虑的是:轻运维,业务快速落地。自建机房以及运维团队意味着前期较大的投入以及高昂的运维成本,随着业务规模的扩张,资源水平扩展以及垂直扩展也是未来无法避免的痛点。

技术团队进行了多次内部讨论,同时对类似行业公司的解决方案进行了详细调研,新方案必须满足我们以下的基本需求:

(1)支持大量IoT数据的不间断写入,至少能存放百T以内的数据,随着数据规模的增长,能够方便的进行垂直和水平扩展。

(2)支持基于时间戳的历史数据查询,响应时间至少达到秒级,后期根据业务需要,支持对一些关键字段进行索引,以满足某些查询场景

(3)与目前的大数据生态产品(MapReduce,Spark,Hive)能友好兼容,支持离线和准实时OLAP

(4)优先选择有雄厚实力的商业公司支持的云平台,最大限度减少运维成本。

最终我们技术团队选择的是阿里云平台,阿里是国内大数据领域技术最雄厚的公司,比如HBase,阿里拥有2 HBase PMC、3 Committer、数十位内核贡献者,贡献200+ Patch,同时阿里云平台提供了多种方便易上手的数据产品工具。

3.    车纷享数据中心

车纷享的数据来自于车载终端上传的数据报文,首先经过系统平台的网关,然后借助规则引擎对数据报文进行解析拆分成有意义的数据项,以数据记录的方式放入消息队列,消息队列采用了阿里的MQ,消息队列的消费程序,会将消费到的数据分别存入Redis以及HBase,其中Redis是用来提供车辆实时状态的查询,HBase提供车辆历史数据的查询,为了对历史数据进行灾备处理,使用了阿里云的OSS存储,将备份数据日志文件按照时间分区存储至OSS。

ca70ae13aa7931a928ac1974a7a4afbb4a8f9e81

3.1 项目背景

车联网符合并发量大,数据上传频率高,写多读少的高吞吐型业务场景,对查询要求也接近准实时;原有的关系数据库已经不能满足我们的业务需要,尤其数亿量级下的分页查询和车辆历史轨迹查询的场景下,关系数据库的读取相应延迟已经达到了数分钟级,完全不能满足客户的需要。阿里云HBase为我们提供了HBase+Phoenix的组合方案。

HBase是基于磁盘的NoSql数据库,因为采用了LSM的数据结构,随机写效率较高,特别适合车联网的数据上传特点,在基于Rowkey方面的查询延时接近准实时。但是因为原生HBase的查询方式比较底层,没有SQL查询接口,对于使用者要求较高,而且没有二级索引,如果不是基于Rowkey查询,查询效率会急剧下降,为了减少客户的使用难度,阿里云HBase团队在HBase集群里集成了Phoenix的交互引擎,简单的嵌入架构如下:

9b2d7826d2cb5de9886d903af4bc785848f89d94

Phoenix的架构 

        Phoenix主要给HBase增加了SQL查询以及二级索引支持,大大降低了我们的二次开发难度,也进一步丰富了我们对多种查询场景的支持。

3.2 性能指标

1、系统情况

目前测试集群上有6台服务器,都是16Core 32G的配置

2、查询测试

历史数据表(保密需要,字段适当裁剪):

create table if not exists 车辆历史数据表 (
车辆标识 varchar not null,
上传时间 bigint not null,
行驶里程 float,
发动机温度 float,
车速 float,
发动机转速 float,
油耗 float,
续航里程 float,
电量 float,
充电状态 integer,
卫星数量 integer,
卫星信号强度 integer,
卫星信号 integer,
网络信号强度 integer,
经度 double,
纬度 double,
方向角度 float,
循环模式 integer,
风扇模式 integer,
省电模式 integer,
开关门状态 integer,
发动机状态 integer,
钥匙状态 integer,
灯光状态 integer,
门锁状态 integer,
网络状态 varchar,
档位 integer
CONSTRAINT my_pk PRIMARY KEY (车辆标识,上传时间 ROW_TIMESTAMP))
COMPRESSION='SNAPPY',DATA_BLOCK_ENCODING='FAST_DIFF',SALT_BUCKETS=20;
 


3、建立索引表

create index 车辆历史状态索引表 on 车辆历史状态表(车辆标识,上传时间,行驶里程,车速,电量) include (发动机温度,发送机转速,油耗,卫星数量,卫星信号强度,......)


      车辆状态历史表中目前有记录12亿条左右,Region有52个

基于rowkey查询

查询场景

平均响应时间

tps

单用户单日数据查询,基于rowkey

80ms

1250

单用户多日数据查询,基于rowkey

130ms

769

50用户单日数据查询,基于rowkey

210ms

23800

50用户多日数据查询,基于rowkey

320ms

15600

 

基于索引字段查询

查询场景

平均响应时间

tps

单用户单日数据查询,基于索引字段

650ms

153

单用户多日数据查询,基于索引字段

860ms

116

50用户单日数据查询,基于索引字段

720ms

6900

50用户多日数据查询,基于索引字段

1210ms

4400     


         通过HBase+Phoenix,丰富了我们的历史查询手段,原先的车辆1个月轨迹历史数据回放查询需要5-10分钟,现在2秒内就能返回所需数据。上面的数据都是我们实际的业务场景数据测试的结果,提升了150倍,大大超出我们的期望。

0e304ba2c7e773d94c811a3fbbba3ba3605722f3

 

4、集群状况

目前接入的车辆大约为3万辆,其中比较重要的考察指标就是OPS(operation per second 每秒操作次数),主要针对车辆数据的实时不间断写入,目前HBase集群中,平均在1.5K OPS,峰值可以到达2K OPS,目前的集群配置可以支撑最大约400K的OPS,至少可以满足未来2年左右的业务增长需要。阿里云HBase同时支持资源节点水平,垂直扩展和滚动重启,基本可以做到用户无感知下完成升级,这种能力对适应业务的敏捷变化非常有帮助。

 

80f44df327094199a02f0a928da2b9d2b11c8d2f

 

3.3 数据处理

 76700ee21a89f579305bf6097af164868fae296c

场景实例

以网约车管理平台为例,主要数据来源为车况数据和订单数据,进入Kafka后,拉出两个分支,分别存储进HBase数据库和进入Spark Streaming流式计算引擎,主要用来为运营部门优化网点,车辆分流,监控部门的风控管理和商业BI相关的离线分析提供数据支撑

584e041d7671e7cc4f110cafa18ee7c8b31923b1

 

3.4 使用感受

现在车纷享的车联网数据平台已迁入阿里云HBase团队已经半年多了,平均日写入数据几十G,到现在还没出现数据服务器的严重故障问题,总体比较稳定,大大降低了我司的运营管理成本。阿里云HBase团队也给我们的开发团队提供了有力的技术支撑,碰到技术问题,我们可以非常及时得到响应,帮助我们排除了业务开发中的许多问题。再次证明我们的当初选择是正确的。

同时也希望阿里云HBase团队未来可以在产品易用性上更上一层楼。展望未来,随着业务的扩展,我们的数据会有一个指数级的增长。


510ad4071b4f3f6005a618591df61c35961de0df


         希望新的一年继续和阿里云加大合作,同时将运营中的问题反馈到阿里云技术社区,协助阿里云技术团队将数据产品做得越来越好。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1天前
|
人工智能 弹性计算 监控
【阿里云云原生专栏】阿里云云原生与AI结合:智能应用的快速构建与部署
【5月更文挑战第24天】阿里云融合云原生和AI技术,助力快速构建智能应用。弹性伸缩、CI/CD、微服务和自动化运维带来优势。通过需求分析、环境准备、数据处理、模型开发到服务部署,阿里云提供容器服务、函数计算、服务网格等工具,支持自动化测试和监控,实现一站式智能应用开发。示例代码展示创建ACK集群和部署AI模型服务过程。
225 1
|
1天前
|
运维 Cloud Native 持续交付
【阿里云云原生专栏】从零到一搭建云原生应用:阿里云云原生应用平台实战教程
【5月更文挑战第24天】本文档是一份阿里云云原生应用平台的实战教程,介绍了如何从零开始搭建云原生应用。内容涵盖云原生应用的特点(容器化、微服务、CI/CD和自动化运维)以及阿里云提供的服务,如容器服务、服务网格和CI/CD工具。教程详细讲解了创建容器集群、编写Dockerfile、构建镜像、部署应用、配置服务网格和设置CI/CD的步骤。通过本文,读者将学会利用阿里云平台开发和管理云原生应用。
216 0
|
2天前
|
弹性计算 安全 关系型数据库
阿里云产品在技术探索中的实践和思考
本文讲述了作者在使用阿里云产品进行技术探索的实践中,如何借助ECS、RDS、OSS、SLB和VPC构建高可用分布式系统。从最初的虚拟主机服务到全面的云服务,阿里云帮助解决了性能、负载均衡、数据存储和网络安全等问题。在面对性能优化、成本控制和安全管理的挑战时,作者通过监控、调整和采用安全措施确保了系统的高效运行。未来,作者将继续在云计算领域探索,利用AI、大数据及物联网技术驱动业务创新和增长。
23 0
|
2天前
|
存储 弹性计算 大数据
【阿里云弹性计算】阿里云ECS在大数据处理中的应用:高效存储与计算实践
【5月更文挑战第23天】阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,尤其大数据型实例适合离线计算。通过集成分布式文件系统如OSS,实现大规模存储,而本地存储优化提升I/O性能。弹性扩容和计算优化实例确保高效运行,案例显示使用ECS能提升处理速度并降低成本。结合阿里云服务,ECS构建起强大的数据处理生态,推动企业创新和数字化转型。
11 0
|
2天前
|
弹性计算 监控 安全
【阿里云弹性计算】ECS实例监控与告警系统构建:利用阿里云监控服务保障稳定性
【5月更文挑战第23天】在数字化时代,阿里云弹性计算服务(ECS)为业务连续性提供保障。通过阿里云监控服务,用户可实时监控ECS实例的CPU、内存、磁盘I/O和网络流量等指标。启用监控,创建自定义视图集中显示关键指标,并设置告警规则(如CPU使用率超80%),结合多种通知方式确保及时响应。定期维护和优化告警策略,利用健康诊断工具,能提升服务高可用性和稳定性,确保云服务的卓越性能。
12 1
|
2天前
|
SQL 关系型数据库 Java
实时计算 Flink版操作报错之在阿里云DataHub平台上执行SQL查询GitHub新增star仓库Top 3时不显示结果,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
2天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
22 2
|
3天前
|
安全 API 语音技术
阿里云百炼大模型服务平台是什么
阿里云百炼大模型服务平台是一个为企业提供一站式专属大模型生产与应用的平台,支持多样化模型和自定义编排。平台提供即插即用的智能工具箱,包括API接口、模型微调及部署功能,同时具备流程编排以适应复杂业务场景。此外,平台内置多种工具和插件,支持Python等,允许企业集成自定义API。平台优势在于快速构建业务应用、多行业大模型,以及保障模型效果的三大核心竞争力。它还提供丰富的模型服务,如通义千问模型用于文字创作、翻译等,通义万相模型用于图像生成,以及语音合成和识别模型等。企业可通过标准API和SDK进行集成,确保高效安全。
|
10天前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
95 0
|
9月前
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
149 0