This is an automated email from the ASF dual-hosted git repository. jiacai2050 pushed a commit to branch feat-review-coc in repository https://gitbox.apache.org/repos/asf/horaedb-docs.git
commit 8ad02a1cbd8f14e8037a66e0151362cf06f89992 Author: jiacai2050 <[email protected]> AuthorDate: Sun Dec 1 22:49:52 2024 +0800 add review coc --- content/cn/blog/2024/release-2.1.0.md | 3 +- content/cn/blog/2024/review-coc-na.md | 126 +++++++++++++++++++++++ content/en/blog/2024/release-2.1.0.md | 3 +- static/images/review-coc-na/board.jpg | Bin 0 -> 246483 bytes static/images/review-coc-na/cassandra-paging.jpg | Bin 0 -> 1086747 bytes static/images/review-coc-na/tomcat-cupcake.jpg | Bin 0 -> 589107 bytes 6 files changed, 130 insertions(+), 2 deletions(-) diff --git a/content/cn/blog/2024/release-2.1.0.md b/content/cn/blog/2024/release-2.1.0.md index d21c19d..6285a2b 100644 --- a/content/cn/blog/2024/release-2.1.0.md +++ b/content/cn/blog/2024/release-2.1.0.md @@ -1,7 +1,8 @@ --- title: 2.1.0 版本发布 date: 2024-11-18 -tags: release +tags: + - release --- Apache HoraeDB(孵化中)团队很高兴地宣布,v2.1.0 版本已于 2024-11-18 发布,这个版本解决了 60 多个问题,并且包括两个主要功能: diff --git a/content/cn/blog/2024/review-coc-na.md b/content/cn/blog/2024/review-coc-na.md new file mode 100644 index 0000000..b592ef2 --- /dev/null +++ b/content/cn/blog/2024/review-coc-na.md @@ -0,0 +1,126 @@ +--- +title: 2024 年 ApacheCon 北美之旅的收获与感悟 +date: 2024-11-22 +tags: + - community +tags: + - community +--- + +[Apache HoraeDB](https://horaedb.apache.org/) 是 2023-12-11 加入 Apache 孵化器,由此拉开了我在 Apache 社区的成长探索之旅。作为一个历史悠久的基金会,Apache 旗下的软件可谓家喻户晓:Hadoop、Spark、Kafka 等等。 在这次 2024 年的 ApacheCon [北美大会](https://www.apachecon.com/)上,我有幸代表 HoraeDB 社区参加,终于有机会来近距离和来自世界各地的 Apache 项目的 PMC 们交流。这次经历不仅让我深入理解了Apache项目的核心价值与贡献,还深刻认识到开源社区如何驱动技术创新、促进开发者之间的协作与分享。 + +这次大会在丹佛的君悦大酒店举行,为期四天(2024-10-07 ~ 10),讨论涉及搜索、大数据、物联网、社区等多个方面,从现场来看,讲师比嘉宾还要多,除了 Keynote 分享是在一个大会场进行,其他的场子均在一个小房间里,每个房间外会有一个电子屏展示今日的议题。 + + + +# 文化差异 + +和国内会议类似,第一天议程结束后有个晚宴(event reception),但这个晚宴可不“简单”,不是传统的晚宴,社交属性更重些。场地内会有几个比较高的圆桌,大家在旁边拿完东西后就可以找感兴趣的人开聊。对于第一次参见这种会议的我来说,其实有是些蒙的,和一同去的同事默默站在一角观望可以插入的场子,但看着周边人群在慷慨激昂的谈论时,发现根本无法加入:一是语言听不太懂;二是不知道聊啥。 + +来之前在国内英语也练了很久,在会场上交流技术问题还能凑合,但这种场合就捉襟见肘了。在转了几圈后,发现几个国人面孔的一桌,大着胆子上去打了个招呼:Hi, can I join you?刚要磕磕绊绊的介绍自己时,问了句:Can you speak Chinese? 对方笑道:肯定可以了! + +后来发现他们都来自苹果公司,苹果是这次的大赞助商,所以他们大概来了四五十人!只不过组比较多,所以很多人也是第一次见面。挺他们说这种聚会形式在美国挺常见的,他们虽然在美国很多年了,但碍于文化差异,他们也不能很轻松的融入进去。 + +也是通过和他们聊才发现,苹果公司内很多基建都是基于 Apache 的项目构建,而且最近几年他们在开源上的粒度也越来越大,印象较深的就是 Swift 语言,其中一个女士貌似是 Swift 的 team member,他看到我穿的是带有 Rust logo 的衣服,就说我应该尝试下 Swift,这两个语言设计理念类似,但 Swift 更简单,而且为了避免苹果一家独大,他们已经把 Swift 迁移到独立的 [GitHub 组织](https://github.com/swiftlang/)上去了,此外,Swift 也不仅仅是苹果平台的特定语言,他们在也花了很多时间来保证 Swift 也可以在 Linux/Windows 上完美的运行。 + +可以想到,苹果把 Swift 定位为通用语言,既可以为苹果生态服务,也是更长远的战略布局。通过通用化,苹果能够扩大 Swift 的生态影响力,吸引更多开发者进入其体系,同时为跨平台的未来做好准备。 + + +# 演讲介绍 + +接下来就介绍几个笔者印象比较深的演讲,由于存在语言问题,加上没有演讲的 PPT,因此下面的介绍是我根据关键词去搜索整理得到,供大家参考。 + + +## [Making Apache Kafka even faster and more scalable](https://www.slideshare.net/slideshow/making-apache-kafka-even-faster-and-more-scalable/272645669#2) + +Kafka 是一种高吞吐量的分布式流处理平台,尽管十分流行,但近些年随着使用场景的复杂,挑战者也不少,比如: + +- 主打云原生的 Pulsar +- 金融级可靠性的 RocketMQ +- 强调低延迟的 RabbitMQ + +这个议题的嘉宾来自 [Instaclustr](https://www.instaclustr.com/),提供托管的 Kafka 服务。他主要从两方面来讲述了对 Kafka 的改进: + +1. 使用 KRaft 替换 ZooKeeper,这个主要是为扩大分区数考虑,分区是 Kafka 里很重要一概念,是进行并发读写的基本单位,在嘉宾的测试中,基于 ZK 的版本最高可以达到八万个分区,而基于 KRaft 的版本可以达到近两百万的分区。细节可以参考:[Kafka Control Plane: ZooKeeper, KRaft, and Managing Data](https://developer.confluent.io/courses/architecture/control-plane/)。 +2. 分层存储(Tiered storage),冷热数据分离的标配,通过将访问低频的数据移动到 S3 上可以显著降低成本。[KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 最早在 2020 年就提出来了,3.6.1(2023) 发布到期访问版,3.8.0(2024) 发布 V1 正式版。 + + +## Tomcat 11 and Jakarta EE 11 + +虽然不写 Java 很多年了,但是谁能不喜欢这只 Tom 猫呢? + + + +这个议题里分享了最新的 11 版本中的特性: + +- 最小支持的 Java 版本升级到 17 +- 通过 [FFM](https://docs.oracle.com/en/java/javase/21/core/foreign-function-and-memory-api.html) 支持与 OpenSSL 集成(需要 Java 22+) +- 增强基于虚拟线程的执行器(VirtualThreadExecutor) +- 日志增加 JSON 输出格式 +- 移除以下功能 + - Security Manager support + - 32-bit Windows support + - HTTP/2 Server push support + +都是些与时俱进的功能,记得在很早[就看过](https://evertpot.com/http-2-push-is-dead/) HTTP2 的 Push 功能有些鸡肋,这个案例说明了一个重要的原则:有时看起来很好的技术特性,在实际应用中可能并不如预期。 + + +## Cassandra + +Cassandra 议题这次会议上非常多,印象中有一个房间一整天的议题都是与之相关,没想过 Cassandra 能有这么流行,甚至还有一个 BYOT(Bring Your Own Topic) 环节。下面是几个重量的议题: + +- The Road to 20 Terabytes per Node: Overcoming Cassandra's Storage Density Challenges +- Apache Cassandra as a Transactional Database +- Lessons from (Probably) the World’s Largest Kafka and Cassandra Migration + - [instaclustr/instaclustr-minotaur: Tooling for consistent rebuilding of a Cassandra cluster](https://github.com/instaclustr/instaclustr-minotaur) + +但比较可惜的是,当时坐的位置比较偏,加上之前对 Cassandra 了解较少,上面几个议题的没听懂几个,只能课下再下功夫了解了。但尽管如此,还是对一个议题印象颇深,是一个由满脸白胡子的嘉宾分享的关于在查询中实现分页的分享,很工程的一个问题,演讲者围绕其对性能的影响、潜在的误用风险等多个维度进行了详尽剖析,展现出深厚的专业功底和匠人精神。 + + + +## ODBC takes an Arrow to the knee: ADBC + +Apache Arrow 是一个跨语言的内存数据处理框架,通过标准化内存中的列式数据表示来实现高效的数据交换和处理。 和 JDBC 类似,[ADBC](https://arrow.apache.org/adbc/current/index.html) 是基于 Arrow 的、供应商中立的 API,方便用户高效查询支持 Arrow 的数据库,比如 [DuckDB](https://duckdb.org/2023/08/04/adbc.html),就有 38 倍的提升! + + +## Blazingly-Fast: Introduction to Apache Fury Serialization + +演讲者是 Fury 项目的发起者 Shawn Yang,也是我的同事(哈哈)。如标题所说,Fury 定位的就是高效的序列化,已经在诸多 系统中被使用(参加 [Who is Using Apache Fury?](https://github.com/apache/fury/issues/1766)),并取得显著提升。 + +一直以为序列化是个已经解决的问题,了解了 Fury 后才了解到这个领域的问题。举个简单的例子,对于常见的 Protobuf 来说, 在序列化一个数组的 Message 时,在序列化时 Message 的元数据会序列化多次,但如果应用层能够保证每个字段都不会缺失,那么这样就是有些浪费的,在 Fury 中就可以 [schema consistent](https://fury.apache.org/docs/specification/fury_xlang_serialization_spec/#schema-consistent) 这种模式来避免这种冗余。 + + +## 其他 + +- [Apache YuniKorn](https://yunikorn.apache.org/),云原生时代的资源调度器,和现在一个苹果的朋友聊,他们就在用它来调度他们的 AI 相关的任务! +- [PRQL](https://prql-lang.org/)(Pipelined Relational Query Language),另一个查询语言,相比 SQL 功能更强大、简洁。示例: + + ```sql + from tracks + filter artist == "Bob Marley" # Each line transforms the previous result + aggregate { # `aggregate` reduces each column to a value + plays = sum plays, + longest = max length, + shortest = min length, # Trailing commas are allowed + } + ``` + +对应的 SQL 如下: + +```sql +SELECT + COALESCE(SUM(plays), 0) AS plays, + MAX(length) AS longest, + MIN(length) AS shortest +FROM + tracks +WHERE + artist = 'Bob Marley' +``` + + +# 总结 + +参加这次 Apache 大会,HoraeDB 项目算是首次走向国际舞台。与那些已广为人知、炙手可热的项目相比,我们仍然任重而道远。 一个开源项目能够在核心开发团队不断更迭的情况下持续演进,本身就是极其难能可贵的。在 Apache 基金会,我们可以看到诸多值得学习的典范。归根结底,软件的生命力在于人,唯有不断壮大社区,源源不断地吸引卓越人才,才能确保社区生生不息、薪火相传。 我们正处于起步阶段,怀揣着梦想与执着。期许通过社区的持续努力和协作,最终打造出一个世界一流的云原生时序数据库,在开源的广阔天地中绽放光彩。 + +欢迎感兴趣的朋友加入我们:<https://horaedb.apache.org/community/> diff --git a/content/en/blog/2024/release-2.1.0.md b/content/en/blog/2024/release-2.1.0.md index e46fdf1..3f97b78 100644 --- a/content/en/blog/2024/release-2.1.0.md +++ b/content/en/blog/2024/release-2.1.0.md @@ -1,7 +1,8 @@ --- title: Release 2.1.0 date: 2024-11-18 -tags: release +tags: + - release --- The Apache HoraeDB(incubating) team are pleased to announce that v2.1.0 is released, which has closed over 60 issues, including two major features: diff --git a/static/images/review-coc-na/board.jpg b/static/images/review-coc-na/board.jpg new file mode 100644 index 0000000..60f4477 Binary files /dev/null and b/static/images/review-coc-na/board.jpg differ diff --git a/static/images/review-coc-na/cassandra-paging.jpg b/static/images/review-coc-na/cassandra-paging.jpg new file mode 100644 index 0000000..95730e4 Binary files /dev/null and b/static/images/review-coc-na/cassandra-paging.jpg differ diff --git a/static/images/review-coc-na/tomcat-cupcake.jpg b/static/images/review-coc-na/tomcat-cupcake.jpg new file mode 100644 index 0000000..423c701 Binary files /dev/null and b/static/images/review-coc-na/tomcat-cupcake.jpg differ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
