StarRocks携手零洞科技,助力碧桂园物业企业微信数字化项目

news2024/11/16 22:56:23

作者:零洞科技大数据部

零洞科技有限公司(以下简称“零洞”),是碧桂园集团的核心联盟企业,致力于成为国内领先的数智空间解决方案服务商,业务场景覆盖户内及户外,在智慧家居板块,打造一站式智慧家居解决方案,构成丰富的生活场景,满足高端用户智能生活体验;在智慧园区领域,为园区提供全链路智能化产品及服务,打造高效、节能、安全、智能的园区环境,具有千万级智慧园区项目实际落地案例。截至目前,零洞数字化交付项目超2100项,具备亿级设备和数据处理的平台建设及业务应用研发经验。

2022年6月,零洞与碧桂园服务(HK6098)就物业企业微信数字化项目展开充分合作。当前,碧桂园服务是全国规模最大的社区服务运营集团,经测算,共7000+物业管家,上万服务人员,累积服务业主超1400万人,累积管辖房屋达486万户。

一、引入背景

基于上述业务规模,经合作需求评估,该项目需搭建一个数据服务中台,以支持以下需求:

1、支持每年 超十亿数量级数据的存储和计算,包括但不限于:物业企微会话存档聊天、关联认证、用户行为、管家任务管理、客户舆情分析等各方面数据。

2、支持全国上千的高并发,秒级的访问、查询、计算、报表导出等要求。

3、在此数据中台的基础上,在可视化平台完成报表、看板、大屏的开发展示等需求。

在技术框架选型上,碧桂园服务与零洞科技综合对比了国内外常见的 OLAP 系统,StarRocks 凭借以下6大优点脱颖而出:

1、产品架构简洁,整个系统的核心只有 FE(Frontend)、BE(Backend)两类进程。不依赖三方组件,运维简单;

2、数据查询实时性、高并发等方面的性能相较其他数据库产品有突出的优势;

3、支持标准SQL语法,学习切换成本低;

4、支持主键模型,在实时写入和频繁更新的业务场景中性能优越;

5、流批数据导入:StarRocks 开发了 Flink-connector 、Spark-connector 插件,支持将数据 sink 或批量写入到 StarRocks 中;

6、极速查询体验,亿级数据查询毫秒级响应;

StarRocks 符合现代化的数据应用技术栈需求,最终作为核心存储计算组件来搭建本次碧桂园服务项目的数据中台。

二、基于StarRocks搭建的数据中台

对于传统企业的数据应用场景来说,数据中台的数据集成、研发、管理与服务链路很长,涉及的组件比较多,比如:需要使用 Hadoop 做为存储、Hive/Spark 做离线 ETL 、Kudu 做实时批量更新、 Flink 做流处理,各类组件之间又有很强的依赖关系,尤其是在机器资源有限且服务混合部署的情况下,容易出现资源分配问题,比如 Impala 会经常性发生 OOM 问题。

StarRocks 完美解决了这个问题:对于传统企业来说,我们可以将 Hadoop + Hive + Spark + Kudu + Flink 的功能全部交给 StarRocks ,实现存储/流批处理一体化。

1、数据开发

针对数据开发,StarRocks提供了多种导入方式,如 Stream Load 方式从本地文件系统导入数据、Broker Load方式从 HDFS 或外部云存储系统导入数据、Routine Load 方式从 Kafka 导入数据、Spark Load 方式从 Spark 导入数据等等,基本上可满足我们全场景的实时数据导入需求。

为了使架构简单,尽量少的使用到 Spark 或 Flink 等脚本语言进行开发,我们在数据接入层使用 Kafka 做实时接入缓冲层, 之后基于 StarRocks 的 Routine Load 功能开发自定义导入组件,实现了一键完成 Kafka 到 StarRocks 或者 API 到 StarRocks 的数据同步和监控功能。

考虑到我们的 ETL 工具需要与 StarRocks 做深度集成,我们更偏向于选择架构简单灵活的组件进行二次开发,因此在离线同步上我们选择了 DataX,数据管道(调度平台)选择 Airflow ,可视化工具选择 Smarthart ,并在此基础上进行了个性化的 Driver 及管理功能开发。

经过这一系列的改造,与我们之前使用的传统大数据平台(基于 CDH )实施的项目相比,数据中台的实施成本大幅下降,具体体现为:

1、 实时场景的实现更加轻松

之前的实时查询用到的组件较多,引入 StarRocks 后,只需通过 StarRocks 就能实现实时查询,链路变得简单,人力投入也更少,以前需要投入 Spark/Flink 开发人员,现在只用 SQL 开发就能完成。

2、 服务器资源减少:从10台以上缩减到了4台

3、实施部署周期缩短:从2周下降到3天

2、平台监控

在平台监控上,StarRocks 社区版本提供了兼容 Prometheus 的信息采集接口,可以通过直接连接 BE 或 FE 的 HTTP 端口来获取集群的监控信息。

