技术开发 频道

政府行业数据库选型五大注意事项参考

  【IT168 专稿】政府作为一种特殊的企业,在信息化产品选型上有其独有的特点,数据库的选择也不例外。在这篇文章中,笔者以自己的项目经验为例,谈谈在政府单位中,如何为信息化系统选择一款合适的数据库,笔者总结了一下,需要注意如下五个方面的内容。

  一、根据前端系统的应用范围来选择数据库系统

  众所周知,政府单位是一个非常庞杂的系统。任何一个部门,如民政局,其组织架构就好像是一个集团公司。民政局不但要接受上一级民政局的领导,还同时要配合同一级民政局的工作。最后可能还需要到下一级民政局进行指导等等。在这种大背景下,企业选择的应用系统也可能有两种方式。一种是单个民政局使用,不同的民政局之间没有协作关系。另外一种形式是“集团式应用”。即上一级民政局统一部署,下一级民政局可以直接通过互联网来进行访问。

  针对这两种不同应用形式,在数据库的选择上也有所差异。如果是集团式的应用,那么坦率的说,并不适合采用小型数据库。因为到目前为止,小型数据库的分布式应用能力还是比较差的。只有在单个民政局之内使用的系统,采用小型数据库才是比较合理的。所以,政府单位在选择数据库时,首选需要判断自己是否适合采用小型数据库。而判断子合格的标准,就是单位预计要采用的信息化系统的布局模式。如果是集团式的布局,那么不适合采用小型数据库。反之,如果采用的是单部门的部署方式,则小型数据库是价廉物美的一种选择。

  二、安全要能够与大型数据库相媲美

  作为任何一个政府部门而言,其很多消息都是机密的。虽然对于普通大众来说,某些信息不应该保密。但是政府单位中的很多敏感信息,都要求有很高的保密级别。所以虽然他们选择了小型的数据库系统,但是在安全性上他们的要求往往不低。

  在这种情况下,在小型数据库选择时,对数据库的安全就需要有特殊的考虑。如需要考虑数据库是否有一个非常灵活且安全的权限和口令系统。最好这个口令系统是基于主机的认证。这种认证机制在安全性上更加有保障。当与服务器进行身份验证时,所有的口令都需要被加密后才能够传输。虽然说口令系统并不是数据库安全的全部,但是却是一个最最基础的、也是最最有效的一个安全措施。为此在考虑数据库安全时,这个口令系统是必须要关注的内容。

  三、与前端应用程序的兼容性

  对于信息化应用来说,数据库系统是一个配角,但又是一个主角。这主要是因为对于最终用户来说,其面对的是前台的客户端。数据库对于终端用户来说,是透明的。从这个角度来看,数据库就是一个配角。但是任何一个稍微复杂一点的信息化系统,一般都少不了数据库的存在。为此数据库是一个信息化系统的重要组成部分。从这个角度来看,数据库又是一个主角。

  跟需要根据剧情来选择演员一样,也需要根据信息化系统的类型来选择所需要采用的小型数据库。一般情况下,信息化系统在设计时,都会规定其可以采用的后台数据库的类型。也就是说,与数据库的接口其都是事先开发好的。为此在选择数据库系统时,用户首先需要判断的是,这个信息化系统其可以支持的数据库系统有哪些。然后再根据这个结果,去选择可以采用的小型数据库。简单的说,前端的信息化系统的数据库接口已经给政府单位可以使用的数据库做了一些限制。政府单位只能够在这些规定的范围之内进行选择。

  谈到这里,也许有人会问,那我可以先选择数据库,再来选择应用系统。其实这是一个先有鸡还是先有蛋的问题。不同的人可能都此有不同的答案。而且也没有人能够给出一个标准答案。笔者的建议是,最好是先选择信息化系统,再选择数据库。这就好像是要现有剧本,再来选演员一样。如果要根据演员来写剧情,则有点本末倒置的感觉。当然这只是笔者的个人意见,大家如果有不同的建议,可以提。

  四、并发访问数与性能的关系

  通常情况下,并发访问数越多,数据库的性能会越低。在政府单位中,人员比较多,分工比较细。这也就是说,用户的并发访问数会比较多。在这种情况下,选择数据库系统时,并发访问数也是一个比较关键的内容。简单的说,就是需要考虑数据库的性能,能否支持这么多的并非访问数。具体的来说,可能需要考虑如下一些内容。

  一是需要考虑多线程与多CPU的能力。如使用的核心线程是否具有完全的多线程能力。如果具有的话,就意味着这个小型数据库可以很容易的利用多CPU来提高数据库的性能。当然前提是数据库服务器安装有多个CPU。

  二是SQL语句的优化。众所周知数据库的功能都是依靠一条条SQL语句来实现的。在选择小型数据库时,还需要关注其数据库在设计时,对SQL语句是否进行了优化。优化与没优化在数据量少、并发用户数少的情况下,区别不但。但是一旦这两个数字达到一定程度时,就会有本质的差异。为此选择小型数据库时,要考虑SQL语句的优化事项。如需要判断,数据库是否可以通过一个高度优化的类库赖实现SQL函数库,并且可以达到像SQL函数那样的速度。其中一个重要的判断标准是,只要查询初始化了之后,就不应该再有任何的内存分配。

  三是内存的管理机制。在考虑小型数据库的性能时,其内存的管理方法也是比较关键的。如需要判断,是否有内存漏洞。如果有条件的政府单位,可以使用Purify等工具来检验数据库系统是否有内存漏洞。另外还需要判断,是否具有一个快速的基于线程的内存分配机制。

  五、其他一些杂项功能

  政府单位作为一个特殊的部门,在小型数据库选择时除了要考虑如上因素之外,还需要关注一个额外的细节问题。笔者简单的列举了以下几点,仅供参考。

  一是需要考虑运行的平台。即考虑需要将数据库系统运行在Windows平台上还是Linux等开源平台上。作为政府部门,决定使用哪个操作系统平台,一般不会从资金成本的角度出发。毕竟大部分政府部门都是财大气粗的。他们主要关注的还是上级的要求或者说系统的稳定性上考虑。如果决定使用的是Linux等相对安全性比较高的操作平台,那么在选择小型数据库时就需要关注其所支持的平台。

  二是需要考虑所能够支持的语言环境。现在能够支持多语言的小型数据库并不是很多。大部分小型数据库只支持英语这个单语种。在政府单位中,如果让用户来维护数据库系统,则可能希望是中文语言环境的。为此在数据库选择时,也需要考虑,其能够支持的语言环境。为了提高灵活性,最好能够选择多语言环境数据库系统。

2
相关文章