性能高1倍,价格低3/4!数据库实时同步新选择!
实时分析决策的第一步就需要将数据实时同步到大数据计算引擎,DataWorks数据集成采用自研高性能引擎,在相同的机器规格情况下,RDS实时同步性能最高为其他数据同步方案的2倍,而价格可低至其1/4。通过DataWorks数据集成,企业可以进行高效、低成本、稳定的实时数据同步。
DataWorks数据集成可以追溯到2011年的DataX1.0和2.0版本,随后3.0版本正式对外提供服务,再后来公有云、专有云、阿里内部功能三版合一,建立了Data Integration 服务。在2019年,DataWorks数据集成完成了商业化,独享资源组上线,按量付费、包年包月的付费方式也成功面向了用户。在2020年,全增量实时同步解决方案正式发布。
在全增量实时同步解决方案系统中,可以从MySql、Oracle、IBM DB2、SQL server、POLARDB等关系型数据库中全量离线同步到MaxCompute、Hologres、Elasticsearch、Kafka、DataHub等大数据产品中,再实现实时抽取关系型数据库的变更信息,同步到大数据产品中。像MaxCompute这种离线数仓,可以通过同步到Log表、拆分至Delta表、Merge到Base表,最后再写入MaxCompute这样的方式做实时增量同步。
DataWorks数据集成可以通过实时库监控抽取从关系型数据库(MySQL、Oracle、PolarDB等)抽取数据,再采取消息订阅的方式汇聚实时消息流数据,汇聚起来的数据可以去做一些数据处理,包括数据过滤、字符串替换和以后将会支持的Groovy函数,这也是一个比较标准的ETL流程。处理好的数据可以多路输出到不同数据源,再配合上实时运维监控和告警系统,就形成了整库全增量的解决方案,让实时同步具备从整库全量同步到整库实时增量同步再到大数据自动增量融合这样的完整链路。另外,实时同步的架构是高可用的,DataWorks数据集成在管控层和执行层都做了备用机器结构,如果调度或者数据传输链路断了,可以紧急地切换到另一条链路,保证任务的稳定执行。
数据集成的实时同步技术自带脏数据收集机制,在整个ETL的链路中,无论是读取端还是写入端不支持的数据,都可以通过插件中心的能力收集并输出到用户配置的目标端,包括本地日志、Loghub、MaxCompute等,为数据的再处理提供支持。
在大数据上云解决方案中,通过数据集成将离线和实时的数据分别通过离线引擎(EMR、MaxCompute)和实时引擎(MaxCompute交互式分析(Hologres)、Flink)去做数据处理,然后汇聚到DataWorks中做数据开发和数据服务,包括机器学习PAI平台去做模型开发等,最后开放给数据应用去使用,包括QuickBI、DataV、Tableau等。
基于上云解决方案,建立了多种场景化解决方案,包括智能实时数仓解决方案、实时监控大屏解决方案、数据湖解决方案,其中比较典型的智能实时数仓解决方案,适用于电商、游戏、社交等互联网行业大规模数据实时查询场景:
第一步:数据采集–通过DataWorks数据集成(批量+实时)、DataHub(实时)进行统一数据采集接入。
第二步:基于DataWorks完成数据全链路研发,包括数据集成、数据开发&ETL 、转换及KPI计算等开发,以及数据作业的调度、监控、告警等。DataWorks提供数据开发链路的安全管控的能力,以及基于DataWorks的数据服务模块提供统一数据服务API能力。
第三步:实时数据按实际业务需求使用Flink中进行实时ETL(可选),结果入库MaxCompute交互式分析(Hologres)构建实时数据仓库、应用集市,并提供海量数据的实时交互查询和分析。Hologres提供实时离线联邦查询。
第四步:基于阿里QuickBI进或第三方数据分析工具如Tableau行数据可视化,以及构建各业务板块数据服务门户应用。
该方案将阿里云实时数仓全套链路与离线数仓无缝打通。满足一套存储,两种计算(实时计算和离线计算)的高性价比组合。
基于Hologres和Flink的实时数据分析方案
数据集成将数据同步过来以后,我们需要实时的数据仓库将这些数据更好地应用起来。刚才简单介绍了实时数仓的解决方案,接下来我们向大家详细介绍基于Hologres和Flink的实时数据分析方案。
MaxCompute交互式分析(Hologres)提出实时数仓“服务分析一体化”的概念,让一个大数据引擎既能满足 OLAP的实时洞察分析又能满足KV式的高QPS点查特征服务的需求,将实时分析和服务做到很好的融合,极大的简化了实时数仓架构的复杂度,助力客户实时的分析与决策。
随着数字化转型的快速推进,数据量呈现爆发式的增长,而对数据计算的要求越来越高,低延时、低资源消耗、高效率、高精准度等。 如何从这些海量的历史数据和每日实时增量数据中快速汇总分析、挖掘出业务价值已成为业务最基本的需求。
在这个过程中,很多公司推出了批处理、实时计算,但离线批量数仓和实时分析具有不可调和性,离线数仓满足不了业务时效性的要求,而绝对的实时数仓也不切实际,“近实时”才有意义,而实时分析、近实时的分析构建离不开实时数仓系统的构建。
企业在实时数仓建设过程中应用最广泛的当属Labmda架构,它一定程度上解决了大部分企业数字化建设初期的业务问题,但是随着业务的快速发展、数据量的暴涨和业务需求的变化,Lambda架构的问题也就逐步凸显,主要包括几个方面:
1)数据在不同的系统中存储多份,空间浪费,数据一致性的问题难以解决;
2)整个数据链路由多种引擎和系统组合而成,开发和维护成本高,学习成本高;
3)从使用上来说,离线加工,实时加工以及统一数据服务层等处理过程中均使用不同的加工语言和接口,使用起来并不容易;
4)学习成本非常高,增大了应用成本。
因此架构简化、成本优化、数据统一、学习门槛低、适应业务敏捷、自助式分析趋势成为了迫切的需求,企业期望有一款全新的大数据产品,可以满足实时写入、实时计算、实时洞察需求;能做到实时离线一体化,减少数据移动,业务技术解耦支持自助式分析,从而简化整个业务系统架构。
在这样的背景下,Hologres推出了HSAP理念。 HSAP是指Hybrid Serving & Analytical Processing,是既能支持高QPS的点查场景实时写入和查询,又能将复杂的多维分析场景在一套体系里面完成。HSAP相当于数据仓库+在线数据服务,是两者的超集。企业需要统一实时数据和离线数据的存储,提供高效的查询服务,支持高QPS的查询,支持复杂的分析以及联邦查询和分析,并且能够直接对接前端应用,做到即席分析,统一数据服务,减少数据移动。Hologres作为以HSAP理念开发的产品, 隶属于阿里自研大数据品牌MaxCompute,支持PB级数据高并发、低延迟的分析和服务,支持实时数仓、大数据交互式分析等场景。其核心特点是分析服务一体化、以实时为中心进行设计、存储计算分离架构、兼容PG生态。
Hologres在全链路实时数仓建设场景,与Flink做了深度的融合,同时支持Flink的sink表、source表、维表。业务上可以基于Flink进行实时ETL清洗、转换,将明细数据、轻度汇总数据以及业务汇总数据存储在Hologres,再通过Hologres实时查询并输出数据至第三方分析工具进行实时分析。
MaxCompute+Hologres可以构建秒级交互式分析,MaxCompute数仓可以通过Hologres直接加速查询,无需数据移动,并对接BI分析工具,实现实时分析离线数据。也支持MaxCompute数据快速导入Hologres构建索引,提供更高QPS、更快查询响应的查询服务。
Holgores+Flink+MaxCompute可以实现“实时、离线、分析、服务一体化方案”。冷数据存储在MaxCompute中,热数据存储在Hologres中。
同时通过与达摩院向量引擎库Proxima的深度集成,可应用于实时推荐场景,实时推荐依赖特征查询、实时指标计算、向量检索召回,Hologres向量查询功能与Proxima深度整合可以提供高性能的向量查询服务,再加Flink和PAI,可以应用于实时个性化推荐、图像、视频及人脸等,提高广告留存率。
目前Hologres已经在多个客户及场景使用,进行大数据分析与决策。
1) 小红书之前自建了一个较大规模的ClickHouse集群,但是运转一段时间后,ClickHouse的弊端凸显,比如成本高、查询慢、不稳定、集群运维复杂。采用了Hologres后,获得存储计算分离的架构,轻松存储了15天数据,并且可以快速查询7天甚至15天数据,查询性能有大幅度提升;还有主键去重(insert or ignore),上游failover无影响,免运维等优势,客户满意度非常高。
2)菜鸟智能物流引擎原来采用Flink+HBase+OLAP的方案,该架构数据导入时间长、资源浪费、数据孤岛等问题严重严重困扰了业务同学,采用Hologres后,整个链路2亿记录数据处理速度端到端优化到3分钟,开发效率大幅提升,整体硬件成本下降60%。
3)阿里巴巴客户体验事业部(CCO)之前使用的DataHub+Flink+OLAP+Lindorm数仓方案,存在任务重复建设、数据存储冗余、元数据管理、加工链路复杂等痛点。而今年双11,Hologres助力CCO构建集实时化、自助化、系统化于一体的用户体验实时数仓,完美助力双11场景,支持上千+服务大屏,削峰30%,整体节约成本近30%。Flink实时写入TPS峰值100w+/s,写入延迟稳定500us内,双11当天查询latency平均142ms,99.99%的查询在200ms以内。
基于ELK的低成本实时日志监控分析
我们的实时数据除了存储在大数据引擎中,还有很多非结构化的日志数据,通过阿里云的Elasticsearch,用全托管的方式提供低成本的冷热存储方案,轻松助力企业搭建统一的云上全观测运维监控平台,实现海量数据的实时监控分析,提高自动化运维管理效率。
企业大数据IT运维经历了从单纯的运维工具到运维平台,再到自动化运维和故障预防式运维,到现在朝着智能化运维的方向进化。但现有的大数据运维分析手段依旧存在着原子工具繁多,上手成本高、工具之间的衔接困难,Monitoring(监控)、Logging(日志)、Tracing(定位追踪)无法互相依存发挥更大价值、真实业务中收益完全取决于使用者的架构能力等明显问题。
全观测场景下运维监控的痛点都是趋同的,比如日志/指标获取手段不一,获取成本高、日志/指标格式化挑战大、运维伸缩能力,峰值稳定性、海量数据长周期存储成本高、时序系统异常分析困难,日志分析工具检索性能瓶颈、可扩展性需求高等。为解决这些问题,Elasticsearch应运而生。开源Elasticsearch是一个基于Lucene的实时分布式的搜索与分析引擎,遵从Apache开源条款。它提供了一个分布式服务,可以提供快速的近乎于准实时的存储、查询和分析超大数据集。因其查询速度快、使用简单,通常被用来构建复杂查询特性。
Elasticsearch构建在Elastic Stack开源生态矩阵中,包括Beats(轻量级数据采集工具)、Logstash(收集、过滤、传输数据的工具)、Elasticsearch、Kibana(灵活的可视化工具)。
Elastic Stack的能力基本解决了全观测场景下的6个痛点:
1)Beats获取日志/指标,提供支持Autodiscover的Beats Agent,统一收集各类数据
2)拥有丰富的格式化日志/指标手段,包括各个开源软件、网络格式的日志/指标采模板,无需格式化,拥有实时数据加工处理的扩展组件,提供丰富的转化UDF/Plugin
3)高稳定性保证:基于分布式架构,保证集群的基础吞吐和性能,跨机房部署、同城容灾、场景化内核优化等
4)低成本:阿里云ElasticStack提供热-温-冷-冻结四层数据存储方式,使用特殊的存储压缩功能,大幅降低存储成本。
5)提供日志分析、监控、Tracing一站式能力,针对时序场景深入优化引擎,保证时序日志监控和分析的性能。
6)扩展性:基于分布式架构,以及灵活开放的RestAPI和Plugin框架,背后的开源社区也在为全新的技术栈提供丰富的对接手段
在此开源生态矩阵之上构建的ELK可以实现日志、指标、APM、业务数据在一个平台统一分析,建立统一的可视化视图、对齐时间、过滤条件、统一的基于规则的监控和告警、统一的机器学习的智能监控和告警。可以对接Spark、Flink等开源处理工具进行更多格式化统一,最后存储在Elasticsearch上提供给Kibana进行数据可视化监控告警,通过关联分析和机器学习去充分利用分散在整个系统各层的数据,更好的发挥一些数据的价值。
Elasticsearch背后的商业公司Elastic和阿里云于2017年开始战略合作,在阿里云上提供全托管Elastic Stack服务,100%兼容开源,免费提供X-Pack商业插件,即开即用,按需付费。同时深入功能与内核性能优化,提供更丰富的分析检索能力,更安全、高可用服务。
相比开源自建,Elasticsearch有开箱即用免运维的优势,企业可以零成本迁移上云、同时拥有更强的功能与性能、TCO预估成本仅为自建的75%。
稳定性方面,流量洪峰到来时,阿里云Elasticsearch自研限流Qos插件,实现索引级别的读写流控,当单个索引查询/写入压力过大时,对指定索引,按照业务的优先级进行适当的降级,将流量控制在合适范围内。
成本上,阿里云ES提供全托管的弹性伸缩运维能力,避免低峰资源浪费,可通过购买弹性数据节点、控制台配置定时扩缩容、根据业务流量动态扩缩容等方式实现。
另外,阿里云Elasticsearch日志增强版将计算存储分离,使用 NFS 共享存储作为节点底层存储,利用主副分片,主分片可读可写,副分片只读的方式,实现了存储成本节约100%、写入性能提升100%、秒级弹性扩缩容的收益。
阿里云将于2021年1月推出阿里云Elasticsearch时序写入Serverless版,可大幅降低时序/日志场景使用成本。用户将无须关注ES集群写入资源与写入压力,业务请求发生变化时,由云端Serverless调配物理资源,按需使用,按量付费,超强弹性扩容能力,提供低成本的本地型计算和存储节点,降低数据存储成本。
在业务层面,好未来(前身学而思)作为Elasticsearch的阿里云标杆客户,直播云业务支撑着百万人线上课堂,支持师生互动,承诺不卡顿并支持500ms低延迟高清画质。但是随着监控指标越来越多,直播质量实时性保障困难。为保障客户使用体验,好未来还需要对一个大池子中的数据进行细粒度的数据权限分析,并且应对教育行业寒暑假高流量,强波动的情况。
Elasticsearch为好未来提供了丰富异构数据源采集能力、模版化的日志解析处理能力、精确到字段级别的数据权限分割能力,支持用户灵活自定义权限体系,与企业自有权限体系对接打通,以及平滑的伸缩功能,集群热变更,对服务0影响等能力,满足客户在大流量场景下的实时直播质量监控与稳定性保障。
使用阿里云Databricks数据洞察构建Hadoop生态的批流一体实时数仓
除了Hologres+Flink构建实时数仓,很多公司正在使用Hadoop生态引擎构建大数据分析平台,并且已经在成熟地使用离线数据仓库。阿里云Databricks数据洞察可以基于Hadoop生态构建批流一体的实时数仓,对企业现有架构进行升级,满足实时分析决策的要求。
企业基于Hadoop生态构建大数据平台是总有些无法绕开的问题,比如:
1)想对作业调优,但是不懂内核,技术门槛高、运维人员缺乏
2)集群维护成本高、随着时间的推移,HDFS上的数据存储成本越来越高
3)需要同时处理流式数据和批数据,技术架构复杂,维护难,BUG多
4)对数据有增删改需求,大数据下难以提供事务性保障
5)数据工程师和数据分析师有各自的环境,难以共享,协同工作。
而企业对应的解决方案基本是:购买专家服务/直接添加计算资源、使用全托管的云计算服务、多引擎协同,一个处理流,一个处理批等方式,而这些方案通常需要多个产品来联合完成。
企业希望能通过一个产品来完成这样地数据分析诉求。拿到数据湖或者Kafka事件数据后,在流式分析分析和BI报表前,希望这中间能有一个引擎。这个引擎有支持存算分离的数据湖架构、又能同时处理流式数据和批量数据、还能支持数据增量写入。所以阿里云引入了Databricks数据洞察。Databricks数据洞察是阿里云和databricks公司合作的一款产品。Databricks作为美国科技公司独角兽,是Apache Spark背后的商业公司,在2020年Gartner发布的数据科学和机器学习(DSML)平台魔力象限报告中,位于领导者象限,在全球拥有5,000多个客户和450多个合作伙伴。企业使用阿里云Databricks数据洞察就可以构建Hadoop生态的批流一体实时数仓。
Databricks数据洞察在ETL和数据科学中有非常多的优势,比较显著的包括性能上跑标准测试集较开源最高有50倍提升、使用通用的数据存储格式Parquet,可扩展性高,并且支持客户自定义部署,满足定制化需求、使用企业级Spark,完美兼容开源Spark,迁移基本不需要API级别的修改、提供Z-Order优化,读取数据量减少95%,20倍性能提升、常用表和查询缓存,30倍性能提升、PB级可扩展性、提供交互协作的Notebook,可以满足数据工程师和科学家的编辑作业/共享结果的需求、将大数据和AI统一到一个平台,底层共享数据。架构上Databricks是Delta架构下的数据湖分析,也是批流一体的实时数仓。
Databricks数据洞察已经开始为各行各业提供大数据实时分析与决策能力,在金融行业,企业需要利用数据和ML(Machine Learning)实现消费者移动应用app的产品快速迭代,去吸引更多的客户。Databricks的notebook提供的数据共享能力和流批一体的数据架构,满足了客户处理和识别数百万用户的流式和批式数据的需求,并且接口统一。客户APP参与度提高了4.5倍、数据处理事件从6小时缩短至6秒、用一个数据湖代替了原有的14+个数据库,效能大幅提升。
在新零售行业,为了保障企业供应链数据实时采集、加速处理数据,为实时决策提供保障(快速检测问题,减少经济损失)。使用Databricks构建实时数仓后,数据延迟从2小时降低到15秒,并且由于数据链路精简,业务代码量也相应减少:Python代码从565行减少到317行,YML配置从252行减少到23行。
大数据实时分析与决策是当下比较火热的话题,企业希望技术能更快速地响应业务需求,阿里云也希望通过产品化的能力,帮助企业更快更好的使用数据,及时响应企业的数据需求。
文章中提到的DataWorks数据集成,MaxCompute交互式分析(Hologres),实时计算Flink版,Elasticsearch,Databricks数据洞察等产品,都可以在阿里云官网大数据栏目找到,如果有什么问题也可以钉钉扫描群二维码进行沟通。