为了保持与我们可视化平台的统一和灵活性, 我们并没有使用 Grafana 做为可视化监控方案,而是基于 SmartChart 连接 Prometheus 实现了可视化监控的大屏开发,将复杂的数据和信息变得直观易懂,便于我们日常运维,实时展示 BE 及 FE 的健康度及数据导入和查询的状态,方便我们对实际情况进行实时监控与及时预警。

三、基于 StarRocks 的丰富应用场景

1、BI场景的支持

在我们的 BI 场景中,需要对千万级以上明细数据进行多表关联查询,更新频率需达到近实时,响应时间需在秒级。同时,用户个性化需求又很强,比如需要同一个会话 ID 来查询上下文,并生成相关的词云统计。

在引入 StarRocks 之前,我们的数据流转线路很长、开发管理的复杂度也非常高:比如为了平衡复杂查询与极速查询的需求,我们需要生成很多宽表或 cube 表;另外之前的方案对于需要频繁更新的业务场景也很不友好:需先写入 Kudu 进行批量更新, 然后回写到 Hive 中, 再从 Hive 抽取到 Kylin ,BI 连接 Kylin 进行查询。

有了 StarRocks 之后,基于 StarRocks 向量化执行引擎所带来的极速查询特性,我们把自研 BI 的数据后台直接切换到了 StarRocks ,使得我们数据建模更加简单,建模方式也逐渐从宽表建模转化成星型建模,不仅减少了数据开发的时间,同时能够支持复杂的业务逻辑实现,数据联动钻取的粒度支持得更细, 数据响应时间也从传统的秒级变为了毫秒级。

2、数据服务场景的支持

企业微信数字化项目需要基于会话的工单自动化生成,因此需要平台能够提供会话上下文查询 API , 从而为算法平台提供实时的数据支持。

从我们的实践来看 ,StarRocks 非常适合此类场景,完美的实现了大数据量的实时更新及同时支持高并发的极速查询需求。

3、数据生命周期管理:

不断积累的大量会话明细数据,需要进行有效的数据周期管理,通过冷热区分,来有效的控制存储成本。

在引入 StarRocks 之前,我们需要使用脚本定时删除历史数据,有了 StarRocks 的动态分区及数据生命周期管理的功能,此部分内容就可由 StarRocks 自动完成,整体数据流变得非常整洁。

四、业务价值

数据已成为企业的重要资产,随着大数据的积累,基于 StarRocks 搭建的数据中台已经成为数据窗口的提供者,是物业基础管家服务强有力的支持。

通过数据中台更加高效、实时、全面的数据分析功能,我们可以做更多的业主运营和员工管理,如:

  1. 利用上亿级的数据进行工单、舆情以及用户画像的分析,让用户诉求处理得更加及时全面,提升业主的满意度;

  1. 通过分析业主的行为和偏好画像,带动社区多种经营业务,包括社区空间运营服务、社区生活服务、业主资产运营服务等等,发展物业行业的第二曲线。

在项目实施过程中,我们得到了 StarRocks 社区非常专业给力的支持,我们也期待 StarRocks 也期待社区的蓬勃发展促进产品能力持续增强,期待基于 StarRocks 搭建的数据中台在未来让我们数据发挥更大的业务价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/366587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】字符分类函数+内存函数

目录 1.字符函数 1.1字符分类函数 1.2.字符转换函数 //统一字符串中的大小写 2.内存处理函数 2.1内存拷贝函数memcpy //模拟实现memcpy 2.2内存移动函数memmove //模拟实现memmove 2.3内存比较函数memcmp 2.4内存设置函数memset 1.字符函数 1.1字符分类函数 头文…

【微信小程序】-- 宿主环境 通信模型 运行机制介绍(五)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

NFTScan x TiDB丨一栈式 HTAP 数据库为 Web3 数据服务提供毫秒级多维查询

导读 NFTScan 是一家多链 NFT 数据基础设施服务商,为 Web3 用户提供高效简洁的 NFT 资产搜索查询服务,为 Web3 开发者和新一代金融科技公司提供专业的 NFT API 数据服务。 TiDB 作为一种分布式 HTAP 数据库,可以同时满足海量数据存储和高并…

I2C实验

目录 一、I2C简介 二、硬件原理 1、看原理图,找到I2C 2、查看使用设备 3、查看使用的IO 4、查数据手册看复用位 三、查看寄存器 1、I2C Address Register (I2Cx_IADR) 2、I2C Frequency Divider Register (I2Cx_IFDR) 3、I2C Control Register (I2Cx_I2CR) …

【C++】哈希表

1. unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 ,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行…

TCP/IP网络协议介绍及原理分析

一.应用层协议对于应用层而言,协议是开发者自己进行定义的,开发者根据自定义的格式规范对数据进行编码和解析。但是从原理上进行分析,其核心主要包括两点内容:①确定客户端和服务端交互的内容(协议的内容)②…

