中国第一个 Apache 顶级开源项目的突围之路!

news2024/11/19 22:38:17

【CSDN 编者按】近些年开源大热,开源创业之风随之四起。作为近两年特别火的商业方向,开源创业者如何才能在一片红海中乘风破浪,在行业中占据一席之地?第一个由中国人主导贡献到 ASF 的顶级开源项目 Apache Kylin 做出了有效探索,本文作者 Kyligence 联合创始人兼 CTO、 Apache Kylin 联合创建者及 PMC 李扬,深入地分享了成立于 2016 年的 Kyligence 在开源创业“非功能性价值”探索之路上的思考与实践。

作者 | 李扬       责编 | 何苗

出品 | 《新程序员》编辑部

如果用一个词形容目前的开源市场,想必就是“热潮”了。作为行业中的一员,我很欣喜能见证开源被热烈关注。互联网、云计算、大数据、物联网、人工智能等新技术不断发展,并与开源逐渐结合,为丰富的应用场景提供了支持。开源,作为软件行业创新引擎的地位不断增强,逐渐发展成强大的技术创新模式。如今,金融、零售、制造、电信等行业纷纷拥抱开源,开源已成为一种重要的科技创新渠道。本文将从开源项目 Apache Kylin 及其开源商业版 Kyligence 的创业和实践出发,分享经验,希望有所裨益。

开源发展,已经从蓝海变为红海

Apache Kylin 起步较早,自 2015 年毕业于 Apache 软件基金会( ASF ),成为第一个由中国人主导贡献到 ASF 的顶级开源项目,到目前全球有超过 1500 家公司正在使用 Kylin 。本质上说,它的核心是多维数据库,是一种特殊的 OLAP 引擎。我们期望通过智能化的技术与产品,让企业利用价值数据实现数字化转型,从而达成改变人类数据使用习惯的愿景。

正因身在开源以及开源商业化一线,我们能更直观地感受到开源市场的变化。随着开源项目爆发式增长,开源贡献者规模快速崛起,开源商业化公司市场也空前活跃。以纽约最大的风投公司 FirstMark 合伙人 Matt Turck 统计的 AI & DATA Landscape 为依据,如图1所示,可以看到很多垂直赛道中的开源项目已经暴增,从蓝海变成红海。

图 1 AI & DATA 全景图局部

在 Apache Kylin 专注的开源 OLAP 领域,从 2019-2021 近三年看,该领域出现的新项目已经呈指数级放量增长。我时常开玩笑,记得 2015 年 Kylin 从 Apache 软件基金会毕业后,行业里好像没有竞争对手,只有我们一家在解决这个问题。到最近不过短短几年间,美国和国内新涌现了很多不错的初创公司。

另外,从中国大环境来看,利好消息是:政策正在从战略上积极鼓励企业开源。《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》首次把开源纳入顶层设计,支持数字化底层技术建设,不断培育数字化发展新动能。

从《 2021 中国开源发展蓝皮书》调研情况来看,来自中国开发者、企业和科研机构的开源贡献在全球持续增加,获得越来越多的尊重和认同,中国开源的美誉度逐年提升。中国在全球开源生态中的整体地位也将同步提高,在一些优势领域将逐步占据领导地位。更重要的是,开源项目及基于开源的商业化产品逐渐在重要行业落地和使用,这不仅意味着开源已经从技术开源到产业开放,也代表着市场对开源的接受度大大提升,意义深远。我也不得不感叹,技术的精进、变革终究还是要到应用场景中去,这才是技术发展的“宿命”。

“数据是未来的石油”这句话大家肯定不陌生,用数据来驱动业务增长将是未来企业精细化运作的主要动力。但是因为数据源繁杂、技术间整合和平台间集成带来的难度,使得企业数据管理和分析的道路非常曲折。目前,开源项目 Apache Kylin 的用户主要来自海内外金融、零售、互联网、制造、通信等企业,而金融或是互联网企业一年在数据基础设施上的投入至少是千万到亿元级别。

基于数据驱动业务增长的行业需求与痛点,数据将被进一步地放量使用。当数据量暴增,企业该如何利用技术处理海量数据?IT 成本该怎么优化?IT 组织架构该如何调整以便于公司职员访问与使用?这些问题背后仍然有很多技术难题需要克服。

