大数据与ai生态中的开源技术总结

qcloud1001 qcloud1001     2023-03-09     363

关键词:

本文由云+社区发表

作者:堵俊平

在数据爆炸与智能革命的新时代,新的平台与应用层出不穷,开源项目推动了前沿技术和业界生态快速发展。本次分享将以技术和生态两大视角来看大数据和人工智能技术的发展,通过分析当下热门的开源产品和技术,来梳理未来的行业生态以及技术趋势。

技术图片

我们今天的主题分为三块,第一是从开源的角度看技术、产品和生态,第二,我们从腾讯云大数据的角度梳理开源的实践,并跟大家分享一下我们最近一段时间或者最近一年以来我们的贡献和成果。最后会跟大家一起探讨一下开源的大数据以及AI这个生态当中的一些热点和趋势。

开源:技术、产品与生态

最近在大数据这个圈子里,开源圈或者是整个大数据的圈子里有一个公共性的事件,做发行版的厂商,大数据领域两大技术巨头 Cloudera和Hortonworks突然宣布合并,这两个公司其实从开源界从商业界,都是互相打的不可开交的两个公司。从历史上去观察这两个公司,我们当时认为是完全不可能合并的两个公司,为什么呢会突然合并?

开源大数据的危机?

我之前曾经在其中一家公司工作过,长达4年时间。当时从我的观察,这两个公司在这段时间里面到了老死不相往来的地步,四年的时间只有一个工程师跳到了对方公司。但这样的公司在今天这样一个时代,大数据、AI或者云时代,这两个公司合并了。合并意味着什么?外界有很多猜想,这是强强联手,还是抱团取暖,是主动求变,还是来自资本的压力,一千个人有一千个答案。我们从外部角度可以看出一些端倪,或者说从整个开源的运动或者开源的社区,生态发展可以看出一些端倪。

第二个开源重要的消息就是说有些开源的厂商在最近这段时间里面,从完全开源的许可证协议转向了部分开源,或者说有条件的开源,把一个完全开放的生态变成了变更的许可证协议,mongoDB更改开源协议是可以继续用我的代码,如果把它作为一个服务开放出来的话,要开放所有的支撑服务代码。Redis加了一个规定是可以正常使用分发,但不能销售这个产品。我们看到这些曾经乐于开源的厂商,现在对开源的许可证加了很多限制和条款。

技术图片

开源产品的“冰山困境”

总体来说,站在支持纯开源的、个人的角度来看,这是从开源到部分限制性的一种倒退。造成倒退的原因是什么呢?对于基于开源项目的产品,我的总结是可能面临所谓的冰山困境。什么意思?就是说从用户视角去看开源产品也好,或者说非开源的产品也好,可能很多时候关注的是产品的功能和性能。冰山下面的这些技术的复杂性、成熟度可能关注不足,可能在挑选类似功能产品的时候往往从功能、性能、价格等外部的维度角度来考虑。

基于用户对于功能、性能以及性价比的追求,软件供应商可能更加放大或者专注于这些差异化的软件的开发和研发。对于冰山底部的大开源平台,这个开源部分的能力,他本质上是属于同质化的。很多软件供应商会去想:如果我在这里投入大规模的研发,实际上与市场上的竞争对手的产品之间就体现不出差异性。所以这里的冰山困境是指对开源产品,不管是用户还是商业组织,会更多的关注水面以上的部分。造成的结果会是什么呢?如果大家真的只关注水面上的部分,只关心上层建筑是否搭的越来越高,越来越好看,而不注意维护冰山底座的部分,会造成底部消融,如果底部不稳,整座冰山都会出现问题,围绕开源项目所构建的生态体系就会垮掉。这样的事情发生的多了,会影响公众对开源项目与软件的信心,我们这样一个开源大发展的时代又会回退到闭源的状态。

技术图片

开源的产品发展到今天,我们一起要反思一下,为什么会出现所谓的冰山困境,怎么样突破这些冰山困境。我觉得从一个开源软件的整个生命周期来看,我们可能有不一样的观点。对于开源软件供应商来说,开发阶段用所谓的拿来主义,基于现成的软件来构建,可以降低他的开发成本,包括在社区里面利用一些社区外部的资源来促进开发流程或者开发的进度,这些都是很好的布局。

但是对于测试部分和维护部分,不管是开源软件的发行商或是云厂商,可能都有关注不足的部分。什么意思?刚刚我们说到基于开源可以做开发,可以降低所谓的开发成本,但相应的测试成本并没有太多的降低,因为测试的复杂度很高,这些开源软件都是独立的社区去开发的。它们之间在版本发布的时间点上无法做到同步,所以这些不同步造成了很多时候版本之间有版本或者时间点上的冲突,需要你去测试不同软件之间的边界与协同。

