程序员过了35岁没人要?“这行越老越香”

程序员35岁失业?参加完OceanBase开发者大会,我又悟了!

周六参加了OceanBase2024 开发者大会的现场,来之前我其实挺忐忑的,我觉得一个数据库产品的发布会,能有什么新鲜的东西?

踏入酒店的那一刻,发现自己错了.....

现场会很多招聘机会、免费的自助餐、免费的活动奖品,以及近距离接触从业超过30年大佬的机会,体验到了寓教于乐的快感,也打破了程序员35岁危机的说法。

不枉我凌晨4点多就爬起来火速买了去上海的火车票, 倒也不是想白吃白拿找工作,主打一个热爱学习。

现场交流氛围很好,有招聘集市、互动打卡的游戏区域、也有互联网老兵的线下交流沙龙,对开发者和创业者都很友好。大会随手拍一张,居然发现了OceanBase的首席科学家阳老师(图最右)。

诶这个10岁的小鬼,你是怎么进来的,年纪太小不建议写代码哟,因为这样对我们打击太大了555

现场还有工作超30年,现场5位总共超过100年开发经验的资深前辈分享...

最重要的是在这次活动中,收获了许多技术的知识点,对我以后的工作有许多的帮助,下面说几个这次大会主要的收获和帮助。

大会见闻与收获

OceanBase 是由蚂蚁集团完全自主研发的国产原生分布式数据库,当前已助力超过1000家客户实现关键业务系统升级。

下面这张图大家可以看到OceanBase的发展历程,从10年开始,到现在的逐步的提升自己在行业的影响力。

另外本次开发者大会的主题主要是OceanBase 4.3产品的发布升级,在现场听了一些分享和OceanBase的工作人员进行交流后,针对当前的一些业务特点,个人的一些收获。

TP&AP 一体化,轻松实现PB级数据实时分析,驱动业务创新

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。

开发者友好,无缝兼容MySQL,丰富文档

OceanBase带来了这么多的好处,原本在想是不是又要学习一套新的数据库概念,理论等等。

但发现OceanBase还是比较关注用户体验,可以做到与MySQL完全兼容,支持所有MySQL语法和协议。

我在现场就用MySQL的语法现在进行了开发,完全无感知,连驱动都是MySQL的db驱动,甚至支持非关系数据库数据的写入,再用sql的方式查询数据。

Java、Python、Go主流的开发语言和框架也完全兼容,云上来说阿里云、华为云、腾讯云、AWS 、GCP没错也完全完全兼容。

它的官方网站资料、文档也很全,我觉得在开发者体验这一块确实是拉满了,他们还和AI做了结合,文档回答速度和准确度都非常高。

总结

其实关于这次大会我最深的感触,就是终于可以打破一些外界对程序员的年龄偏见了,因为在现场来来往往不少都是35+的研发人员,大家依旧保持着学习的热情和对行业的探索欲。

另外也确实收获到了关于数据库行业的诸多知识点,扩展了我的视野,对个人的工作也有了一定的启发,当然也了解到了像OceanBase这么优秀的产品。

一天下来,我真切地感受到,数据库领域一样正在发生翻天覆地的变化。云计算、分布式、一体化等新技术,正在颠覆我们对传统数据库的认知, 同时也有AI技术浪潮铺面而来~

作为程序员,要紧跟时代的步伐,我们和OceanBase一样,拥抱变革,学习创新。只有这样,才能在这个瞬息万变的数字时代立于不败之地!

年龄永远不会成为阻碍。我们的价值不应随着年岁增加而减少,保持年轻的心态,学习新事物,并将其应用到实践中,我们就能不断创造价值。

这一次我看到的远不止于技术层面的升级,是实实在在的业务价值和发展机遇,是关于开发者的无限可能。

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

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

相关文章

消消乐算法总结

前言 最近在工作中遇到一个问题,做一个消消乐的demo项目,连续相同数目超过四个后就要消除。我在网上看了很多解决方案,有十字形,横向,纵向,梯形搜索。越看越迷糊。这不是用一个BFS就能解决的问题吗&#x…

ISP比普通的静态代理相比有什么优势?

ISP(Internet Service Provider),即互联网服务提供商,是向广大用户综合提供互联网接入业务、信息业务、增值业务的电信运营商。而静态代理则是一个固定不变的代理IP地址,具有稳定性强、兼容性好和管理方便等特点。当我…

LiveNVR监控流媒体Onvif/RTSP常见问题-如何对比监控摄像头延时视频流延时支持webrtc视频流播放超低延时播放

LiveNVR如何对比监控摄像头延时视频流延时支持webrtc视频流播放超低延时播放 1、问题场景2、如何对比延时?3、WEBRTC延时对比4、LiveNVR支持WEBRTC输出5、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、问题场景 需要低延时的视频流监控播放,之前可以用rtmp…

在docker容器中编译 rk3588 ubuntu固件

文件准备 Linux SDK ---- rk3588_linux_release_20230114_v1.0.6c_0*Ubuntu根文件系统 ---- Ubuntu22.04-Xfce_RK3588_v3.11-27_20240410.img.7z 硬件环境 一个可联网的linux机器,并且装有docker 打包一个docker编译环境 Dockerfile内容 直接通过dockerfile构…

路由引入,过滤实验