开源创业的“非功能性价值”探索

而今开源在技术创新、效率提升、成本降低等方面的优势进一步凸显,并成为各领域的技术底座。与此同时,我国数字化场景大爆发带来的信息技术栈需求缺口也在进一步扩大。开源作为技术创新引擎,将不断推动各领域技术发展,满足各类用户对“创新技术+敏态迭代”的需求。虽然开源讨论如火如荼,但新兴技术或者新兴领域的发展,无论技术层、市场层还是产品层,往往面临着人才短缺的问题。

对于开源发展的阻力,大家可以换个角度看。首先,人才问题也许不是人本身的问题,而是成本问题。有需求的企业需要用自己的技术人员来覆盖使用开源软件的成本,还是应该通过采购企业级开源商业软件来获得稳定可靠的服务?这是一大选择;其次,开源渗透进企业的另一大阻力是技术选择。前面我们也提到,目前的市场情况是开源项目种类繁多,且竞争激烈。毫不夸张地说,单就数据分析领域就有近二十个开源技术备选项。每个技术可能有开源版和企业版,这样一来企业进行技术选型以及结果评估往往需要花费不小的力气。以上两大选择都是我们实际接触到的“企业的纠结”。

开源以及开源商业化是市场环境中的常规路径,从创业者角度来看,我们并不焦虑,只需要将两个项目确定好边界,就能找到自己的立命之本。

以开源为基础,其技术发展的立命之本是什么?安全、可靠、稳定。

大家能够想象硬件也开源吗?其实硬件也有自己的开源市场。有没有这样一种可能:一台整车从硬件的设计到下面软件的架构,全是开源的?如果存在这种车,假如可以实现 3D 打印,你会打印出这样一台车供自己使用吗?我估计一般是不会有人这么做的。为什么?因为它不满足安全、可靠、稳定的刚需条件。回到开源的供应链条上,终端消费者会为什么付费?个人观点,他们不是为了一个功能付费。在数据分析领域,可替代功能性方案已经存在,企业用户最后都是在为系统的安全、稳定、可靠而付费,也就是为了非功能的部分而付费。

企业级的采购同样需要考虑“非功能性价值”,除了技术选型、人才支持、功能以外的“安全、稳定、可靠”价值也被看重。复杂度本身就是“安全、稳定、可靠”的敌人,在这个新高度上,能够解决非功能性问题的厂商会有更大的获利空间。

在云原生时代,数据使用与管理需求正在发生巨大的改变。对企业而言,如果平台不能“上云”,会越来越难以适应外界环境随时可能产生的剧烈变化。如何满足企业数据资产管理、固定/自助式分析、数据服务等需求就变得更加紧迫,因此让数据的使用门槛一降再降,且弹性灵活的云原生架构变得炙手可热。那么,开源创业企业如何满足这一类价值需求?我们将以一家云上企业的服务经验为例,分析其场景和痛点问题,希望能给部分 SaaS 企业以参考价值。

该企业是一家建站 SaaS 服务大型供应商,用户数超百万。这是一个典型的网站流量分析场景,场景业务模型相对稳定,但是它的技术挑战比较大。如图 2 所示,该企业早在 2017 年开始用 Apache Kylin 建设名为 Analytics Platform 的工具,其中的能力包括点击流分析、网页的 PV、UV、访问设备、来源等这些经典的客户流量,网站行为包括留存的分析场景和模型。由于全球客户数量众多,而 C 端用户对于查询响应速度的容忍度极低,绝大多数查询需要在一两秒内返回,这也是 To-C SaaS 供应商在提供数据服务时面临的共性挑战。

图 2 SaaS 企业痛点和诉求分析图

此外,在用户完成建站后,后台的数据查询报表服务 Analytics Platform 会成为一个提升用户留存的重要触点。由于用户以非技术人群为主,需要的是简单易 用、跟产品结合度高的分析工具,而第三方分析工具往往较为复杂、学习成本高,因此用户对平台自带的 Analytics Platform 依赖度较高。提供这样的分析服务的运维难度也很大,为了服务不中断,需要持续 7×24 小时维护。为保证用户的满意度和留存率,平台必须确保数据服务的高稳定性。开源 Kylin 的工具和服务在可靠性方面相对而言会更依赖企业本身的技术能力,需要企业不断优化总体成本(TCO)。这就要求企业既要考虑云上的资源成本,又要投入大数据技术人员的成本,也就是在传统的烟囱式建设下需要很多的数据工程师。