所以在这个层面上,虽然使用基于开源的软件去打造一个企业化的软件,我们可以降低一些开发成本,但是在测试成本这块,不要轻易降低这部分的成本和投入。在这块,需要厂商并且清醒的认识和严谨的态度。如果测试不到位,对用户的感觉是开源软件很不稳定,实际上这不是开源软件的错,而是软件提供商没有经过严格意义上的测试。不管是开源还是闭源,没有经过充分测试的软件是不稳定的。

技术图片

不管是开源的,还是闭源产品。重要的不是代码,重要的是后面的社区、后面的人,如果没有后面精通这些代码的人,拿了这些代码也没用,因为有些技术债,是迟早要还的。对于维护阶段的技术债,现在的开源软件提供商、尤其是开源社区投入资源不足的发行商,完全没有这个概念。如果从软件整个生命周期来看这个问题,如果在用户侧和软件提供商侧达成这样一个共识,就自然不仅会专注冰山上面的一层,冰山下的广大的底座也会相应的重视和加强投入。这样整个开源生态就会走一个正向、积极的循环。

从维护开源生态健康的角度来说,腾讯云也有一些相关的尝试,这里以云上的大数据产品为例,做一些分享,包括后面的一些实际的成果。

腾讯云大数据的开源实践与贡献

举一款产品,我们叫腾讯云数据仓库产品Sparkling,是基于很多开源的技术,打造了一款云仓库,它可以对云上多种数据源进行存储,比如说云对象存储COS,云数据库,弹性MapReduce等等,还有传统的关系型数据库也可以对接。后面通过数据集成来构建数仓,数据集市来满足BI等数据应用。它基于非常强大的Hadoop以及Spark开源大数据技术,并进行了相应的一些优化。这些优化已经以patch的方式回馈给社区。同时它提供一个数据开发IDE,这样用户可以写传统的数据分析SQL,也可以支持机器学习常用的python,R等语言。除此之外,对于数据资产管理、数据门户、数据质量控制这块也都有相应的解决方案。

技术图片

值得一提的是,因为它是一款针对云的特性而设计的一款数仓产品,所以对于云特性的利用已经到了一个比较高的阶段。我们把所有的节点分为三种,主节点、核心节点和弹性计算节点。主节点是一些重要的控制性节点,核心节点包含数据节点和计算节点,而弹性计算节点只有计算节点,所以支持可伸缩的部署。我们对开源的项目做了很多改进,比如说支持一些企业级的安全特性,包括对于数据授权和鉴权的支持等等,我们还跟英特尔一起合作,在社区里面持续优化SparkSQL的任务执行器,在执行的时候可以动态调整执行计划。我们对于数仓的列式存储层,也做了很多优化工作,包括我们也回馈到Parquet社区里的bloomfliter功能来支持更快速的数据扫描。我们当前也在针对于列存做基于MVCC的ACID支持,也有计划把相应的方案和代码回馈给社区。我们的这款产品会在开源的基础上把相应的技术优化提升之后,再回馈给开源社区。

技术图片

所以我们试图为这些开源项目做更多的贡献,如果每一个云厂商都能够积极主动的贡献技术力量、技术资源给开源社区,这对开源的生态健康是非常有意义的。我们还是Apache开源软件基金会的白金赞助商,这个组织有很多大厂来支持它,为什么会有这些大厂来支持?因为它是很多软件,包括大数据,包括人工智能等核心软件背后的一个很重要的源泉,是水源地,我们做这些贡献和赞助不是因为有相应的权利保障,而是为了保护好这个水源地,这对开源生态是非常重要的。我们是国内第一家白金赞助商,我们以后也会持续赞助下去。我们今年也帮助Hadoop,Spark社区发布了最新的release,我们投入了团队的committer和PMC在社区里组织协调这些release的发布,促进社区的健康发展,也开了国内大数据厂商的先河。我们还是很多开源项目的积极参与方之一,比如Hadoop社区的Ozone项目以及Spark社区的Hydrogen项目等,与社区里的其他开发者一起协同开发这些项目,尤其把云厂商的能力和经验带进来,最终会使整个社区受益。

技术图片

大数据与AI领域的热点开源技术

开源大数据技术发展历程

