首页 > 数据库 >数据库可以影响整体软件的架构设计,-- 那是当然!

数据库可以影响整体软件的架构设计,-- 那是当然!

时间:2023-06-19 17:06:12浏览次数:51  
标签:架构设计 -- 数据库 业务 问题 DBA SQL 数据


数据库可以影响整体软件的架构设计,-- 那是当然!_数据库

数据库 DBA 在整体软件的成型的过程中大部分的单位都将这个职位定位成一个运维的职位。 当然既定的现实存在即合理,这也是无法辩驳的,但实际上DBA 到底应该不应该就是也给运维的职位,都2021年了,咱们的开始论论了。

我们先罗列一下大部分人认为的DBA 应该做什么

1   安装数据库,安装数据库高可用架构

2   执行开发给予的 SQL 包含 DDL  DML

3   优化已经上线的SQL 语句,包含添加适合的索引,修改一些非逻辑性的SQL语句的结构

4   进行数据库整体性能的监控

5   解决各种数据库运行中产生的疑难杂症

6   为开发解决开发中涉及数据库的一些知识的问题

7   做数据库的备份和恢复,以及灾备问题

当然还有一些其他的工作,例如为业务部门写一些复杂的SQL, 或者对数据库的中间件安装操作,以及进行编程将一些工作自动化。

但现在的数据库和上世纪的数据库还一样吗, 还是ORACLE 选来选去还是ORACLE 的年代吗? 

NO  NO  NO 

按照盖老师(DBA鼻祖),名言名句,“这是一个数据库百花齐放” 的年代“,那既然是百花齐放的年代,那选择数据库,理解数据库的特点,并将这些特点与软件开发的架构设计融合,提高软件编程成型的速度,降低软件构造的成本,提高整体软件结构的抗击打性。这些可都是要 "DBA” 来进入的工作。

那我们看看新时代的DBA 到底应该可以在做点什么

实际上选择一个数据库参与到业务当中可以问如下的问题

1   在这个应用软件的预期中,业务预计需要存储的数据量

     (这个问题其实是比较重要的,如果数据量大,采用的数据库采用那种形式在存储数据,例如分区表,分库分表,逻辑分表,sharding  , 分布式数据库等等这些选择都与)

2   这个系统并发的用户是多少,多少用户会在业务高峰期登录系统,数量是多少

3    业务的重要性,与业务中数据的一致性安全性等,需要数据库的可用性是怎样的,例如核心业务在遇到问题后,如何保证业务,这决定了数据库的高可用的方式和成型

4     业务的特性是如何,例如是计算地理位置信息为主的业务,还是传统金融业务,或者以存储外部业务交换信息为主的业务,在或者是存储客户行为信息为主的数据集合信息,或者是风控为主的即时计算信息 等等。数据的原本的信息模式,数据的模式是怎样的?  业务是以 OLAP 为主 还是 OLTP为主等等诸如此类的信息

5     数据供应的特性是什么,例如你的数据是读多写少,还是写少读多,数据的冷热数据是否明显。

6     应用程序开发的语言是什么,是JAVA ,GO ,.NET,  PYTHON 那种程序开发的语言,本身这些语言对于使用哪种数据库本身也是有倾向的。

7    预算的问题,这当然是一个问题,目前整体的大环境的是  去掉 ORACLE SQL SERVER 这样的商业数据库,所以预算也是一个问题,目前开源免费的数据库大行其道,你怎么和你的老板交代,一年几百万和上千万的数据库采购的费用,是吧。

8    后续的问题的解决方案, 例如如果你选择了MYSQL 则后面数据的汇聚以及数据的在计算分析就是一个需要考虑的成本,或者采用POSTGRESQL ,MONGODB 后续的数据在分析和处理的方式和成本等问题,所谓不能顾前不顾后

9    数据的治理的问题,这个当然也是需要操心的问题,例如表的结构设计,到底那些字段是必须的,例如必须有记录的插入的时间等等,或者字段的命名规则,字段里面的值的命名规则等等。这也与后续的数据的交互和后续的数据处理有关。 

所以一个应用系统设计中的数据库到底是不是可以左右整体业务逻辑的架构设计,此时还有多少人还有疑问? 

此时还认为 DBA 就是个运维的岗位, 呵呵, TOO Young TOO  simple。随着数据库的种类越来越多, 合理使用合适的数据库解决业务问题,系统架构的问题,早就应该被提上议程, 当然如果你说我们不需要,那倒是很有可能,因为目前还有一堆的单位,还在以使用一种数据库为荣,我倒是认为,这应该是这个单位的架构以及DBA 组的耻辱。

