首页 文章 精选 留言 我的

精选列表

搜索[OPE范式],共3210篇文章
优秀的个人博客,低调大师

数据治理三大模式详解,治理新范式释放数据潜能

随着世界经济由工业经济向数字经济转型,数据逐步成为关键的生产要素,企业开始将数据作为一种战略资产进行管理。数据从业务中产生,在IT系统中承载,要对数据进行有效治理,需要业务充分参与,IT系统确保遵从,这是一个非常复杂的系统工程。 数据治理架构 实践证明,企业只有构筑一套企业级的数据治理综合体系,明确关键数据资产的业务管理责任,依赖规范的制度流程机制,构建有效的管理平台及工具,数据的价值才能真正发挥出来。数据治理架构如下图所示。 构筑数据治理体系的过程,即以数据应用为核心打造“良性循环的闭环数据治理管理体系”的过程。各IT系统获取业务活动产生的各类数据后,经过系统的数据治理、管理,不断挖掘、变现数据价值,拓展、深入数据应用场景,指导业务决策,同时在不断应用数据过程中基于发现的数据问题,通过数据治理、管理的过程不断修订,推动业务系统全面升级,真正优化业务流程管理机制及规范,最终构建数据“获取→管理→变现→发现→应对→修正”的闭环管理机制。 以数据应用核心,数据治理平台工具为支撑,在数据治理组织/制度保障下,不断通过数据治理手段,推动实现数据标准化及业务标准化,实现业务、技术、管理、平台的有效联动。 在数据治理综合体系内,数据治理核心模块包括数据治理规划、数据治理职能及数据治理平台工具。 数据治理规划是指数据治理体系与规划、数据治理组织与职责、数据治理制度及流程,是数据治理规范化管理的核心模块; 数据治理职能包括数据标准管理、数据质量管理、数据架构及模型管理、数据开发、元数据管理、主数据管理、数据生命周期管理、数据安全管理八大职能,实际过程中,企业通常会合并管理; 数据治理平台工具包括数据开发平台、数据资产管理平台、数据质量管理平台、数据服务平台,通常数据治理平台工具基于数据治理的阶段功能并不完全一致,实践中平台工具通常综合多方面功能,而不是单平台功能。 三大模块互为动力,数据治理规划指导数据治理职能的全面发挥,数据治理各项职能通过数据治理平台工具协助管理,数据治理平台工具支撑数据治理规划的落地及优化,数据治理规划各层面逐步固化在数据治理平台上,数据治理平台辅助数据治理各项职能的管理,通过数据治理各项职能不断落实和完善数据治理规划,实现组织数字化转型,固化管理机制及流程体系。 未来企业通过构筑数据治理综合体系,逐步建立数据治理机制,完成组织转型,数据治理职能将成为企业管理的重要组成部分,良性循环的管理体系将推动企业实现更广、更深层次的数据应用,数据决策将成为企业人思考的习惯,企业决策将更加科学、有效。 未来企业数据治理蓝图架构如下图所示,业务系统、数据治理及数据应用互为动力,共同推动企业数字化转型的实现。 数据治理模式 数据治理模式是指企业基于不同的数据治理目标,根据企业组织、系统、数据应用的现状,以何种数据治理策略开展数据治理活动。根据袋鼠云8年的实践证明,通常数据治理模式包括三种基本模式。 模式一:自下而上,以数据架构为重,开展数据治理 这种模式重在数据架构,层层向上治理数据,至数据应用层。这种模式从底层数据切入,基于现有数据基础,盘点、建设、治理、应用层层展开,对企业整体的数据思维、数据治理水平要求较高,通常适用于数据量重、业务应用轻大型技术型企业,或政府机构,或新建、自研系统较多的企业。 模式二:自上而下,以明确的数据应用为重,开展数据治理 这种模式即单点应用式,通常以现有应用需求为核心开展数据治理。聚焦各个业务领域的数据应用、数据治理需求,在有需求、有资源、有驱动力的前提下,按需组织推进数据治理工作。只有业务部门的深入参与才能做好数据治理,只有针对业务自身需求进行的治理,才能得到业务部门的认可和支持。 模式二通常围绕数据应用的需求进行数据治理,比如升级架构、更换平台等涉及数据应用迁移时,或聚焦监管、上报类等明确数据应用时,围绕数据应用进行数据治理。 模式二通常适用于数据应用较强、业务部门较为强势、但整体数据认知较弱的企业。这种模式的数据治理切入相对较为简单,实践证明,大部分企业数字化转型初期会这种模式,慢慢探索企业的数据治理道路,这种模式有助于拉齐数据部门、业务部门的认知,提升企业整体数据认知,为未来数据治理的开展提供基石。 模式三:大规划模式,从数据应用规划入手,治理现状,规划未来,基于数据资产的未来开展数据治理 这种模式需要企业全面梳理业务的现状痛点及业务未来畅想,盘现状、规划未来,基于业务现在及未来的需求规划分析应用场景,在应用场景蓝图规划的范围内,全面的梳理数据的现状、规划数据的未来,针对蓝图规划中的数据需求,制定全方位策略。例如哪些新建系统、新购数据源?哪些需要现有数据系统升级,细化、标准化现有数据?哪些数据需求落地可行性较高? 制定全面的规划体系,划分优先级,有节奏、有步骤地实现全面的数据治理。这种模式通常是企业的战略项目,由高层推进开展,对数据、业务协同性要求较高,整个过程涉及系统改造升级、业务流程优化再造,是企业全面升级的过程。 组合模式一:模式一&模式二组合,即全域数据治理+明确应用场景规划。这种模式兼顾底层数据与上层应用,可对冲底层数仓重建的部分风险,同时可有效地阐述数据价值,整体可行性较高。 组合模式二:模式一&模式三组合,即全域数据治理+全面应用场景规划。这种模式从现在、未来的角度全面开展数据治理,业务、数据全面覆盖,返工重建风险小,同时有助于推动业务系统、数据全面升级,业务价值较高,但对组织协同要求高,且成本投入高、耗时久,对执行团队要求高,复合型人才需求大,属于高风险高收益模式,需要企业高战略、高执行的推进落地。 数据治理模式对比 三大数据治理模式开展方式、适用场景、优劣势、资源投入各不相同。 模式一,自下而上,切入方便,成本可控,重架构,但脱离应用,对执行团队架构能力要求较高,成效慢; 模式二,自上而下,目的明确,切入方便,成本可控,重应用,但轻治理,容易造成面子工程,出现重复治理的风险; 模式三,大规划模式,规划的眼光,覆盖业务、数据双层面,重建风险小,聚焦业务,有利于充分挖掘数据价值,但对组织的协同性要求较高,同时需要高质量复合型人才配合团队执行,整体落地风险较大,成本较大。 数据治理三大模式对比如下表所示: 三大数据治理模式各有优劣,而组合模式在某种程度上对冲单一模式的风险,可以更好地满足企业数据治理的需求和目的。企业应基于面临的现状,选择适合的自己的治理模式。 数据治理模式选择 不同的数据治理模式,对企业的数据治理水平、组织协同程度要求不同。 自下而上的模式一是基于底层数据治理的,对数据治理水平要求较高,数据治理水平包括数据基础(数据量、数据质量等)以及数据治理能力,数据治理能力主要体现在数据治理团队专业度以及数据治理体系(组织、制度及流程)完善度。这种模式对组织协同度要求相对较低,主要靠数据治理团队推动进行。 自上而下的模式二是基于明确数据应用进行数据治理的,相较于自下而上的模式一,组织的协同性要求会更高,需要业务部门、数据部门配合实现,但整体以需求为主,对数据治理的水平要求一般。 大规划的模式三既治理现状,又规划未来,对组织协同性及数据治理水平均有极高要求。该模式需要动员企业的业务部门、技术部门、数据部门,同时需要企业各阶层(高层、中层、基层员工)的人员共同配合,全面盘点业务的痛点及未来规划,同时梳理数据现状,规划数据未来,通常为战略项目、高层领导共同将企业数据治理水平推向一个新水平,同时完成数字化组织的转型。 组合模式在组织协同性、数据治理水平上会叠加单一模式的要求,如模式一&模式三的组合模式对组织协同性、数据治理水平要求最高。 各模式对企业的组织协同性、数据治理水平的要求见下图所示,基于各模式对企业组织协同、数据治理水平的要求不同,企业应充分盘点企业的组织现状、数据现状、应用现状,初步评估企业数据治理水平、组织协同度,结合数据治理的目标,评估可行性,选择最佳模式。 企业数据治理是个复杂而漫长的过程,通常在不同的发展阶段,企业选择数据治理模式并不同,基于面对的组织、数据、应用现状,企业需要均衡目标与现状,选择当下最合适的数据治理模式。 企业数据治理并不是一蹴而就的,它需要企业不断地进行规划、治理、监测、优化,通过数据治理不断完善企业的组织、制度、流程管理体系,同时不断提升企业数据治理管理水平,包括数据标准、数据质量、数据架构及模型、数据应用等模块的管理水平提升。 数据治理是一个持续循环的过程,需通过不断地改进提升及完善。PDCA循环不是在同一水平上循环,而是呈阶梯式推动上升,每次循环将推进企业的数据治理水平及组织协同性向新的、更高的层级进阶,最终实现企业数字化转型。 数据治理实施路径 企业数据治理实施路径通常包含三个阶段。 第一阶段:起步阶段,业务运营数字化阶段。 这个阶段主要是梳理企业面临的现状,响应痛点,探索业务场景化。企业逐步开始由信息化向数字化转型,这个阶段企业会重新审视原有的数据治理策略,重构数据治理战略及实现路径,逐步开始搭建数据治理框架、数据治理体系框架,升级原有的数据处理、应用模式,搭建大数据平台,构建大数据采集、汇集、存储、计算、服务的基础能力,逐步整合各系统的数据,打破数据孤岛,沉淀数据资产,探索业务场景化。 第二阶段:深入拓展阶段,数据赋能常态化阶段。 这个阶段数据应用成为重点,企业开始深挖数据价值,提高数据应用覆盖。数据应用的范围,由核心KPI指标的实现,逐步覆盖全部核心业务,搭建完善的分析框架和洞察体系,不断地提升业务决策质量。 大数据平台持续发挥大数据处理的能力,企业纳入更多、更广的数据内容,不断扩大数据应用的广度及深度,初步形成企业的数据资产地图,数据标准体系逐步搭建,数据应用的效率大大提升,初步完成由“经验主义”向“数据主义”的转型,数据决策成为企业决策主要决策方式。 这个阶段,企业开始全面建立数据管理权限体系,完善数据治理机制,优化数据治理流程及制度体系,由原有的“粗放式”管理升级为“精细化”管理,数据质量不断提升,企业数据管理能力升级,逐步通过数据质量平台、数据资产平台、数据治理平台工具等实现智能管理,企业数据思维认知全面提升。 第三阶段:智能应用阶段,运营决策智慧化阶段。 这个阶段企业实现洞策合一,智慧场景应用成为常态,全面完成数字化转型,探索数字业务,开启新篇章。这个阶段以智能应用为主,AI赋能成为常态,企业不断地挖掘数据的价值、激发创新,开始为企业战略性分析提供准确的数据依赖,在这个阶段,有些企业甚至在原有商业模式上,激发新的业务模式。 数据管理层面,由数据治理体系建设逐步向数据治理体系优化进阶,完善机制、流程,进一步细化数据管理职责; 数据资产层面,完成全域数据资产建设,构建强壮的数据模型体系,完成企业数据标准建设,不断完善数据资产体系; 平台工具层面,大数据平台能力逐步向算法能力转移,智能推荐算法模型开发成为常态化的需求,数据治理平台逐步完善功能,协助企业智能化数据质量、数据标准、数据资产及主数据等模块,企业真正进入运营决策智慧化阶段。 《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm 《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szkyzg 同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack

优秀的个人博客,低调大师

松果出行 x StarRocks:实时数仓新范式的实践之路

作者:松果出行数据中台部门 ​ 松果出行成立于 2017 年,以“构建更智慧的交通基础设施,提升全球所有人的移动能力”为使命,定位于“以工业互联网为基础的交通科技公司”。松果出行创新打造“工业互联网在交通科技领域的典型样本”,构建由工业基础、落地产品、数字引擎和科技应用组成的完整产业生态。松果智能工厂(合肥)是全球首个电动两轮车智能自动化整装工厂,以严格的国标车型,满足政府监管需求、用户需求、业务需求和运维需求。松果电单车是国内县域层面国内较大、行业知名的经营共享电单车品牌之一,截至 2021 年 9 月,覆盖全国 24 个省份、700 多个城市,全国注册用户超 5000 万,日订单峰值达 300 万单。 作为一家面向未来的交通行业科技公司,松果出行的软硬件关键系统基本自研,以实现自主可控。目前业务数据涵盖支付、车辆、制造、营销、订单、广告等,数据多元,维度丰富,B、C、G 等不同方向都有丰富的应用场景。 凭借 StarRocks 高效的多表关联以及实时更新能力,我们放弃了原有基于 Impala+Kudu 和 ClickHouse 的实时数仓构建模式,基于 StarRocks 实践了全新的实时数仓模式,大幅的降低了实时分析构建的复杂性。通过这个平台,我们不仅可以快速构建各种小时、分钟、秒级的看板指标以及数据服务,还能保证数据在导入准确的同时保持高性能。基于 StarRocks 在核心的订单以及车辆业务方向的成功应用,我们对其他场景的数据链路也进行了调整,整个实时链路都接入到 StarRocks。 以前我们使用了很多不同类型的查询引擎,不断做加法,大多数时候都要忙于处理各种组件的异常。在引入 StarRocks 后,我们不断做减法,成功统一查询引擎、降低维护成本、提高数据取用灵活性。如今,StarRocks 已成为我们数据中台统一分析的底座。 松果出行实时 OLAP 的演进 作为对内对外的数据窗口的提供者,松果出行数据中台部门的职责是围绕数据集群、OLAP 引擎、离线/实时数仓、画像标签、数据治理、产品工具等,结合数据建模、人工智能、增强分析、数据可视化等技术,为业务的智能化分析决策提供支撑。 两轮电单车出行是我们的核心业务。业务链条主要包含投车、骑行、支付、换电、营销、挪车等很多环节。在这些过程中我们既需要对中间过程的变更做留存,也需要对最终的结果数据做计算。既有针对车的也有针对不同区域、订单的纬度需求,需要定时或不定时提供多维度的数据。准实时、实时的数据需求也越来越多,越来越迫切。 松果出行数据中台采用的是经典的 Lambda 架构,离线跟实时是两套单独的体系;离线以 Apache Hive(以下简称 Hive)、Apache Spark(以下简称 Spark)、Presto、MySQL 为主,做数据清洗、计算、查询、展示使用,这套架构基本能满足离线分析的需求。对于实时场景的探索,主要经历了三个阶段: 实时数仓 1.0 的架构 ​ MySQL 业务库数据经 Canal 实时抽取并发送到 Apache Kafka(以下简称 Kafka),然后写入 Kudu。Apache Spark(以下简称 Spark)定时从 Kudu 读取数据并计算,通过 Apache Impala (以下简称 Impala)进行查询,提供小时级看板指标到 BI,解决了业务对于小时级数据的分析需求。另外一部分数据经 Spark 计算后写入 MySQL,用作对外的数据服务。 但随着深入使用,这套方案也存在以下痛点: 需要单独开发维护一套 Spark 程序来读取 Apache Kudu(以下简称 Kudu)表,定时计算,维护成本高; Kudu 表的创建、读取、修改都不是很方便,要花很多时间修改程序; 对于一些由多个原子指标组合衍生出来的指标无法快速实现; Impala + Kudu 的组件维护成本高; 无法获取每条变更日志所有变更状态的明细数据; 针对 Kudu 跟 Impala 的监控缺失; 大数据量的快速查询无法支撑。 实时数仓 2.0 的架构 为了解决以上痛点,我们又引入了实时 2.0 的架构,如下图所示: ​ 此方案数据采集阶段跟 1.0 架构相同,都是利用 Canal 组件实时抽取业务库数据日志到 Kafka,ETL 阶段用 Flink Stream+Flink SQL 消费 Kafka 做数据清洗和分层,DIM 层数据存储在 Apache HBase(以下简称 HBase)和 MySQL 中,ODS、DWD 等其他层数据放入 Kafka,最后通过 Apache Flink(以下简称 Flink)对数据进行关联、扩维、深度清洗后写入 ClickHouse 对外提供查询。 在 2.0 架构中,用 ClickHouse 替换了 Kudu + Impala,主要利用 ClickHouse 的如下功能: 丰富多样的表引擎可以支持不同业务查询; 利用任意合法表达式的分区操作进行裁剪,大大提高查询效率; 支持表级及列级过期设置,降低空间占用率; 支持不同压缩方式,提高查询速度; 类 SQL 语法,且支持多种不同组件,对外提供 HTTP、JDBC、ODBC 等不同链接方式,便于整合到不同工具链路当中; 丰富的函数库,可满足不同查询需求。 这套方案提供了小时级以及更小时间粒度的看板指标需求,解决了 1.0 方案的一部分痛点,在一段时间内可以满足业务需求。但随着应用的深入,这套方案也展现出一些问题: 更新删除能力差,去重能力差,导致数据准确性差; 组件维护成本高; 表结构变更成本高; 查询并发有限制; 分布式表的节点横向扩展差; 多表 Join 性能差。 实时数仓 3.0 的架构 为了解决以上问题,我们又引入了 StarRocks,实时架构演化了到了 3.0 方案: ​ 数据采集到 Kafka 之后,先是通过 Flink Stream 进行反序列化、分流等操作,然后通过 Flink SQL 进行关联、扩维等,分为ODS、DIM、DWD、DWS 层,其中 DIM 层存储在 MySQL 与 HBase 当中,其他层存储在 Kafka 当中,层到层之间都是通过 Flink 来实现,所有数据的最终归口在 StarRocks。 目前提供小时、分钟、秒级的看板指标及数据服务,历史数据和增量数据共同存储。3.0 方案完美解决了 1.0 跟 2.0 方案的痛点,甚至超出了我们的预期。 StarRocks 的引入 引入 StarRocks 主要是为了解决 2.0 架构面临的痛点。总结下来,我们对新的 OLAP 引擎的期望主要包括下面几点: 不仅大宽表查询性能好,多表 Join 查询性能也非常优秀; 支持 SQL 和类 SQL 查询,方便业务使用; 支持批量、实时数据导入,满足历史数据和增量数据的提数需求; 支持数据的更新、过期等,支持表结构的快速变更; 支持大数据量的秒级查询响应; 有较好的并发支持能力; 可以兼容已有的数据架构,可以方便地与 HDFS、Hive、MySQL 等交互使用; 有较强的容灾能力,运维简单,部署快速; 可以方便地融进我们的平台工具当中。 为此我们调研了一些主流 OLAP 引擎: 产品 优点 缺点 ClickHouse 单表性能优秀类 SQL 语法多种表引擎查询延迟低 数据更新支持差Join 性能差维护成本高 Apache Druid 查询延迟低支持更新聚合数据优秀 明细查询支持差查询类型单一SQL 语法支持差 Presto SQL 语法灵活对 AdHoc 效果好支持数据源丰富 查询延迟高并发能力弱 Apache Kylin 预聚合优秀查询延迟低 灵活性差维护成本高 StarRocks 大宽表和多表查询性能都非常优秀类 SQL 语法支持多种数据模型支持较高并发维护成本低兼容 MySQL 协议 社区比较年轻产品迭代比较快 StarRocks 从功能层面很好地匹配了我们对实时 OLAP 引擎的需求。为了充分验证 StarRocks 的性能,我们按照下述方式搭建了测试环境进行性能测试。 在相同资源配置下,我们对 StarRocks(1.16)和 ClickHouse(20.8)进行了对比测试,分别对比测试单表及多表关联查询的性能。在单表查询中,10亿以下的数据量,对于“select * ”、count、sum 等查询,ClickHouse 和 StarRocks 性能相近。在多表查询方面,StarRocks 完胜 ClickHouse。 在基于主键的数据更新场景中,我们希望做到尽可能高的数据准确性,但 ClickHouse 无论是使用 ReplacingMergeTree 表引擎还是数据整体更新,都无法很好支持。StarRocks 的更新模型则达到了我们的期望,通过数据导入的事务性保证了数据更新的准确性,同时能保持高性能。综合考虑下,我们最终选用 StarRocks 来作为实时 3.0 方案 的 OLAP 引擎。 如今,StarRocks 已经在松果出行广泛使用。StarRocks 也经历了多个版本的迭代,性能大幅提升。根据官方最新的基准测试,相较于之前测试的 1.16 版本,StarRocks 目前在性能方面已经接近 ClickHouse 的 2 倍,并且通过 LTS 版本的支持,也能在保持版本快速迭代的同时保障线上集群的稳定性。 StarRocks 在松果出行的应用 在订单业务中的应用 订单分析是我们的核心业务场景之一。引入 StarRocks 后,整个链路设计如下: ​ 历史数据用 Broker Load 从 Hive 直接导入StarRocks。增量数据通过 Canal 抽取后再通过 Flink SQL 将订单表做字段补齐后,作为宽表直接用 Routine Load 写入 StarRocks 明细模型表,然后创建逻辑视图来满足不同维度的计算及所有状态的明细数据查询需求。在这层逻辑视图之上,通过调度平台定时对数据加工汇总后 Insert 到 StarRocks,作为数仓 ADS 层来满足不同团队的查询需求。 这套架构的好处是,我们只需用 Flink 做简单的 ETL 处理,后续业务计算在 StarRocks 进行,避免数据重复消费。这样可以快速灵活地响应不同团队不同维度的需求,而不需要在对接新的需求时,重新设计方案来对接,从而降低开发工期、灵活适用不同场景。 目前,我们基于 StarRocks 实现了秒级、小时级、天级的时间分析粒度,城市、大区、全国的区域分析粒度,提供订单量、订单总金额、超时费、里程费、客单价等维度下 30 多种不同的指标。 业务变更已完全不需要我们重新修改开发程序,数据验证也简单快速。作为数据中台部门,只需新建一个视图或者修改视图逻辑,即可快速上线,提供数据支撑。在进行数据修复、异常追溯时也链路清晰,极大地提高了开发效率。 在车辆方向的应用 车辆是我们的核心资产。从车辆的投放,到挪车、换电、维修等,整个链路非常长,不同车辆的状态是我们关注的重点。 整个数据链路如下: ​ 这条数据链路涉及 10 张多表,基本都是业务库数据。每张表要求的数据存储状态都不一样。比如实际投放车辆数,需要用到历史和实时的所有数据,中间会减去未投放的车辆数。而投放状态是时刻变化的,实际使用车辆数需要从订单表中增量获取当天被骑行的车辆数,可用车辆数则要从投放车辆数中减去那些维修、被收车、缺电等状态的车辆。这些状态的数据库表又是不同的业务团队所产生的,整合在一起非常繁琐。 如果用传统的实时数仓的模型,基于 Kafka+Flink 窗口+状态无法实现这一复杂逻辑。如果用 Spark+Hive 的方式,数据的及时性无法保证,线上 Apache Hadoop(以下简称 Hadoop) 集群压力会非常大,口径变更时修改也很复杂。 上述基于 StarRocks 搭建的数据链路,则解决了这些问题。对于能提前关联的数据,我们用 Flink SQL 打成大宽表入库,需要历史数据且状态时刻变化的数据全量从 Hive 导入 StarRocks,然后通过 Canal 抽取增量数据到 Kafka ,再导入 StarRocks 来更新状态。在最上层创建逻辑视图,通过调度平台定时计算输出到 ADS 层,供业务方使用。当需要口径做变更,或者查看不同维度的车辆指标时,我们只需新建一个逻辑视图即可。 如今在车辆方向的应用,我们提供小时粒度的数据、20 多种不同的指标,给业务运营提供了扎实的数据支撑。 StarRocks “极速统一”落地 基于 StarRocks 在上述场景的成功应用,我们对其他场景的数据链路也进行了调整。目前 StarRocks 在数据中台的实时链路中应用非常广泛,已经是我们的重要基础。 大部分准实时、实时需求已接入这套体系。基于 StarRocks 的任务大概有 50 多个,提供了大概 150 多个指标、2T 多的数据。后续我们会将全部实时数据接入到 StarRocks,支撑实时数据分析、数据服务、指标展示、监控告警等方面的应用。 在接触并选用 StarRocks 之前,我们早期使用了很多组件:Druid、Kylin、ElasticSearch、Kudu、ClickHouse、Impala。 这些组件的适用场景都不尽相同,语法以及能力也各有千秋。我们用 Druid 来预计算所有内部服务的埋点日志数据,但无法查看明细数据;用 Kudu 主键去重,来满足实时更新的业务数据去重需求,使用 Impala 或者 Presto 对外提供查询;用 ClickHouse 来存储实时埋点数据和业务数据,采用复杂语句来实现去重和窗口功能;用 Kylin 试点数据口径和维度相对固定的指标计算场景。 总体而言,组件比较多,使用也比较混乱,不仅数据存储分散,占用有限的机器资源,而且每个组件的语法完全不一样,学习成本高。另外,各组件都需要单独搭建性能监控报警体系,后期的升级维护困难,运维压力很大。 经过改造后,整个实时链路都接入到 StarRocks,StarRocks 成为我们大数据通用 OLAP 的重要底座。 从数据源头来看,目前有以下源头:离线的 Hive 数据,实时的 Kafka 数据,Flink-Connector 的数据,MySQL/HDFS 的数据。这些都能通过 StarRocks 原生的 Load 方式进行数据导入。 在表的设计方面: 大部分表都按照时间字段进行了分区,使用常用的查询列以及关联的关键列作为分桶; 对于明细数据,由于数据量比较大,做了数据过期的设置; 使用 UniqueKey 的 replace_if_not_null 对部分列进行更新,后继 PrimaryKey 将支持部分列更新,我们也将进行更多实验; 控制 Routine Load 导入频率在 10-15s,降低后台合并的频率。 在运维方面: 针对 FE,我们配置了 VIP 代理,保证查询请求的高可用,同时也保证查询请求负载均衡,不至于单节点承受高频次请求; 目前使用的是社区版,我们自己实现了针对 FE、BE、Routine Load 任务的监控告警; 用 Grafana 搭建了指标监控大盘。 在性能方面: ​ 以前我们使用了很多不同类型的查询引擎,不断做加法,大多数时候都要忙于处理各种组件的异常。现在引入 StarRocks 后,不断做减法,最终统一查询引擎、降低维护成本、提高数据取用灵活性。 StarRocks 与内部平台的融合 StarRocks 现在也作为一个基础数据库,融合在了松果出行的数据分析平台和数据资产平台中。在这些平台中,作为工具的底层基础框架,StarRocks 为业务发挥着重要的支撑作用。 当然,在使用过程中我们也发现了一些小问题: String 类型的数据长度有限制,对于某些长度较大的字段智能过滤或者无法适用; 物化视图不能支持复杂条件的聚合计算; 现有日志格式对于出错的日志分析不是很友好; 动态分区表的分区目前只支持天、周、月,不能支持年的粒度。 总结与规划 使用 StarRocks 后,不仅我们前期的业务痛点得到了解决,实时 OLAP 分析的需求也被更好地满足。同时,将多组件收敛到 StarRocks,不仅满足了多样化的业务需求,也极大降低了使用和运维成本。 接下来我们将进一步优化 StarRocks 的使用性能和使用场景: 更多的离线业务从 Hive/Presto 迁移过来,支撑更多的离线业务; 进一步收敛 OLAP 引擎,将 ClickHouse 的所有任务迁移到 StarRocks; 充分利用 StarRocks 的优越性能进行多业务的多维分析; 优化我们的表、任务,充分利用物化视图的能力; 完善对 StarRocks 指标的监控; 将 StarRocks 嵌入更多的平台工具当中,使建表导数等更加智能化; 探索实时标签在 StarRocks 中的运用。 作为 StarRocks 社区一份子,我们也将大力投入社区工作。最后非常感谢 StarRocks 社区团队的大力支持,期望 StarRocks 可以在“极速统一”的产品能力上持续快速进步! ​ ​

