共计 5823 个字符,预计需要花费 15 分钟才能阅读完成。
盘点 2021 年 Apache 年报中呈现的国产我的项目:ShardingSphere, IoTDB, Carbon Data, Eagle, Kylin, Apisix, DolphinScheduler and Echarts.
1、引言
2021 年 8 月 31 日,Apache 软件基金会公布 2021 财年(2020 年 5 月 1 日 – 2021 年 4 月 30 日)年度报告,报告内容由 Apache 软件基金会概览、基金会主席报告、财务主管报告、财务报表、资金募集、法律事务、基础设施、平安方面、数据隐衷、营销宣传、品牌治理、会议、社区倒退、多元化与容纳、我的项目及代码、奉献方面、基金会成员、联系方式等十八个局部组成。
Apache 基金会成立于 1999 年,是世界上最大的开源基金会,治理着 2.27 亿行以上的代码,并且 100% 收费向公众提供价值约 220 亿美元的软件,这些软件简直是每个用户计算设施上不可或缺的一部分,而凋谢敌对的 Apache License v2 是开源行业标准,帮忙了总价值超过数十亿美元的公司,并使寰球有数用户受害。
报告中指出,统计周期内共有来自 228 个国家的用户共 4095908 次访问,其中来自于中国的用户数量最多,国内用户成为了 Apache 我的项目的次要使用者。
此外,在 2020 年 7 月 15 日,由中国开源软件推动联盟(COPU)主办的 2020 第十五届“开源中国开源世界”高峰论坛上,Apache 基金会副主席 Shane Curcuru 示意,在过来的 20 年里,Apache 基金会曾经从最后的 21 位创始人倒退到了 800 多位 Apache 会员,我的项目提交数量稳步增长,当初已有近 8000 名提交者,这些 Apache 我的项目中的提交者曾经公布了超过 2 亿行代码。尤其值得关注的是,来自中国的新社区和贡献者退出 Apache 我的项目的速度增长惊人,Shane Curcuru 这样说道:“令人兴奋的是,中国的技术专家和公司如此迅速地采纳寰球开源技术。当初,不仅帮忙 Apache 建设新我的项目,而且改善开源自身的工作形式,来自中国的整个 Apache 新我的项目的倒退也让人印象粗浅。咱们目前有 10 个源于中国的顶级我的项目,其中几个我的项目十分有名,当初还有 9 个来自中国的 Apache 孵化器我的项目正在致力成为顶级我的项目。重要的是,这些 Apache 我的项目涵盖了从大数据、流媒体到物联网,再到所有波及云治理的技术畛域。”
参考文章:由 Apache 说开,中国开源我的项目曾经走向世界!
明天咱们来盘点一下有哪些项目在 2021 年的 Apache 年报中呈现,以及这些我的项目目前的状况。
2、我的项目盘点
2.1 ShardingSphere
呈现次数:1 次
呈现起因:代码提交次数排名为 Top20 我的项目
Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 3 款互相独立,却又可能混合部署配合应用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理性能,可实用于如 Java 同构、异构语言、云原生等各种多样化的利用场景。
Apache ShardingSphere 由三个子项目组成,造成一个残缺的数据库解决方案,合称 J.P.S. 生态系统。
- ShardingSphere-JDBC:定位为轻量级 Java 框架,在 Java 的 JDBC 层提供额定服务。它应用客户端直连数据库,以 jar 包模式提供服务,无需额定部署和依赖,可了解为增强版的 JDBC 驱动,齐全兼容 JDBC 和各种 ORM 框架。
- ShardingSphere-Proxy:定位为透明化的数据库代理端,提供封装了数据库二进制协定的服务端版本,用于实现对异构语言的反对。目前提供 MySQL/PostgreSQL 版本,它能够应用任何兼容 MySQL/PostgreSQL 协定的拜访客户端操作数据,对 DBA 更加敌对。
- ShardingSphere-Sidecar(TODO):定位为 Kubernetes 的云原生数据库代理,以 Sidecar 的模式代理所有对数据库的拜访。通过无核心、零侵入的计划提供与数据库交互的的啮合层,即 Database Mesh,又可称数据网格。
Apache ShardingSphere 的亮点次要包含:
- 残缺的分布式数据库解决方案:提供数据分片、分布式事务、数据弹性迁徙、数据库和数据治理等外围能力。
- 独立的 SQL 解析引擎:反对多 SQL 方言的齐全独立化 SQL 解析引擎,可能脱离 ShardingSpher 独立应用。
- 可插拔微内核:所有的 SQL 方言、数据库协定和性能都可能通过 SPI 的可插拔形式加载或卸载,微内核甚至在将来能够运行于无任何性能的空白环境中。
无关 ShardingSphere 的孵化过程以及更多的信息能够拜访:GitHub 标星 10,000+,Apache 顶级我的项目 ShardingSphere 的开源之路
2.2 IoTDB
呈现次数:2 次
呈现起因:
- 1. 我的项目活跃度排名第 7
- 2. 2020 年 9 月 23 日成为 Apache 顶级我的项目
IoTDB 是一款聚焦工业物联网、高性能轻量级的时序数据管理系统,具备低存储老本、高速数据写入(百万数据点秒级写入)、疾速查问(TB 级数据毫秒级查问)、性能齐备(数据的增删改查、丰盛的聚合函数、相似性匹配)、查问剖析一体化(一份数据,满足实时查问与剖析开掘)、简略易用(采纳规范的 JDBC 接口、类 SQL 查询语言)等特点。
基准测试表明 IoTDB 读写性能均优于现有的时序数据库 InfluxDB、OpenTSDB、Cassandra 以及 GE 的工业大数据平台 Predix。依据中国软件评测核心和中国人民大学的性能对标测试,IoTDB 的各项性能指标均显著优于当今国内最优的时序数据库系统。
IoTDB 已通过 Apache 基金会孵化器的探讨并取得 10 票赞成。Apache 孵化器主席 Justin Mclean、国内驰名大数据公司 HortonWorks 副总裁 Joe Witt、Apache PLC4X 我的项目负责人 Christofer Dutz、华为开源核心负责人姜宁成为本我的项目的指导者。2018 年 11 月 18 日,IoTDB 我的项目正式成为 Apache 孵化器我的项目,这是我国高校目前惟一一个进入 Apache 孵化器的我的项目。
【目前 Apache IoTDB 已从 Apache 基金会毕业,成为 Apache 顶级我的项目,见 Apache Blog】
以上内容摘自:欢送退出 Apache IoTDB!
Apache IoTDB 的核心技术:【from Apache IoTDB 随笔 – IoTDB 核心技术分析】
2.3 Carbon Data
呈现次数:1 次
Apache CarbonData 是一种新的大数据文件格式,应用先进的柱状存储、索引、压缩和编码技术来进步计算效率,这有助于在 pb 级的数据上以数量级的速度放慢查问速度。
CarbonData 特地设计了多种优化策略,如多级索引、压缩和编码技术,旨在进步蕴含 filter、aggregation 和 counst distinct 等剖析查问的性能,用户冀望在领有较少节点的商用集群上取得对 TB 级别数据的亚秒级响应。
CarbonData 具备以下长处:
- 独特的数据组织模式:以取得更快的查问性能及更少的数据检索老本
- 进一步的下推优化策略:与 Spark 进行深度集成,以改良 Spark DataSource
- API 和其余试验个性,从而确保计算在靠近数据的中央执行,从而最大限度地缩小数据的读、解决、转换和传输(shuffle)
- 多级索引:无效地修剪要扫描的文件和数据,从而缩小 I / O 扫描和 CPU 解决
CarbonData 文件格式如图所示
以上内容援用自 carbondata 介绍
2.4 Eagle
呈现次数:1 次
Apache Eagle 是由 eBay 公司开源的一个辨认大数据平台上的平安和性能问题的开源解决方案。该我的项目于 2017 年 1 月 10 日正式成为 Apache 顶级我的项目。Apache Eagle 提供一套高效分布式的流式策略引擎,具备高实时、可伸缩、易扩大、交互敌对等特点,同时集成机器学习对用户行为建设 Profile 以实现实时智能实时地爱护 Hadoop 生态系统中大数据的平安。
Apache Eagle 次要包含三大层:
- 数据收集及存储层(Data Collection and Storage)
- 数据处理层(Data Processing)
- 可视化层(Visualize)
整个组成如下:
Apache Eagle 依赖于 Apache Storm 来进行数据流动和操作日志的流解决,并且能够执行基于策略的检测和报警。它提供多个 API:作为基于 Storm API 上的一层形象的流式解决 API 和 policy engine provider API 的形象,它将 WSO2 的开源 Siddhi CEP engine 作为第一类对象。Siddhi CEP engine 反对报警规定的热部署,并且警报能够应用属性过滤和基于窗口的规定(例如,在 10 分钟内三次以上的拜访)来定义。
Eagle 反对依据用户在 Hadoop 平台上历史应用行为习惯来定义行为模式或用户 Profile 的能力。领有了这个性能,不须要在零碎中事后设置固定临界值的状况下,也能够实现智能地检测出异样的行为。Eagle 中用户 Profile 是通过机器学习算法生成,用于在用户以后实时行为模式与其对应的历史模型模式存在肯定水平的差别时辨认用户行为是否为异样。目前,Eagle 内置提供以下两种算法来检测异样,别离为特征值合成(Eigen-Value Decomposition)和 密度估计(Density Estimation)。这些算法从 HDFS 审计日志中读取数据,对数据进行宰割、审查、穿插剖析,周期性地为每个用户顺次创立 Profile 行为模型。一旦模型生成,Eagle 的实时流策略引擎可能近乎实时地辨认出异样,分辨以后用户的行为可疑的或者与他们的历史行为模型不相符。
以上内容起源:Apache Eagle: 分布式实时 Hadoop 数据安全计划
2.5 Kylin
呈现次数:1 次
Apache Kylin 是一个开源的分布式剖析引擎,提供 Hadoop 之上的 SQL 查问接口及多维分析(OLAP)能力以反对超大规模数据,最后由 eBay Inc. 开发并奉献至开源社区。它能在亚秒内查问微小的 Hive 表。
KylinJ 架构图为
Apache Kylin 外围概念
- 表(table):This is definition of hive tables as source of cubes,在 build cube 之前,必须同步在 kylin 中。
- 模型(model):模型形容了一个星型模式的数据结构,它定义了一个事实表(Fact Table)和多个查找表(Lookup Table)的连贯和过滤关系。
- Cube 形容:形容一个 Cube 实例的定义和配置选项,包含应用了哪个数据模型、蕴含哪些维度和度量、如何将数据进行分区、如何解决主动合并等等。
- Cube 实例:通过 Cube 形容 Build 失去,蕴含一个或者多个 Cube Segment。
- 分区(Partition):用户能够在 Cube 形容中应用一个 DATA/STRING 的列作为分区的列,从而将一个 Cube 依照日期宰割成多个 segment。
- 立方体段(cube segment):它是立方体构建(build)后的数据载体,一个 segment 映射 hbase 中的一张表,立方体实例构建(build)后,会产生一个新的 segment,一旦某个曾经构建的立方体的原始数据发生变化,只需刷新(fresh)变动的时间段所关联的 segment 即可。
- 聚合组:每一个聚合组是一个维度的子集,在外部通过组合构建 cuboid。
作业(job):对立方体实例收回构建(build)申请后,会产生一个作业。该作业记录了立方体实例 build 时的每一步工作信息。作业的状态信息反映构建立方体实例的后果信息。如作业执行的状态信息为 RUNNING 时,表明立方体实例正在被构建;若作业状态信息为 FINISHED,表明立方体实例构建胜利;若作业状态信息为 ERROR,表明立方体实例构建失败!
2.6 APISIX
呈现次数:1 次
呈现起因:2020 年 7 月 15 日 Apisix 成为 Apache 的顶级我的项目2.7 DolphinScheduler
呈现次数:1 次
呈现起因:2021 年 8 月 DolphinScheduler 成为 Apache 顶级我的项目
Apache DolphinScheduler 于 17 年在易观数科立项,19 年 3 月开源,8 月进入 Apache 孵化器,已累计有 400+ 公司在生产上应用。直观来说,其为:一个分布式易扩大的可视化 DAG 工作流任务调度零碎。致力于解决数据处理流程中盘根错节的依赖关系,使调度零碎在数据处理流程中开箱即用。
Scheduler 的零碎劣势:
以上内容参考文章:大数据调度零碎为什么选型 Apache DolphinScheduler?
2.8 ECharts
呈现次数:1 次
呈现起因:2021 年 1 月 26 日 ECharts 成为 Apache 顶级我的项目
ECharts,缩写来自 Enterprise Charts,商业级数据图表,一个纯 Javascript 的图表库,能够晦涩的运行在 PC 和挪动设施上,兼容以后绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari 等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,活泼,可交互,可高度个性化定制的数据可视化图表。翻新的拖拽重计算、数据视图、值域漫游等个性大大加强了用户体验,赋予了用户对数据进行开掘、整合的能力。
反对折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K 线图、饼图(环形图)、雷达图(填充雷达 图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等 12 类图表,同时提供题目,详情气泡、图例、值域、数据区域、时间轴、工具箱等 7 个可交 互组件,反对多图表、组件的联动和混搭展示。
详情可参考:十分具体的 Echarts 介绍
3、总结
总体来看,目前有 7 个国内我的项目因为各种起因登上了 Apahce 2021 年度报告,其中 IoTDB、Apisix、DolphinScheduler 和 Echarts 这四个我的项目均是因为在 2020-2021 年成为了 Apache 的新晋顶级我的项目而呈现在了年报当中,特地是 IoTDB 我的项目,还以社区最沉闷我的项目第 6 的身份在年报中呈现了 2 次;此外,ShardingSphere 也以最沉闷我的项目的身份呈现在了年报中。