Apache Hadoop是在2006年左右成立的,这十几年有了很大的发展,甚至可以说是如日中天的过程。近期的热点主要在云原生,包括与AI平台的集成与协同。还有一个简单的列表,列出大数据每个细分领域,比如:SQL,流计算等等,可以看到在每个领域都会有很多竞品和精品,为什么会有这么多出来?总有人对之前的项目不认同,或者认为还有改进的空间。从研发资源的组织来说,开源这种跨企业和组织的协同和传统的企业内组织是很不一样的。但从结果来看,开源是一种很有效的资源组织方式,既避免了大量的重复车轮子的工作,又保证了更新、更好的轮子能及时出现。

技术图片

大数据与AI技术相互融合

对于数据的访问之间,我们计算和物理分离,有很强的优势。数据平台还会往外进展,可以把GPU能力集成,在这上面通过加强调度,统一数据的训练以及推理。包括Spark社区也提出了氢计划,在应用层把大数据和AI开源的框架全部串联在一起,通过分布式的调度方式,把这些框架调度到分布式数据与AI平台之上。

技术图片

传统的机器学习和大数据,两个社区、两套技术,能不能做一个融合,或者有没有关联?相对于传统的机器学习,深度学习对于数据、大数据的利用,应该说效率更高。因为传统的机器学习到一定规模之后,训练的指标和效果就上不去了,但是Deep Learning是不一样的,海量的数据可以让大规模神经网络有更好的训练效果。腾讯也开源了Angel的框架。所以在融合的基础上,我们认为未来的技术方向,会是AI与大数据技术相互融合的过程,从原始数据导入到数据准备、数据训练到模型部署,整个是一套闭环,这是未来的一个趋势。

技术图片

总结

最后做一个简单的总结,我们认为开源项目属于社会公共资源,就像是水,上善若水,水润万物,虽然需要有人来维护,但其核心属性仍然是免费的公共品。在开源生态圈的利益相关方,包括我们的用户,包括我们的软件提供商,包括我们的开发者,我们都是有义务来投入资源,来维护这片水源地的。我们需要建设好社区生态,让开发者可以对接用户的需求。未来这个社区的开发方向和用户实际的需求可以做直接的对接,而不一定通过软件供应厂商,因为厂商的优先级很多时候体现了付费客户的需求,尤其是大客户的优先需求。面对海量的开发者与社区用户,我们需要这样一个平台,让长尾的用户能够把声音传递到社区,和社区长尾的开发者对接,这样才有助于社区的健康发展。

我们要重视社区、重视人,而不是重视代码本身。有些公司开源的代码,会有人跳出来会说你这个代码写的不好,我觉得这是一个对开源非常不友好的行为。不管是任何公司开放任何代码,这都是值得鼓励的一个现象。如果代码写的不好,你可以帮助它变好,哪怕是写一个类似的东西开放出来和它竞争。开源在中国还是一个萌芽期,在这个情况下过分强调代码质量,而不是开源本身的行为,我觉得会有点拔苗助长。

最后一句话总结今天的演讲,第一个是作为我们的开发者来说应该大胆开源,把一些产品还有技术大胆的开源出去,开源有很多的商业模式,我觉得开源软件的商业模式在云时代下会越来越成功。第二个是对于用户来说,要放心、大胆的使用开源软件和技术,因为这个时代基于开源技术的产品完全可以满足大多数的场景和需求,而且能够保证你不被少数的闭源软件所绑架。

此文已由腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号

一文看懂大数据生态圈完整知识体系大数据技术及架构图解实战派

一文看懂大数据生态圈完整知识体系徐葳随着大数据行业的发展,大数据生态圈中相关的技术也在一直迭代进步,作者有幸亲身经历了国内大数据行业从零到一的发展历程,通过本文希望能够帮助大家快速构建大数据生态圈完整... 查看详情

阿里云polardb开源数据库社区与tapdata联合共建开放数据技术生态

简介:近日,阿里云PolarDB开源数据库社区宣布将与Tapdata联合共建开放数据技术生态。近日,阿里云PolarDB开源数据库社区宣布将与Tapdata联合共建开放数据技术生态。在此之际,一直专注实时数据服务平台的Tapdata&#... 查看详情

封仲淹:oceanbase开源技术生态全景解析

...孤立存在的,而是与上下游协同发展;任何一个数据库都不能独立服务用户,而是需要为用户提供一整套解决方案,比如应用集成、数据治理、数据迁移及运维管控等,帮助用户更流畅地完成数据生命周期中... 查看详情

开源开放生态共建!立足国内开源社区大生态,畅聊飞桨开源社区共建理念

...习领域的最新技术突破、最扎实的产业实践和共创共享的生态成果。还有来自产学研界的专家学者和资深AI工程师将在七大平行论坛带来精彩的前沿观点分享。今天将为大家介绍【开源开放生态共建】平行论坛精彩亮点,一... 查看详情