记一次docker虚拟机横向移动渗透测试

本次渗透在几个docker虚拟机间多次横向移动,最终找到了一个可以进行docker逃逸的出口,拿下服务器。渗透过程曲折但充满了乐趣,入口是172.17.0.6的docker虚拟机,然后一路横向移动,最终在172.17.0.2出实现了docker逃逸&a…

【免费教程】地下水环境监测技术规范HJ/T164-2020解读使用教程

地下水环境监测技术规范依据《中华人民共和国环境保护法》第十一条“国务院环境保护行政主管部门建立监测制度、制订监测规范”和《中华人民共和国水污染防治法》的要求,积极开展地下水环境监测,掌握地下水环境质量,保护地下水水质&#xff0…

常青科技冲刺A股上市:研发费用率较低,关联方曾拆出资金达1亿元

近日,江苏常青树新材料科技股份有限公司(下称“常青科技”或“常青树科技”)递交招股书,准备在上海证券交易所主板上市。本次冲刺上市,常青科技计划募资8.50亿元,光大证券为其保荐机构。 据招股书介绍&…

我的 System Verilog 学习记录(4)

引言 本文简单介绍 System Verilog 语言的 数据类型。 前文链接: 我的 System Verilog 学习记录(1) 我的 System Verilog 学习记录(2) 我的 System Verilog 学习记录(3) 数据类型简介 Sys…

Linux:共享内存api使用

代码&#xff1a; #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #include <arpa/inet.h> #include <sys/un.h> #include <sys/ipc.h…

Codeforces Round #849 (Div. 4)(E~G)

A~D比较简单就不写了&#xff0c;哎嘿E. Negatives and Positives给出一个数组a&#xff0c;可以对数组进行若干次操作&#xff0c;每次操作可以将相邻的两个数换为它们的相反数&#xff0c;求进行若干次操作之后能得到数组和的最大值是多少。思路&#xff1a;最大的肯定是把负…

VSCode+Qt+MinGW开发环境搭建

VSCodeQtMinGW开发环境搭建 概述 VSCode扩展性很强&#xff0c;插件机制让其具备不断演进的潜力&#xff0c;适合作为稳定的开发工具。 VSCodeQt开发环境的搭建需要依赖于以下工具&#xff1a; VSCode、Qt&#xff0c;其中Qt需要安装MinGW编译工具&#xff1b;VSCode插件&a…

常年霸榜TK彩妆类目,看Focallure菲鹿儿如何玩转出海市场

据市场调研机构弗若斯特沙利文数据报告&#xff0c;2017年至2021年&#xff0c;中国化妆品市场规模由6305亿元增长至9468亿元&#xff0c;年均复合增长率为10.7%&#xff0c;报告预计2023年中国化妆品市场规模将达11414亿元&#xff0c;今后几年的增速将逐渐放缓。随着国内市场…

LeetCode刷题系列 -- 112. 路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。叶子节点 是指没有子节点的…

外置的媒体查询,对性能又一次的优化提升

通常情况下我们写媒体查询都是写在一个样式文件中&#xff0c;对于浏览器加载的时候&#xff0c;会解析到最后一行样式时才会渲染页面&#xff0c;这样就会造成页面的白屏时间过长。 但是通常情况下大量的媒体查询样式都是无用的&#xff0c;现在浏览器允许我们在引用样式文件…

SpringBoot优雅地处理全局异常,返回前端

笔者这边提供了两种处理全局异常的方式。这两种方式各有千秋&#xff0c;都很优雅。至于伙伴们想用哪种方式&#xff0c;那就仁者见仁&#xff0c;智者见智了。0、公共部分在介绍异常处理方式前&#xff0c;先定义一些公共的类。这些类在两种处理方式中都会用到。【自定义业务异…

jupyter的安装步骤

1.安装python文件 首先去官网python去下载python的安装包&#xff0c;点击donwload,选择合适的系统。这里我是windown系统&#xff0c;点击进去&#xff0c;如图找到有installer的去下载。不建议下载最新版本的&#xff0c;会有兼容问题。 2.安装python 点击第二个选项是自己配…

深度学习如何训练出好的模型

深度学习在近年来得到了广泛的应用&#xff0c;从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是&#xff0c;要训练出一个高效准确的深度学习模型并不容易。不仅需要有高质量的数据、合适的模型和足够的计算资源&#xff0c;还需要根据任务和数据的特点进行合…

【2023/图对比/增强】MA-GCL: Model Augmentation Tricks for Graph Contrastive Learning

如果觉得我的分享有一定帮助&#xff0c;欢迎关注我的微信公众号 “码农的科研笔记”&#xff0c;了解更多我的算法和代码学习总结记录。或者点击链接扫码关注【2023/图对比/增强】MA-GCL: Model Augmentation Tricks for Graph Contrastive Learning 【2023/图对比/增强】MA-…