所以我相信,这就是一个“数据库百花齐放的”年代, DB们该提升提升自己,应对变化的环境,以及新的岗位需求,有这样岗位需求的单位,我想也不会太差。

数据库可以影响整体软件的架构设计,-- 那是当然!_mysql_02

标签:架构设计,--,数据库,业务,问题,DBA,SQL,数据
From: https://blog.51cto.com/u_14150796/6515988

相关文章

  • MYSQL client 有了更多的新功能
    MYSQL8 中的client中的新功能,方便在MYSQL的client中操作可以不用在切换到LINUX平台下操作某些LINUX的命令。使用的场景主要在于在MYSQL中操作数据库的命令的适合,同时还想在监控一下当前的性能,之前可能会开两个窗口,在MYSQL8后,这样的事情可能会少不少。到底我们能做什么1 ......
  • POSTGRESQL UPDATE 如何提高I/O 能力
    POSTGRESQL的数据扫描,其实和其他的数据库也无差,无非就是数据块的扫描以及索引的扫描,这里POSTGRESQL数据扫描也叫TUPLESCAN。在POSTGRESQL8.3版本后再HEAP表的修改中,有一个概念叫HOT,通过新的概念提高了堆表的性能,减少了I/O。早起的POSTGRESQL更新的方式是修改索引中的数......
  • POSTGRESQL RC事务处理与ORACLE MYSQL 的区别 --对PGFANS 群里面的问题的分解
    有一个同学在PGFANS群里面提了一个问题,在他实验的某个操作中发现PG和ORACLE使用同样的操作流程后,得到的结果不一致。所以下面准备验证并找到一些可以解释的原因。测试库名test测试表test测试数据id  age 1   202   223   24首先我们要确认 PG的隔离 RC......
  • 数智人力:如何通过搭建全球人才供应链帮助企业海外扩张?
    在不确定性、不连续性的复杂商业环境和数字化浪潮的推动下,中国企业正在寻求全球化经营的新模式。过去依赖单一能力(如规模市场、低成本产品、渠道拓展等)的发展模式已经不再适用,取而代之的是战略能力、业务能力、组织能力的全球化经营模式。为了支撑进一步的飞跃,中国企业需要不断领先......
  • vim敲字如弹琴
    本篇文章主要讲解vim的常用命令,当你在妹子面前像弹琴一样的敲代码完成给她的惊喜的时候,萌妹子会不会对你顶礼膜拜,发出崇拜的小星星呢?1.显示行数vim打开文件之后输入:setnumber或:setnu2.光标移动h光标向左移动j光标向下移动k光标......
  • POSTGRESQL analyze table 到底做了什么与扩展统计
    PostgreSQL 中对表的状态是有单独的命令来进行状态的收集的,到底怎么对表来进行状态的收集,并且都做了什么,我们怎么来依靠这些信息来对查询进行有益的帮助。这些都将在这篇文章里面探讨。首先我们对PG12中,关于Analyze 的注释来仔细的阅读一遍ANALYZE collectsstatisticsabout......
  • POSTGRESQL PG_REWIND 从源代码看功能
    PG_REWIND是PG9.6开始提供的功能,主要的作用在于通过PG_REWIND让PG复制中的数据库快速的与预定的“主库”进行数据同步,而复制的方式是是文件块的方式,并且可以避过重复的数据块。所以复制的速度是快的,在不少的高可用方式中都被作为主库失败后的快速的将主库加入原有集群并作为从......
  • 分布式两大流派 POSTGRESQL -XC 了解一下
    分布式数据库有两大流派,NEWSQLVS POSTGRESQL-XC,NEWSQL的分布式主流的理论来源自GOOGLE的分布式数据库spanner,以及相关理论的白皮书,而令一派的分布式数据库来自于POSTGRESQL-XC,今天我们看看到底POSTGRESQL-XC这个流派的方式是什么,有什么特点,当下那些分布式数据库采用了......
  • POSTGRESQL Postgres-XL 了解一下
    上次分析的POSTGRES-XC的结构, 实际上POSTGRES-X系列一直在发展, POSTGRES除了XC还有XL的高可用的结构.Postgres-XL是一款Postgres-XC升级的产品,如果说PGXC是在PG添加了集群的功能主打OLTP的功能为卖点,PGXL是一款基于PGXC添加了OLAP功能的支持MPP架构的,但不是简单的PO......
  • POSTGRESQL 创建一个表到底有什么说的? 可说的挺多的
    创建一张表,到底有什么说的, 下面是POSTGRESQL创建数据表的官方文档的内容截图. 那我们就往下看,到底我们可以说点什么建表的开头是关于临时表的问题,其中临时表的global和local,在目前的V12的版本中并没有具体的含义,问题1,POSTGRESQL怎么创建一个看似global的temparytab......