经 Kyligence 服务团队评估与测试,企业决定迁移到 Kyligence Cloud 平台。其非功能性价值优势如图 3 所示。

图 3 场景架构图前后对比

  • 释放 IT 生产力。可通过 SQL 的查询来自动优化业务模型。在模型使用过程的任意时间段,均可以人工灵活调整模型的设计,如增减关系表或分析维度、指标等。

  • 成本优化。传统的部署方式即云上的 Hadoop+Kylin,部署后总体运营成本缩减主要来源是 Hadoop 集群优化,以云原生架构替代 Hadoop 的传统大数据层,减少了很多硬件成本和大量的运维成本。

  • 有效支撑高并发。Kyligence Cloud 背后的多维模型下的预计算能力可提供稳定支撑。当查询计算都预先完成,在线服务时的计算量就能够保持稳定,并且与原始的数据量几乎无关。

综上来看,赋予企业业务数字模型的能力,为企业实现自动化的数据服务和管理,是满足其功能性价值需求以外,开源创业企业需要格外关注的非功能性价值点。

找准定位是关键

开源技术发展要突破重重技术阻力,而开源创业则需要树立能力边界,找准定位。

找准定位分为两种情况,一是找准自身的优势,二是找准服务目标/市场。前面我们曾谈到人才问题,其实潜在客户分成两大类,一种是科技型行业,像互联网、汽车等。这类行业有自己的技术主心骨,不太会向外部采购技术。其企业形象就是技术型的公司,除非十分必要,否则会尽量避免技术采购。另外一种是传统行业,其定位是解决行业问题,如金融、能源、零售等。它的价值是业务价值,所以技术对它来说是一种支撑,是一种基础设施,只要技术能够真正解决安全、稳定、可靠的问题,它愿意为此付费。因此创业需要树立最有价值的非功能性的部分,也就是企业需要找准定位,找到这部分增值优势。

从诞生以来,Kylin 一直都有关系型数据库的能力,也常常与其他关系型 OLAP 引擎对比,但它真正与众不同的是多维模型和多维数据库能力。在 2022 年,我们从Kylin 能力与优势、开源与开源商业版定位与目标、行业趋势与需求的角度进行了一次深刻的梳理。如图 4 所示,考虑到 Kylin 的本质和未来广泛的业务用途(不仅是技术用途),团队明确定位 Kylin 5 是一个集统一、灵活、高性能、可扩展、云原生等特点于一身的大数据分析平台,用户可以在此完成众多数据分析,对接、支持、替换多种数据源,查询接口与计算引擎等工作。Kylin 也将成为企业海量数据分析和指标管理的坚实可靠底座,让普通人看得懂和用得起大数据,最终实现数据民主化。

图 4 橙色区域为 Apache Kylin 关注重点(图片来源:Apache Kylin)

除了产品和技术定位之外,创业过程中客户服务也非常重要。开源商业版Kyligence 要求“稳定第一、安全第零”。每当一个新安全漏洞出现,公司都会响起一级的红色警报,整个产研侧第一时间调动所有的力量解决问题,并告知客户此安全漏洞是否与客户现在的生产环境存在关系。若没直接影响,我们仍会进行多方面的复查和方案准备,防患于未然。如有影响,我们会即时响应并解决。

总结来看,开源创业需要多思考“企业的核心价值是什么?帮客户解决的是什么问题?”最常见的误区是认为自己的核心价值是能为客户提供一个现在没有的技术。这个认知可能是对的,但它一定很短暂,在开源充分的协作和信息互通之下,技术会飞快进步,任何一项新技术都可能快速被赶上。或许大家可以深度思考一下自己

在整个开源软件生态里的价值,能够吸引用户付费的价值通常不是一个功能点,而常常是一个非功能性的部分,找到这个非功能性价值,你的开源创业或许会变得轻松一点。