优秀的个人博客,低调大师

SGG-大模型:从算法优化到工程落地的双重范式

第一重:SGG优化器(SGG Optimizer)——一种面向大模型训练的梯度分组学习率缩放方法。该方法通过动态在线聚类对每层参数的梯度动量进行分组,形成多个梯度统计簇,随后针对每个簇计算组特定的缩放因子,调整对应参数的学习率。这种策略在确保参数级自适应的同时施加组级约束,实现了梯度动态的均衡和训练过程的稳定。

优秀的个人博客,低调大师

LAPI 主动注册+RTMP 推流:重塑公网视频接入新范式

在智慧安防、连锁监管、野外监控等场景中,传统视频接入模式长期面临诸多难题:设备依赖局域网直连,公网部署需复杂端口映射,易遭遇网络攻击;跨网段、多分支场景下调试成本高、部署周期长;被动拉流模式响应滞后,难以满足实时监管需求。视频插件依托混合网关,以 LAPI 主动注册+RTMP 推流架构,彻底破解上述痛点,实现设备高效、安全接入。

优秀的个人博客,低调大师

生成式 AI 重塑网络犯罪经济范式与全域协同防御研究

生成式人工智能从成本、产能、盈利结构三层重构全球网络黑色产业链经济运行逻辑,加拿大雅虎财经专项报道指出,AI 工具大幅压低网络犯罪技术门槛与综合运营成本,同步提升诈骗、勒索、数据窃取类攻击的投产比,推动网络犯罪从小众精英黑客模式转向工业化、订阅制、跨境流水线运作。本文以该财经报道披露的 AI 网络犯罪经济特征、典型金融欺诈案例为核心实证样本,从经济学视角拆解 AI 对黑产供给端、需求端、资金流转链路的改造机理,系统梳理暗网 LLM 订阅、深度伪造社会工程、AI 勒索即服务(RaaS)三类主流犯罪商业模式,配套轻量化 Python 检测代码实现 AI 欺诈文本、仿冒域名、深度伪造内容自动化识别;结合国际刑警、Europol 威胁数据,剖析传统反诈风控体系在经济博弈层面的固有短板。研究表明,单纯技术查杀无法抵消 AI 带来的犯罪成本优势,防御体系需同步实现技术对抗、平台流量管控、资金链路追踪、行业协同治理四维联动。反网络钓鱼技术专家芦笛指出,AI 驱动网络犯罪的核心矛盾是攻防双方投入产出失衡,行业必须落地 “AI 对抗 AI” 多模态鉴伪机制,搭配金融交易分层风控、大模型 API 流量管控,压缩黑产盈利空间,从经济根源遏制犯罪扩张。本文研究成果可为金融机构、互联网平台、安全厂商、监管部门提供兼顾技术落地与经济治理的标准化反诈方案。

