曾在国内外5家大厂做数据库工程师,这是他给出的5大趋势预测
出门要健康码,买东西用支付码……
什么都可以变成数据,近来被追捧的元宇宙甚至告诉我们连人都可以变成数据。
我们貌似已经习惯了与数据相依存的生活,但在未来,数据会发展成什么样子,你有想过吗?
有30多项机器学习和数据云专利的大佬Luhui Hu发了一篇博客。
他梳理了数据库的发展以及现状,或许从中我们可以洞见数据未来的模样。
一起来看看吧~
首先,简单了解下数据库。
一言以蔽之,就是能够存储并管理庞杂的数据。
在过去的30年中,作为编程语言、操作系统中必不可少的技术,数据库的数量在呈指数级增长,已经诞生出数百种不同的数据库。
典型如SQL到NoSQL和NewSQL。
这些数据库主要进行两项工作:
在线事务处理(OnLine Transactional Processing 简称:OLTP);
在线分析处理(OnLine Analytical Processing 简称:OLAP) 。
早在20世纪60年代早期,Charles Bachman就开发了第一个数据库。
起初对于数据库的探索主要集中在数据库查询和它的模型上,包括SQL(结构化查询语言)、XML(可扩展标记语言)和面向对象。
众多数据库在经过10多年的竞争之后,Oracle、SQL Server和MySQL三个脱颖而出。
它们凭借结构化查询语言和遵循ACID(原子性、一致性、隔离性、持久性,在出现故障的情况下也可以保证数据的有效性),几乎主导了商业市场和开源社区。
然而,数据的种类、速度以及数据量在不断增长,这对数据库提出了更高的要求,这时出现了一种新的数据库:NoSQL。
不同于传统的数据库,NoSQL允许部分数据使用SQL系统存储,而其他数据则使用NOSQL系统存储。
除此之外,NoSQL还首次提出了性能效率、模式灵活性和一些新的功能,并且还拥有键值存储、文档数据库、面向列的数据库、图形数据库等。
但由于NoSQL数据库在遵守CAP定理(不能同时满足一致性、可用性、分区容错性)时更注重可用性而非一致性,导致许多数据库为了实现最终一致性或非规范化而做出妥协和优化。
这也恰恰说明了数据库要与时俱进,契合当前数据的特点以及人们的需求。
就比如说NewSQL,它是一类现代的关系数据库,为OLTP工作提供了与NoSQL相同的可扩展性能,同时仍然使用SQL并维护传统数据库的ACID保证。
在数据库的发展过程中,还有一个不得不提的东西:数据仓库。
它是用于数据分析和业务洞察的核心组件,但在10年前大数据平台出现之后,人们从传统的数据仓库转移到大数据平台,它就黯然失色了。
直到云技术的出现,重新赋予给数据仓库新的性能,使它具备了可扩展性,数据仓库这才再次被人们注意到。
随着高性能、高可扩展性数据云的出现,一个新的数据平台生态系统——现代数据堆栈应运而生。
云技术通过云托管(半托管甚至完全托管)和云原生两种方式使得数据库自动化或半自动化。
在这其中,云技术具体是怎么操作的呢?
它主要是通过解耦数据库的存储和计算,重新定义体系结构。
并且存储或计算还可以独立扩展,提高数据库的效率、性能和灵活性等。
除此之外,这种解耦架构还能为数据库系统合并不同类型的存储和计算,以实现总体的高性能和新功能。
目前,云技术正在逐步应用到数据库中。
S3(Simple Storage Service 简单存储服务)因为自身的简单性、低成本、高可用性、可扩展性等,已经成为云计算的基础。
而且,它还演变成了数据湖,可以用来存储、处理和保护大量结构化、半结构化和非结构化数据。
讲了这么多数据库的发展,说回到现代数据库。
提到现代数据库,就不得不了解下面两种架构。
首先是Data Lakehouse,它相当于是数据仓库和数据湖的结合,可以看作是在对象存储上运行快速的SQL。
它同时具备了数据仓库的性能和数据湖的灵活性,能够消除数据孤岛(数据之间无法互通)和ETL(抽取-转置-加载)过程,从而使得数据的性能、灵活性和成本效益都得到提升。
除此之外,它还统一了所有的数据,简化了数据工程过程,并支持BI(商业智能)和AI工作负载在一起。
了解完Data Lakehouse,再来说说混合事务/分析处理 (HTAP)。
它是一种新兴的应用程序架构,为热门的现代数据库提供了动力。
比如说谷歌发布的HTAP数据库产品AlloyDB,具有卓越的性能、可扩展能力和可用性,并且在高并发的OLTP环境中,可以快速响应用户的复杂操作。
而Snowflake(数据云公司)紧随其后,发布了Unistore,同样也支持HTAP,可以在单一平台上同时处理交易和分析数据。
进一步来说,和Lakehouse一样,HTAP的目标也是消除从OLTP到OLAP或从数据湖到数据仓库的ETL过程。
并且,当前的HTAP是支持OLTP和OLAP工作负载的单一系统体系结构,而早期的数据库只能配置为OLAP或OLTP(不能同时使用)。
数据对于现在的生活的确至关重要,我们也能从现在数据库的发展状况窥见些许未来数据的走向。
大致总结了五大方向。
首先,数据库在未来可能会统一BI和AI。
总的来说,未来数据库的目标应该是解锁所有数据的业务价值,并支持BI和AI的整个数据景观,包括从描述到诊断、预测和规范等数据分析操作。
统一BI和AI不仅可以消除数据仓库和ETL,还可以简化管道,提高利益相关者的生产力。Data Lakehouse可以被视作是一个巨大的飞跃,但是目前还只是处于起步阶段。
除此之外,在从数据到商业价值的过程中,也会激发多种的岗位需求: 数据工程师、数据分析师、数据科学家、机器学习工程师等。
其二,未来的数据库可以通过构建专用的网络来满足多样化需求。
就目前来看,数据库技术融合已经成为一种趋势,如NewSQL、Lakehouse和HTAP。
但NewSQL、Lakehouse仍然是OLTP或OLAP的一种类型,CAP定理仍然成立。
并且当前的HTAP解决方案主要是OLTP,只适合小型工作负载。目前市场上可用的HTAP还远不能作为大型企业数据仓库或数据非结构化数据。
因此,专门构建的数据库很有必要,它可以更好地满足不同的业务目标,包括性能、可伸缩性或者/和特定的用例(例如,时间序列数据、图表、搜索等)。
而且还可以分离开具有收敛层的数据库,用于互连、统一的数据服务和一致的治理。
前面已经提到过云技术与数据库的结合,这在未来也是一大发展趋势,比如说多云策略。
多云策略是指在不移动数据的情况下将公共云和私有云联合起来。
它可以提高与多个云供应商的服务可用性,通过近距离计算减少延迟,从特定的云生态系统启用独特的功能,通过更多的云产品扩展全球可用性,并增强数据遵从性。
并且,多云策略还可以推动数据可观测性、数据编目、数据共享和数据编排的浪潮。
数据与人工智能也有结合的潜力。
目前,有三个领域的人工智能和数据相互启用:AI for Data,AI for Database和Data for AI。
智能数据是AI for Data,它可以使数据具有数据治理、数据谱系、元数据、语义以及来自分析和人工智能的新数据等方面的要素。
预计到2025年,所有数据的10%将由生成型人工智能模型产生。这些数据包括声音、视频、图像、文本、结构化数据、代码等。
数据库除了有上述的发展趋势外,还可以用作资产管理。
数据资产是将数据作为数据库或组织或个人存储器中的数字资产进行管理。
这样的数据库不仅是一个数据管理系统,而且还提供了数据可观测性、安全和隐私、定价、数据生命周期管理等。
未来数据库的发展走向肯定不止于此,你觉得它还有哪些新颖的潜力,欢迎在评论区留言~
参考链接:https://towardsdatascience.com/newsql-lakehouse-htap-and-the-future-of-data-69d427c533e0
— 完 —
量子位 QbitAI · 头条号签
关注我们,第一时间获知前沿科技动态约
数据库工程师:初、中、高级有什么区别?明明白白有效打工
在数据驱动发展的当下,企业运营离不开数据库,而数据库工程师就是保障其平稳运行的关键力量。他们从新手逐步成长为高手,各阶段工作内容与所需技能差异明显。
刚入行的初级工程师,如同新生,一切从基础学起。
- 安装数据库:要熟练安装 MySQL、Oracle、SQL Server 等常见系统。安装时需依据企业硬件配置(如内存、硬盘空间)及业务数据需求,精细调整参数,为数据库搭建稳定“住所”,保障其顺利运行。
- 备份数据:数据是企业根基,不容有失。初级工程师需制定日常备份计划,利用自带或第三方工具进行全量、增量备份。还得时常模拟数据丢失场景,检验恢复能力,为数据安全筑牢首道防线。
- 监控运行状态:每日借助监控工具,紧盯数据库 CPU 使用率、内存占用、磁盘读写、连接数等指标。一旦发现异常,迅速排查是程序故障还是硬件问题,无法解决时及时上报。
- 协助处理数据问题:业务部门反馈数据查询有误、插入失败等情况,需及时响应。主要排查查询语句语法错误,或是否违反数据规则,如必填项缺失、重复插入唯一标识数据,助力解决数据操作小麻烦。
- 掌握数据库基础知识:熟悉 SQL 基本语句,像 SELECT、INSERT、UPDATE、DELETE 运用自如,理解 JOIN 操作与子查询。明晰数据库存储结构、事务处理机制及索引原理。
- 了解操作系统:至少掌握 Windows 或 Linux 常用命令,知晓文件系统、进程管理知识。当磁盘满、数据库运行慢时,能借助操作系统知识排查、解决问题。
- 具备学习与沟通能力:数据库技术更新迅速,需保持学习热情,主动吸纳新知识。日常与开发、业务部门多交流,精准把握需求,协同处理数据库相关问题。
积累一定经验后,初级工程师进阶为中级,开始承担更复杂核心任务。
- 优化数据库性能:不能仅看表面指标,要深入剖析数据库运行缓慢原因。解读查询执行计划,揪出慢查询,通过创建索引优化查询字段、改写语句提升效率,精细调整数据库参数,让其高效运行。
- 设计复杂数据架构:参与企业数据规划,面对业务增长、数据量攀升,设计扩展性强、可用性高的数据存储方案。如电商大促时,确保订单、用户数据快速存取,顾客能秒查订单;对海量日志数据,合理分区、归档,平衡存储与分析需求。
- 保障数据库不停机:构建高可用架构,如 MySQL 主从复制、Oracle RAC 集群。实时监控集群状态,主库故障时迅速切换至从库,确保业务无感知,最大程度压缩停机时间。
- 开发自动化运维脚本:为摆脱手工操作低效易错弊端,中级工程师用 Python、Shell 等编写脚本。实现定时自动备份、性能数据采集分析自动化、批量创建数据库对象,大幅提升运维效率。
- 精通数据库专业知识:深入洞悉数据库内部原理,熟悉存储引擎底层存储读取方式、锁机制、并发控制,能依据业务巧用数据库特性,如以存储过程优化复杂业务执行,熟练运用高级调优技巧。
- 掌握编程与脚本技能:熟练运用 Python 等编程语言与数据库交互,借助 PyMySQL 等库实现数据迁移、性能数据可视化。具备面向对象编程思维,确保代码规范、易维护。
- 拥有故障排查与解决能力:面对数据不一致、死锁、集群节点数据不同步等复杂故障,能借助数据库日志与系统工具全方位排查,精准定位根源,迅速制定解决方案恢复业务。
- 具备项目管理与协调能力:参与大型项目时,作为数据库专家与多团队紧密协作。合理规划数据库任务,把控进度,协调资源,保障项目高质量交付。
高级数据库工程师堪称行业“大神”,技术精湛且具战略眼光。
- 规划企业数据战略:结合企业业务走向与市场技术趋势,为数据资产谋长远布局。如权衡集中式与分布式数据库优劣,适配企业未来 5 年扩张;规划云数据库迁移路径,降低成本与风险;探索大数据、人工智能与数据库融合,挖掘数据深层价值,助力数字化转型。
- 构建数据库安全体系:全方位打造数据库安全防护网,涵盖网络、系统、应用多层。网络层设防火墙阻拦非法访问;系统层加固服务器;应用层严格审核接入程序。制定严谨用户权限规则,加密敏感数据,定期漏洞扫描、打补丁,确保数据安全。
- 引领技术团队创新:作为技术引领者,带领团队探索前沿技术落地可能。如优化分布式数据库适配复杂业务,引入区块链存关键数据防篡改,开创全新业务模式。同时组织内部培训,分享前沿知识与实战经验,培育创新团队。
- 辅助高层决策:与高层直接沟通,以数据为依据,剖析业务瓶颈。如预测数据量增长对架构冲击,基于分析为领导提供数据库升级、新技术引进投资建议,助力企业合理分配资源,抢占竞争先机。
- 深厚技术功底与前沿视野:时刻关注数据库前沿技术,能敏锐捕捉新技术应用契机。在分布式数据库架构、云原生数据库、智能运维等新兴领域深入研究实践,引领企业技术变革。
- 卓越领导与管理能力:既是技术权威,又是团队管理者。擅长根据成员特长分配任务,激发潜能,提升团队战斗力。沟通协调能力出众,与高层汇报精准高效,跨部门协作顺畅,推动数据战略落地。
- 敏锐业务洞察力:深刻理解企业核心业务,精准定位痛点,巧用数据库技术解决。能从海量数据洞察商机,如分析用户购买行为为市场部门定制精准营销策略,驱动业务创新。
- 危机应对与决策能力:遭遇重大数据事故(如数据中心火灾、黑客攻击)或颠覆性技术变革,能沉着冷静,迅速权衡利弊、果断决策。协调各方资源抢险,降低损失,保障数据业务平稳过渡。
从初级迈向高级,恰似登山,需步步为营。
初级工程师要在日常积累实战经验,多参与小项目,遇问题钻研求解,主动学习进阶知识,逐步提升解决复杂问题能力,为晋升中级铺垫。
中级工程师若想再进一步,需在大型项目担重任,主导关键数据库架构设计、性能攻坚,拓宽技术边界,强化团队协作与领导能力,凭出色项目成果吸引高层关注,争取晋升契机。
高级工程师晋升侧重于战略层面,为企业创造显著数据价值,引领行业技术走向,塑造数据文化,成为高层智囊,实现从技术骨干到战略家的华丽转身。
数据库工程师在不同阶段各显神通,守护企业数据财富。无论你是初涉数据库运维的新手,还是奋进在成长路上的同行,都欢迎来评论区分享故事、困惑。若觉得此文有用,别忘了点赞、收藏、分享,让更多人了解这个超酷职业!评论区等你哟!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。