实验拓补图 实验目的: 1、按照图示配置 IP 地址,R1,R3,R4 loopback口模拟业务网段 2、R1 和 R2 运行 RIPv2,R2,R3和R4运行 OSPF,各自协议内部互通 3、在 RIP 和 oSPF 间配置双向路由引入,要求除 R4 上的…

OceanBase诊断调优 】—— 如何快速定位SQL问题

作者简介: 花名:洪波,OceanBase 数据库解决方案架构师,目前负责 OceanBase 数据库在各大型互联网公司及企事业单位的落地与技术指导,曾就职于互联网大厂和金融科技公司,主导过多项数据库升级、迁移、国产化…

Qt配置CMake出错

一个项目需要在mingw环境下编译Opencv源码,当我用Qt配置opencv的CMakeLists.txt时,出现了以下配置错误: 首先我根据下述博文介绍,手动配置了CMake,但仍不能解决问题。 Qt(MinGW版本)安装 - 夕西行 - 博客园 (cnblogs.…

计算机网络相关知识总结

一、概述 计算机网络可以极大扩展计算机系统的功能机器应用范围,提高可靠性,在为用户提供放方便的同时,减少了整体系统费用,提高性价比。 计算机网络的功能主要有:1. 数据共享;2. 资源共享;3. 管…

用html画一个四叶草

<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>四叶草</title> <link href"" rel"stylesheet"> <link rel"stylesheet" href"css/style.css&q…

数字逻辑电路基础-有限状态机

文章目录 一、有限状态机基本结构二、verilog写一个基础有限状态机(moore型状态机)三、完整代码一、有限状态机基本结构 本文主要介绍使用verilog编写有限状态机FSM(finite state machine),它主要由三部分组成,下一状态逻辑电路,当前状态时序逻辑电路和输出逻辑电路。 有…

更易使用,OceanBase开发者工具 ODC 4.2.4 版本升级

亲爱的朋友们&#xff0c;大家好&#xff01;我们的ODC&#xff08;OceanBase Developer Center &#xff09;再次迎来了重要的升级V 4.2.4&#xff0c;这次我们诚意满满&#xff0c;从五个方面为大家精心打造了一个更加易用、贴心&#xff0c;且功能更强的新版本&#xff0c;相…

SAP Fiori开发中的JavaScript基础知识15 - 原型,object,constructor,class,继承

1. 前言 本文将介绍JavaScript中的核心概念 - 原型&#xff0c;并会介绍基于原型的应用场景object&#xff0c;constructor&#xff0c;class&#xff0c;继承。 本文会将这几个核心概念汇总在一篇博客中&#xff0c;因为这些概念是触类旁通的&#xff0c;希望对你有帮助。 …

RTU遥测终端为城市排水安全保驾护航!

近年来&#xff0c;全球气候变迁与城市化进程不断加速&#xff0c;导致强降雨事件频发&#xff0c;道路低洼地带、下穿式立交桥和隧道等区域在暴雨中常易积水&#xff0c;严重阻碍了人民的出行&#xff0c;甚至危及生命与财产安全。而传统的排水管网管理方式已难以适应现代城市…

STM32 学习13 低功耗模式与唤醒

STM32 学习13 低功耗模式与唤醒 一、介绍1. STM32低功耗模式功能介绍2. 常见的低功耗模式&#xff08;1&#xff09;**睡眠模式 (Sleep Mode)**:&#xff08;2&#xff09;**停止模式 (Stop Mode)**:&#xff08;3&#xff09;**待机模式 (Standby Mode)**: 二、睡眠模式1. 进入…

BBS前后端混合项目--01

总路由 # urls.py """BBS1 URL ConfigurationThe urlpatterns list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/3.2/topics/http/urls/ Examples: Function views1. Add an import: from my_app import views2…

related_name和related_query_name属性

在Django模型继承中&#xff0c;假如在外键或多对多字段中使用了related_name属性或related_query_name属性&#xff0c;则必须为该字段提供一个独一无二的反向名字和查询名字。但是&#xff0c;这样在抽象基类中一般会引发问题&#xff0c;因为基类中的字段都被子类继承并且保…

初见-响应式编程-002

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace #Reacti…

BERT-CRF 微调中文 NER 模型

文章目录 数据集模型定义数据集预处理BIO 标签转换自定义Dataset拆分训练、测试集 训练验证、测试指标计算推理其它相关参数CRF 模块 数据集 CLUE-NER数据集&#xff1a;https://github.com/CLUEbenchmark/CLUENER2020/blob/master/pytorch_version/README.md 模型定义 imp…

【iOS开发】(五)react Native路由和导航20240421-22

【iOS开发】(五)react Native 路由和导航Navigation 20240421 在&#xff08;一&#xff09;&#xff08;二&#xff09;中我们 Reactnative搭建了开发环境、学习了 基础语法、状态管理&#xff0c;JSX、组件、状态和生命周期以及样式布局等。 在&#xff08;三&#xff09;&a…

MATLAB 数据类型

MATLAB 数据类型 MATLAB 不需要任何类型声明或维度语句。每当 MATLAB 遇到一个新的变量名&#xff0c;它就创建变量并分配适当的内存空间。 如果变量已经存在&#xff0c;那么MATLAB将用新内容替换原始内容&#xff0c;并在必要时分配新的存储空间。 例如&#xff0c; Tota…