优秀的个人博客,低调大师

技嘉AI TOP ATOM携手AIMA打造桌面级AI落地新范式

在大模型应用持续走向落地的背景下,桌面级AI设备正在从“能跑模型”走向“真正可用”。围绕开发者、研究人员、小型团队以及对本地部署有需求的用户,技嘉AI TOP ATOM正尝试提供一种更贴近实际使用场景的桌面级AI解决方案。根据最新统计数据,中国软件开发者数量突破 940 万,其中涉及 AI 开发的开发者超过 200 万,说明中国AI市场对本地化部署、数据安全可控、低门槛使用体验的需求正在持续增强,开发者、小型团队与科研教学场景也成为桌面级AI设备的重要机会点。 近期,技嘉AI TOP ATOM和AIMA智能管控平台做了一次深度结合。AIMA由趋境科技推出,定位为AI推理智能管控平台,能够自动检测硬件环境、智能匹配配置并一键部署AI模型,同时通过AI Agent实现推理服务的自动优化与管理。其核心设计强调零依赖、零配置和离线可用,旨在降低AI推理设备在配置、运维和资源使用上的综合成本。 在使用体验上,AIMA支持硬件自动识别、知识驱动部署、OpenAI兼容API、Web可视化管理界面以及57个MCP工具接口,可将模型部署、设备监控、Agent交互、日志查看与集群管理集中到统一入口中。此外,AIMA还支持多种主流硬件架构和多类推理引擎,并可在5分钟内完成从硬件检测、引擎选择到模型部署和API就绪的整套流程,进一步提升桌面级AI平台的开箱即用体验。 对于希望将本地AI真正纳入日常开发、内容生成、知识问答及多模型推理流程的用户而言,技嘉AI TOP ATOM与AIMA的组合,不只是提供了一台具备算力的平台,更补全了桌面级AI从硬件到部署、从管理到应用的完整链路。随着桌面级AI需求进一步走向实用化,这种“硬件平台+智能管控”的一体化思路,也有望成为本地AI落地的重要方向。