活动|greatsql社区亮相2023dtc分享开源技术成果实践

4月7-8日,年度数据库行业盛会——2023数据技术嘉年华(DTC2023)如期而至。此次盛会汇聚了全国各地数千名数据领域学术精英、领袖人物、技术专家、从业者和技术爱好者,共同见证行业蓬勃发展、生态融合共赢、技术迭代升级... 查看详情

如何加速云原生数据应用?这个开源项目备受关注

简介:作为对原生Kubernetes生态完全兼容的数据密集型应用运行支撑平台,Fluid将向更灵活、智能、可扩展的架构方向发展,不断提升开发者和用户使用体验。未来,Fluid将继续与社区并肩、与生态同行,致力于... 查看详情

大数据生态技术体系都有哪些?

...我们还需要一些平台工具,如IDE开发、作业调度系统、大数据同步工具、BI模块、数据管理、监控和报警等。那么,什么是大数据生态技术体系?这对大数据工程师来说已经足够了,现在就思考一下大数据生态技术体系是什么?大... 查看详情

继cdh收费之后,这家公司率先推出了免费版大数据套件服务!

背景在大数据业务系统中,所有技术栈生态均是围绕着存储进行扩展的,目前开源的主流存储技术栈主要包含如下3种类型:·HDFS:Hadoop系列套件,包含Hive、HBase、Phoenix等;·ElasticSearch:包含Logstash、Ela... 查看详情

源创者说|从技术开放到产业连接,开源成就广泛连接的生态

...统、桌面办公软件为主的开源项目,已经逐步扩展到数据库、微服务、大数据、云计算等众多方向和领域。在王荣泽看来,开源是一种发展了很多年的文化与技术的合作方式,但在国内,它还是一个比较新的概念... 查看详情

wavesummit+2022明日开场,六大看点不容错过!

...技术的突破,也离不开硬件伙伴的协同和产学研开源生态的共建。WAVESUMMIT+2022峰会主论坛将分享以深度学习和大模型为代表的新技术发展,面向产业应用的最新升级,以及扎实的场景实践和共创共享的生态全景。... 查看详情

阿里云emr2.0:兼容开源,贡献开源,超越开源

...各个厂商纷纷宣布拥抱开源并且支持开源生态。尤其在大数据这个领域,开源技术已经成为了推动整个大数据技术演进和行业发展的最重要的一股力量,同时开源技术栈也成为大数据行业的一个技术标准。阿里云EMR作为... 查看详情

wavesummit+2022飞桨平台新升级全面支撑大模型研发与产业化

...22深度学习开发者峰会如期举行。峰会上,百度AI技术生态总经理马艳军发布了飞桨深度学习平台的最新技术和生态进展,全新发布飞桨开源框架2.4版本,带来业界首个端到端大模型开发套件PaddleFleetX,联合12家硬... 查看详情

中国大数据六大技术变迁记

中国大数据六大技术变迁记_数据分析师考试 集“Hadoop中国云计算大会”与“CSDN大数据技术大会”精华之大成,历届的中国大数据技术大会参考技术A中国大数据六大技术变迁记_数据分析师考试 集“Hadoop中国云计... 查看详情

盘古开源:“大数据+ai”,将成为大数据标注领域发展的重要趋势

大数据、云计算和人工智能等技术快速发展的同时,数据标注服务逐渐成为了新形势下商业价值凸显的重要抓手。然而,数据标注行业内部依然面临着大量的“二次加工”机会和难题,亟待进一步培育和完善。数据标... 查看详情

npu芯片技术与市场发展杂谈

...伴共建更好用的软件工具,以更开阔的视野来做大本土NPU生态。安谋科技执行副总裁、产品研发负责人刘澍透露,除前述软件开源外 查看详情

朋友们,跟我来,一起抓住大数据时代的ai机遇

文章大纲1.自然语言处理实战入门图文课程视频课程2.大数据处理实践探索3.大数据+AI赋能行业,助力企业数字化转型最佳实践案例4.大数据AI系统解决方案与技术架构5.童叟无欺--你值得拥有6.心路历程--那些年我写过的总结... 查看详情

云计算和大数据未来发展趋势分析

如果这些思考得到肯定的答案,云计算与时代的发展需求相契合,真正的时代大门就会开启。云服务发展趋势云服务的发展趋势将会是:建立公有云生态圈、私有云共推开源、云安全成关键、政府推动和云保险出现。从产业生态... 查看详情

大数据&ai人工智能图数据库的发展脉络与技术演进

目录背景介绍Background图数据库的发展历史:History1.图数据库的存储设计2.图原生数据库 查看详情