前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用系统设计数据库到底应该站哪?

应用系统设计数据库到底应该站哪?

作者头像
AustinDatabases
发布2020-08-18 14:27:45
4600
发布2020-08-18 14:27:45
举报
文章被收录于专栏:AustinDatabases
DBA,通常给项目经理或者开发人员,系统架构师的印象,大概可以总结出以下几个词 ,不重要,管数据库的,装数据库的,老是找麻烦的,我们架构设计尽量不使用数据库或不强依赖数据库, 没什么用,和项目有什么关系?虽然这些词比较负面,但实际上不少上述人员,对DB的印象可能就是如此。

为什么?因为部分公司的DB人员和运维人员没有什么区别,这就是导致上述词汇和印象的原因之一。

另一个原因是MYSQL的崛起,是DB被轻视的另一个原因,为什么是MYSQL的崛起。在大部分以MYSQL为数据库使用对象的公司中,除了部分公司,大部分公司对MYSQL的使用基本上已经忽略的数据库在系统应用方面的设计,由于MYSQL本身的数据处理提供的功能,要比其他数据库弱,所以系统应用设计中,大部分的数据处理都,业务逻辑实现的部分都在MYSQL以外的位置实现了,例如程序本身将数据库看做是一个数据存储的介质,只关心他能提供多少QPS,TPS,而其他的都可以通过程序及程序架构来实现。数据库的功能被程序剥离了,使得在程序设计中数据库逐渐偏向“硬”方面的设计,(读写分离,分库分表,性能优化,规范等)除此以外就是因为使用MYSQL而带来的,本来一个物理库能实现的事情,而变成多个MYSQL 数据库来承担,这就更强调程序的设计,而非数据库的设计。

所以DB人员的地位在系统设计领域方面,基本上找不到话语权,或很少有话语权。

在互联网领域,很少听到有数据库方面的对于业务和业务逻辑方面的人才,而在程序层次方面,由于数据库的弱化,带出一批的中间件和程序架构,业务逻辑实现等方面的软件开发和架构人才。

所以DB在这样的情况下,在业务逻辑架构层次可以“指手画脚”的space很少,存在感也不强。反倒是有这样一种说法,MYSQL 的使用导致软件架构和设计方面的人才在逐渐进步,数据库在有些大型互联网企业,沦为容器化的存储设备而已。

而随着近几年各种数据库不用的声音,数据库需要被设计,在软件方面的设计又有变强的节奏, 例如POSTGRESQL , MONGODB, 或者一些偏门的cassandra, 时序数据库,图数据库等等,各种解决某个领域,或者一个数据库全能的产品又重出江湖,那DB 在整体的系统设计中的话语权,应该被“召回”。

DB在整体的系统架构中的设计重新被提上了议程,以POSTGRESQL为例,由于功能方面的强大,尤其和MYSQL相比,无论在某个专项领域,或者数据库本身领域都有可圈可点的功能卖点, 或者MONGODB在专项领域的无可动摇的地位,都导致DB又开始不再以一个数据存储的基本容器存在,而是提供应用系统中的更重要解决问题的角色,程序设计可以变得更简单,数据库又可以承担一些程序设计中的附加功能点。

举例:如果我们将大批的数据进行模糊值得匹配,在数据库中处理比较困难,可能会借助第三方产品例如elasticseach ,或者程序将数据读入缓存,在进行模糊匹配,这样的情况下,例如MYSQL 在这方面是没有话语权的,所以系统架构设计中,自然就不会考虑他成为解决问题的必选项,而是无关项甚至是障碍项。

而利用POSTGRESQL 中的某些功能,在数据库本身就可以进行大量的模糊数据处理,则如果在应用程序设计中,数据库就承担了程序架构设计中的需要承担的功能,那此时数据库就成为问题的解决者,成为应用系统的设计中的可选项,或者必选项,则此时DB可以发声和主导占比必然会提高

又如,目前微服务为前提的软件开发中,各个系统中的交互变得不在数据库内部进行,而是在程序和程序之间进行,程序和程序之间的数据交互的格式是什么,或大部分是什么,此间要求的数据的存储和处理的速度,等问题,MONGODB 就成为数据库能给的解决方案。

所以流行什么,并不意味着是最好的或者合适的,存在当然有存在的道理,但当发现更好的时候,能更多去选择和尝试,或许既能提高自己,也能改变当前DB在整体行业的话语权和重要度,找到自身在行业中的可以站到的位置。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档