优秀的个人博客,低调大师

Vue3 开发新范式,不用`ref/reactive`,不用`ref.value`

什么是Cabloy-Front? Cabloy-Front 是一款支持 IOC 容器的 Vue3 框架。不用ref/reactive,不用ref.value,不用pinia 与UI库的配合 Cabloy-Front 可以搭配任何 UI 库使用,并且内置了几款 UI 库的项目模版,便于开箱即用,包括: antdv element-plus quasar vuetify 特性 Cabloy-Front 为 Vue3 引入了以下鲜明特征: 不用ref/reactive:因为在大多数场景下,不需要使用 ref 和 reactive 不用ref.value:因为在 Cabloy-Front 中定义响应式变量更加直观,不再需要 ref 语义 不用pinia:因为 Cabloy-Front 提供了 IOC 容器,可以更加灵活的定义和使用全局对象 动图演示 演示:不用ref/reactive,不用ref.value 1. 定义响应式状态 @Local() export class MotherPageCounter extends BeanMotherPageBase { counter: number = 0; inrement() { this.counter++; } decrement() { this.counter--; } } 2. 使用响应式状态 @Local() export class RenderPageCounter extends BeanRenderBase { render() { return ( <div> <div>counter(ref): {this.counter}</div> <button onClick={() => this.inrement()}>Inrement</button> <button onClick={() => this.decrement()}>Decrement</button> </div> ); } } 演示:依赖注入 1. 逻辑抽离 将counter逻辑抽离出来,创建一个Counter Bean @Local() export class LocalCounter extends BeanBase { counter: number = 0; inrement() { this.counter++; } decrement() { this.counter--; } } 2. 在组件中注入并使用 @Local() export class MotherPageCounter extends BeanMotherPageBase { @Use() $$counter: LocalCounter; } @Local() export class RenderPageCounter extends BeanRenderBase { render() { return ( <div> <div>counter(ref): {this.$$counter.counter}</div> <button onClick={() => this.$$counter.inrement()}>Inrement</button> <button onClick={() => this.$$counter.decrement()}>Decrement</button> </div> ); } } 框架已开源: https://github.com/cabloy/cabloy-front

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册