—————— 推荐阅读 ——————

《新程序员·005:开源深度指南&新金融背后的科技力量》特别策划了“开源深度指南”和“新金融背后的科技力量”两大专题。邀请到当今开源世界的先锋人物,包括Python之父Guido van Rossum,MySQL之父Michael "Monty" Widenius,Apache之父、OpenSSF开源安全基金会总经理Brian Behlendorf,MongoDB CTO Mark Porter、凝思董事长宫敏、Linux内核守护者吴峰光等,更有国内外开源基金会、知名企业代表,从开源安全合规、企业内部开源、开源技术创新、开源行业落地等多方面,为开源背后的开发者、企业、开源组织及开源社区提供更清晰的开源生态建设与升级版开源发展全景式图鉴。

而在金融专题中,来自中国工商银行、邮政储蓄、中信银行、广发银行、中国人民银行、平安科技、微众银行、蚂蚁集团等十数家传统金融机构和头部金融科技公司的技术专家为我们带来了关于各类新一代颠覆性技术的深入讨论和案例分析。深入解答开发者应该如何更好融入金融产业,以及金融科技的人才培养之道,真正做好金融科技的技术创新和数字化转型。

《新程序员005》购买链接 >> https://mall.csdn.net/item/98792

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

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

相关文章

字节序,主机字节序与网络字节序

📌————本章重点————📌 🔗了解字节序的概念; 🔗了解大小端的概念;🔗了解主机字节序和网络字节序的区别;🔗学习主机字节序和网络字节序相机转化的接口; ✨————————————✨字节序 概念&am…

人工智能助力古彝文识别,推动传统文化传承

人工智能助力古彝文识别,推动传统文化传承0. 前言1. 古彝文1.1 古彝文介绍1.2 古彝文识别的重要意义1.3 古彝文识别的挑战2. 古彝文识别国内外研究进展3. 基于深度学习的古彝文识别3.1 深度学习简介3.2 基于深度学习的古彝文识别模型架构4. 古彝文识别进展与展望小结…

HTML小游戏19 —— html5版开心斗地主小游戏(附完整源码)

💂 网站推荐:【神级源码资源网】【摸鱼小游戏】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】本节教程我会带大家使用 HTML…

