在进入今天的话题之前,先来了解一下两个基本概念。
OLTP(联机事务处理)是指为实时事务操作和日常运营任务服务的数据处理系统。OLTP主要负责实时处理事务数据,支持数据的插入、更新和删除操作,强调高并发性和实时性,主要用于记录日常的业务事件,如购买行为等。
OLAP(联机分析处理)是一类数据处理分析系统,旨在通过复杂的分析查询,从大量数据中筛选有价值数据。OLAP主要专注于数据的分析,提供复杂的数据查询和统计分析功能,用于数据挖掘和决策支持。
那么下面再来看看今天的话题。
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在现代业务的发展背景下,可以说数据库的选型已经不再单一的局限在从OLTP和OLAP两种数据行为二选一,而是既要有OLTP的实时事务数据处理,又要有OLAP的数据查询与分析,单一的数据库技术选型已经无法满足现在迅速增长的数据量和飞速变化的市场环境了。
那么在这种场景下,开发人员如何平衡OLTP和OLAP数据库的技术需求与选型就显得尤为重要。正如文中所说,摆在开发者面前的是【选300平米别墅还是90平米小平层】,集中式数据库(90平米)可以满足日常业务所需,资源规模也合适,成本相对适中,性价比更高,另外运维操作上也简单,问题容易排查。分布式数据库(300平米)的优势也是显而易见的,就是无论什么时候,都不担心90平米住不下的问题(具备较高的性能,能够处理复杂的业务场景,满足客户对高吞吐、大存储、低延时、易扩展和超高可用数据库服务的需求),但是劣势也是很明显,首先带来的就是成本的升高,另外各个子数据库之间网络连接问题,以及后期运维难度的提升,都是必须考虑的问题。
集中式与分布式数据库的边界正在模糊,开发者如何看待这一变化?这种变化对数据库的设计和维护会带来哪些影响?
有了上面开发者选型的苦恼,那么就有了PolarDB分布式版的集分一体化的诞生。怎么说呢,简单理解就是你既可以达到集中式数据库的数据实时处理,又可以达到分布式数据库的高吞吐、大存储、低延时、易扩展和超高可用数据库服务。集分一体化的诞生,使得集中式和分布式数据库的界限不再那么明显,开发者在数据库设计和维护上既可以达到集中式的数据实时处理要求,又可以达到分布式的超高可用。这在一定程度上扩宽了开发者的数据库设计方向,降低了数据库的维护难度,那么对于开发者来说,无疑是最好的消息。
作为一名开发者,你会选择云原生一体化数据库吗?
作为开发者,具体选择什么类型的数据库,还是要看具体的业务场景。虽然云原生一体化数据库确实很优秀,解决了传统集中式数据库与分布式数据库难以共存的局面,但是也不能在面临数据库选型时毫不考虑的就选择云原生一体化数据库。对于开发者,对于企业来说,盈利才是目的,那么可以降低成本自然是要选择降低成本。
比如现在有一个业务系统,数据量不大,访问量不大,主要用于内部管理使用,数据增长速度也不快,那么这样的业务场景,原来的单一集中式数据库就是可以满足的,且可以节省成本,提高效益。
再比如现在有一个业务系统,数据量初期不大,后期可能会很大,访问量也是同样的情况,那么面对这样的业务系统,在数据库选型上当然是优先考虑云原生一体化数据库。不然随着后期数据量的巨大增长,集中式数据库必然难以招架,这时候切换分布式系统,成本较高,不确定因素复杂。那么像这种情况,从业务系统初期就选择云原生一体化数据库,一劳永逸,无疑是最好的选择。
因此数据库的选型,还是要看业务场景,不能说觉得集分一体化好了,就只选云原生一体化数据库,还是要具体问题具体对待。