踏入酒店的那一刻,发现自己错了.....
现场会很多招聘机会、免费的自助餐、免费的活动奖品,以及近距离接触从业超过30年大佬的机会,体验到了寓教于乐的快感,也打破了程序员35岁危机的说法。
不枉我凌晨4点多就爬起来火速买了去上海的火车票, 倒也不是想白吃白拿找工作,主打一个热爱学习。
现场交流氛围很好,有招聘集市、互动打卡的游戏区域、也有互联网老兵的线下交流沙龙,对开发者和创业者都很友好。大会随手拍一张,居然发现了OceanBase的首席科学家阳老师(图最右)。
诶这个10岁的小鬼,你是怎么进来的,年纪太小不建议写代码哟,因为这样对我们打击太大了555
现场还有工作超30年,现场5位总共超过100年开发经验的资深前辈分享...
最重要的是在这次活动中,收获了许多技术的知识点,对我以后的工作有许多的帮助,下面说几个这次大会主要的收获和帮助。
OceanBase 是由蚂蚁集团完全自主研发的国产原生分布式数据库,当前已助力超过1000家客户实现关键业务系统升级。
下面这张图大家可以看到OceanBase的发展历程,从10年开始,到现在的逐步的提升自己在行业的影响力。
另外本次开发者大会的主题主要是OceanBase 4.3产品的发布升级,在现场听了一些分享和OceanBase的工作人员进行交流后,针对当前的一些业务特点,个人的一些收获。
TP(Transaction Processing,事务处理)模式 业务中需要需要实时给用户反馈的部分
AP(Analytical Processing,分析处理)模式 而对于可以容忍一定延迟、需要大量数据分析的部分
TP&AP在大部分公司都是单独设计的,TP 使用MySQL,再将实时数据单独建立一条链路将数据同步到HoloGress或者ClickHouse,进行实时数据分析 这部分就是AP。
用户通常使用 MySQL 等关系型数据库来处理 OLTP 工作负载,而使用 HoloGress 等专门的 OLAP 数据库来处理复杂的分析查询。
这种架构虽然在一定程度上解决了不同场景下的数据处理需求,但也带来了数据同步、系统切换等问题,影响了分析的实时性和一致性。
同时导致每次方案设计都要写MySQL的代码、Flink的代码(同步的代码)、数据分析的代码,还是挺复杂的。
OceanBase 4.3最新推出了列式存储引擎,进一步提升了AP场景下的性能,极大提升了OLAP实时分析的能力。也就是未来可支持OLTP、HTAP、OLAP不同场景的需求。
用户不再需要在 MySQL 和 HoloGress 等多个数据库之间进行数据交换和同步,而是可以在一个统一的 OceanBase 系统中完成所有的数据处理工作。
这不仅简化了架构复杂度,降低了运维成本,同时使得用户能够对实时生成的业务数据进行即时分析,大大提高了分析的时效性。
下图是一个传统链路和使用OceanBase链路的简单示意:
他能做到这样的原理是因为 OceanBase采用了独特的"行列混存"模型,同时支持行存和列存,在OLTP场景下发挥行存的优势,在OLAP场景下发挥列存的优势。
再加上智能的查询优化器、高效的编码压缩、并行计算等一系列优化手段,使得OceanBase在HTAP方面做的非常好。
关于分析能力的性能,CTO 杨传辉大会现场,在同等硬件条件下,OceanBase 4.3 同业内一流的列存大宽表数据库进行跑分 PK。
结果显示,在大宽表场景,OceanBase 的查询性能与其处于同一水平。
OceanBase 4.3.x仍然保持了极强的弹性扩容能力,可以在云上自动的弹性扩缩容。
我们可以在不影响业务的情况下,随时调整数据库的规模,从容应对高峰期的海量请求。
想想自己现在在设计数据库的时候,每次都要进行用户量的预估,进行分库分表的设计,当实际容量和预估容量不一致,某一天由于某个热点导致突然业务量爆炸增长的时候,都要苦哈哈的维护数据库的稳定性,重新在备份数据,分库分表,用了OceanBase之后,我们只需要关注领域模型本身,对一些未来到底多少容量就不需要再额外的进行分库分表的设计。
其实我个人觉得分库分表本身就一种权衡和折中的设计,不是一个好的设计方案,虽然现在很多业务都在用这种方案,业务发展的不确定性导致很难准确预估未来的数据量和访问量,一旦预估不准,就可能导致分库分表的方案难以应对实际情况。
分库分表把原本的大表拆分成了多个小表,一些跨表的查询、事务等操作变得非常困难,需要应用层自己实现,对开发人员的能力要求高,等等一系列问题吧。
这次参加大会,发现OceanBase把这种长期存在互联网设计中的痛点问题解掉了,OceanBase 采用了一种原生的分布式架构,数据可以自动分片并均匀分布在多个节点上。
这种分布式设计使得 OceanBase 能够横向扩展,通过增加节点来线性提升系统的存储容量和处理能力,而无需修改应用程序代码,也就避免了传统的分库分表。
如果以后再遇到分库分表的场景,真的可以考虑下使用OceanBase。
OceanBase带来了这么多的好处,原本在想是不是又要学习一套新的数据库概念,理论等等。
但发现OceanBase还是比较关注用户体验,可以做到与MySQL完全兼容,支持所有MySQL语法和协议。
我在现场就用MySQL的语法现在进行了开发,完全无感知,连驱动都是MySQL的db驱动,甚至支持非关系数据库数据的写入,再用sql的方式查询数据。
Java、Python、Go主流的开发语言和框架也完全兼容,云上来说阿里云、华为云、腾讯云、AWS 、GCP没错也完全完全兼容。
它的官方网站资料、文档也很全,我觉得在开发者体验这一块确实是拉满了,他们还和AI做了结合,文档回答速度和准确度都非常高。
其实关于这次大会我最深的感触,就是终于可以打破一些外界对程序员的年龄偏见了,因为在现场来来往往不少都是35+的研发人员,大家依旧保持着学习的热情和对行业的探索欲。
另外也确实收获到了关于数据库行业的诸多知识点,扩展了我的视野,对个人的工作也有了一定的启发,当然也了解到了像OceanBase这么优秀的产品。
一天下来,我真切地感受到,数据库领域一样正在发生翻天覆地的变化。云计算、分布式、一体化等新技术,正在颠覆我们对传统数据库的认知, 同时也有AI技术浪潮铺面而来~
作为程序员,要紧跟时代的步伐,我们和OceanBase一样,拥抱变革,学习创新。只有这样,才能在这个瞬息万变的数字时代立于不败之地!
年龄永远不会成为阻碍。我们的价值不应随着年岁增加而减少,保持年轻的心态,学习新事物,并将其应用到实践中,我们就能不断创造价值。
这一次我看到的远不止于技术层面的升级,是实实在在的业务价值和发展机遇,是关于开发者的无限可能。