浅析数据库滥用的现状

运维 数据库运维
数据库滥用现象有两个层面的意思,一个是在不该使用数据库的需求中使用数据库,另一个是在数据库的使用上有很大的随意性和惯性。

数据库最严重的问题是数据库的滥用和数据的无规划,本文只提出数据库的滥用问题,希望起到抛砖引玉的作用,引起大家重视。

数据库滥用现象有两个层面的意思,一个是在不该使用数据库的需求中使用数据库,另一个是在数据库的使用上有很大的随意性和惯性。

数据库滥用的根源在于国内除了极少数行业,很少有真正的DB参与项目,在国内的项目,大多都是以完成功能为首要任务(能做好功能已经很优秀了),对数据规划的漠视甚至无视越来越严重,造成的后果在信息化初期是没有体现的,但经过了10多年的高速发展(伴随互联网和网络的发展,从2000年左右开始,信息化经历了一个高速膨胀的发展阶段),恶果必定会逐渐体现出来。

现在计算机的任务说到根上就是计算和信息处理。计算是专指计算机完成大规模的数学计算任务,与本文关系不大。信息处理指包含数据、文本、多媒体等各种类型数据的创建、保存、流转、共享、维护。互联网网站的主要功能是信息共享,财务系统除了计算之外,也是数据的共享和流转,大到互联网、ERP,小到日记本,数据都是所有软件的核心,而数据存储应该是核心的核心,其重要程度犹如大厦的基石,而对数据库的滥用,很大程度上影响了这个基石的牢固。

项目的开始应该对系统涉及到的数据进行详细规划,由数据量和数据类型、数据需求确定如何对数据进行存储,然后再对数据库进行技术选型。数据库的不同对软件的实施成本影响极大,使用Oracle和mySql,甚至Access或文本系统是完全不同的,国内盗版的横行和版权意识的缺失,更助长了滥用的风气。

另一个方面,架构师或者DB应该对各种持久化技术有所了解。现在很多公司的技术模式是习惯影响设计,而不是需求影响设计,用惯了Oracle就不会再用sqlServer, 更别说mySql了,一个简单的存储,或者一个小规模系统也要上Oracle,这种现象还是很普遍的,甚至很多小系统根本不需要数据库的支撑却使用企业级数据库,有些技术人员脱离了数据库就不知道软件怎么做,增删改查+UI控件就是一个技术人员的全部技能,这种人不在少数,这里并不是批评程序员,是整个行业的浮躁和氛围影响了每个人。本人也仅仅是意识到这个问题,并从自身在改善这种现状。

精力所限,先简单写这么多。

注:相信有技术优秀的公司已经做的不错了,但是在国内这种公司一定是凤毛麟角。

【争论】

关于数据库做多少事适合的问题是个争论很久的话题,让数据库处理业务逻辑是最高效的,缺点是维护和移植困难。像oracle这样的数据库的确提供了非常强大的功能,数据存储只是其最最基础的功能,但我觉得对于常规应用,除非很必要,尽可能的还是要让数据库少做事,从设计到实现,现在用的面向对象语言的可塑性远比数据库语言要好很多。

原文链接:http://www.cnblogs.com/mexi/archive/2011/07/03/2096724.html

【编辑推荐】

  1. SQL Server复灾 你懂了吗?
  2. SQL Server管理 这些你懂吗?
  3. 客户的一次疏忽,DBA的一次噩梦
  4. 单数据库vs多数据库,单实例vs多实例 效率测试
  5. 关于Update在不同数据库的使用
责任编辑:艾婧 来源: 二度空间
相关推荐

2023-08-16 15:13:36

2010-10-08 09:38:55

Android数据库事

2010-04-09 15:35:28

Oracle数据库

2009-09-18 14:25:36

LINQ to SQL

2009-03-16 13:30:55

脚本数据字典Oracle

2017-09-14 10:10:55

数据库MySQL架构

2010-04-26 10:52:46

Oracle 数据库

2010-06-07 13:30:15

2016-08-23 14:25:19

MySQL约束数据库

2010-04-09 14:37:08

Oracle数据库

2009-01-18 15:36:04

2022-05-30 09:43:06

数据库字节跳动数据规模

2009-07-02 15:09:05

数据库自动存储管理ASM

2009-07-16 11:11:39

PowerDesign

2009-07-31 09:57:47

ASP.NET数据库缓

2009-03-30 14:52:43

复制数据库Oracle

2009-07-28 17:36:21

ASP.NET数据库连

2010-04-19 13:31:42

Oracle索引

2009-03-23 09:05:01

2010-04-08 17:31:51

Unix操作系统
点赞
收藏

51CTO技术栈公众号