【练习】Day05

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 跳跃游戏[贪心算法]2. 寻找重复数[注意思路!]答案1. 选择2. 编程普通小孩也要热爱生活! 一、选择 HASH 函数冲突处理方式不包括以下哪一项:(&…

YOLOv5源码详解——项目目录

YOLOv5 目录 .github .github相关,不重要 datasets 存放数据集,刚下载下来的源码是不包含这个文件夹的 classify 图像分类模块,包含以下4个文件 predict.py —— 图像分类预测脚本train.py ——图像分类训练脚本val.py —— 图像分类验证脚本tutorial.…

Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发

一、标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBatisPlus入门案例与简介中使用的环境 二、新增 在进行新增之前,我们可以分析下新增的方法…

马蹄集 公式计算

公式计算 难度&#xff1a;青铜 01 时间限制&#xff1a;1秒巴占用内存&#xff1a;64M 计算公式 (1/2)*(a*xc(ac)/(4*a)》 格式 输入格式&#xff1a;输入为整型x,a,空格分隔 #include <bits/stdc.h> using namespace std; int main() {int x, a;cin >> x >&g…

1、JDK17安装

目录 一、简介 二、安装步骤 三、在Windows 10系统中配置环境变量 四、运行jdk 一、简介 JDK全称Java SE Development kit(JDK)&#xff0c;即java标准版开发包&#xff0c;是Oracle提供的一套用于开发java应用程序的开发包&#xff0c;它提供编译&#xff0c;运行java程…

二叉树【数据结构】【超详细,一学就会!!!】

目录 &#x1f4d6;1.什么是二叉树&#xff1f; &#x1f334;2.满二叉树和完全二叉树 ⛳2.二叉树的性质 &#x1f525;3.二叉树的创建与遍历 3.1 创建二叉树 3.2 前中后序遍历——递归和非递归 &#x1f3f9;4.二叉树的实现 1️⃣获取树中节点的个数 2️⃣获取叶子节点…

MATLAB-三维插值运算

MATLAB中是支持三维及三维以上的高维插值的。三维插值的基本原理与一维插值和二维插值是一样的&#xff0c;但三维插值是对三维函数进行的插值。在MATLAB中&#xff0c;使用interp3函数实现插值&#xff0c;其调用格式如下。vi interp3(x,y,z,v,xi,yi,zi) %返回值 vi是三维插值…

2022ICPC杭州站

A. Modulo Ruins the Legend 题目链接&#xff1a;Problem - A - Codeforces 样例1输入&#xff1a; 6 24 1 1 4 5 1 4样例1输出&#xff1a; 1 0 5样例2输入&#xff1a; 7 29 1 9 1 9 8 1 0样例2输出&#xff1a; 0 0 0题意&#xff1a;给你一个长度为n的数组a[]&#x…

【NI Multisim 14.0原理图的设计——原理图分类】

目录 序言 一、原理图的设计 &#x1f34a;知识点&#xff1a; 二、原理图分类 &#x1f349;1.平坦式电路 &#x1f349; 2.层次式电路图 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和…

【用JS自制表格软件玩数据】10. 为表格脚本设计一个语法解析器

设计脚本语言的语法解析器概述脚本源码语法预览运行效果如下图设计计算符号的优先级定义一些关键词生成一份关键词的map方便引用枚举关键词的类型错误异常的捕获字符匹配代码的字符转化成迭代器关键词标记器词法分析器设计一个队列处理器源代码字符串迭代器代码的块级运行环境脚…

【HTML基础篇003】前端基础之CSS选择器大全

✨一、CSS的基本介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 ✨二、CSS的几种引入方式 &#x1f338;2.1、方法一&am…

连接查询之内连接(等值连接、非等值连接和自连接)

1、等值连接&#xff1a;表连接条件是等值关系&#xff0c;我们称为等值连接。 需求&#xff1a;查询每个员工所在部门名称&#xff0c;显示员工名和部门名&#xff1a; 查看员工表的ename和deptno字段信息&#xff1a; 查看部门表中的deptno和dname字段信息 SQL92语法&#x…

2023年最值得关注的机器人趋势TOP10

新兴的机器人技术趋势和预测满足了对工业自动化、数字化和可持续性的需求。仓库中的材料处理由自动移动机器人&#xff08;AMR&#xff09;和自动引导车辆&#xff08;AGV&#xff09;实现自动化。相关机构对8949家全球初创企业和2023年机器人趋势规模的样本进行了研究&#xf…

Linux的安装(云服务器专讲)

一、Linux环境的安装有一下几种方式&#xff1a;双系统或则将自己的笔记本搞成Linux系统——严重不推荐&#xff0c;这样安装成本高、并且容易把自己电脑弄坏。虚拟机推荐wmware player这是免费的&#xff0c;并且推荐是打在了centos7.x版本的&#xff0c;这个的好处就是不需要…

微信接入 ChatGPT(学习笔记,不作教程)

微信接入 ChatGPT前置条件接入前提去Linux虚拟机&#xff08;必须有go环境&#xff09;安装前先配置下ssh密钥生成新的ssh密钥检查将 SSH 密钥添加到 ssh-agent将 SSH 密钥添加到您在 GitHub 上的帐户上去github上将密钥复制在里面然后点击添加ssh密钥安转部署最后直接go run m…

【JavaSE】Java序列化详解

【JavaSE】Java序列化详解 文章目录【JavaSE】Java序列化详解一&#xff1a;什么是序列化和反序列化?二&#xff1a;序列化协议对应于 TCP/IP 4 层模型的哪一层&#xff1f;三&#xff1a;常见序列化协议有哪些&#xff1f;四&#xff1a;JDK 自带的序列化方式1&#xff1a;序…

广告业务系统 之 数据桥梁 —— “日志中心-曝光数据流转结算”

文章目录广告业务系统 之 数据桥梁 —— “日志中心-曝光数据流转结算”曝光数据流转结算管道式架构助力高可用管道式架构模式图流式链路中特殊的缓存设计一、二级缓存Nosql 数据型缓存组件s2s 监测上报广告业务系统 之 数据桥梁 —— “日志中心-曝光数据流转结算” 曝光数据…