基于分布式数据库的一体化档案管理研究.docx

基于分布式数据库的一体化档案管理研究.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 基于分布式数据库的一体化档案管理研究 ? ? 王晓东 常海军 王征 (河北省地质测绘院 河北省廊坊市 065000) 1 档案分类 档案分类是依据一定的标准,按照档案来源、时间、内容和形式特征的异同点,对档案进行有层次的区分,并组成一定的体系。档案种类的划分,一般采用以下几种形式: 一是按照档案形成者的性质,即档案的来源标准可分为国家机关档案、党派团体档案、企业单位档案等;二是根据档案的内容性质标准,有两种划分方法,一是分为普通档案和专门档案;另一种是直接分为文书档案、公安档案、诉讼档案等多种门类;三是根据档案的载体形式标准,可分为石刻档案、甲骨档案、胶片档案、磁带档案等,载体形式的不同,档案的整理、保管与利用的方式均有所不同;四是按照记录信息方式标准,分为文字档案、图形档案、声像档案、电子档案。 2 电子档案统一存储管理内容 本文的研究内容基于第四种分类方式,利用分布式数据库中的集群、分片、复制等技术实现数字化文字档案、图形档案、声像档案等多种类型的电子档案统一存储管理。电子档案统一存储管理涉及到的数据类型包括结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)、半结构化数据(它是结构化的数据,但是结构变化很大)和非结构化数据(包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等)。研究内容主要包括关系型数据库、NOSQL 数据库及缓存数据库的选型,ORM(Object Relational Mapping)框架选择、DDD(领域驱动设计)应用等多种技术和方法。 关系数据库MySQL、Postgre 均为具有较高知名度开源软件, MySQL 同Postgre 相比具有的优点是,较好的性能;在Windows 环境中的适宜性更好;使用了线程,在不同线程间的切换和对公共的存储区域的访问具有更佳的性能。Postgre 在对视图、触发器、存储过程、约束和子过程的支持上更加完善一些。 Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST API 来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是Apache 基金会的顶级开源项目。 MongoDB 同CouchDB 相比,具有如下特点: (1)数据模型设计减少了对连接的需求,并提供了模式的简单演进。 (2)高性能:它既不包含连接,也不包含提供快速访问的事务。 (3)高可用性:是由于合并了副本集,这些副本集能够在故障期间提供冗余,而且非常健壮。 (4)可伸缩性。MongoDB 的分片特性使它能够在分布式函数中快速高效地执行。 查询语言:MongoDB 有自己的查询语言,可以替代SQL 语言。实用函数map、reduce 可以替代复杂的聚合函数。综合分析,MongoDB 更适合项目研究。 EntityFramework 对非SQL Server 数据库且无该数据库的DataProvider;在进行一些复杂查询的情况下,EF 的性能表现不太好,开发人员又无法控制SQL 语句的生成;EF需要跟踪实体的变化的和大Collection 对象的处理;EF 的Context 上下文不是线程安全的,在整个Service 上使用一个Context 上下文存在问题。 NHibernate 内存开销较大,处理数据库的方式是针对单个对象的,不适用于批量修改、删除数据,且学习成本较高。Linq2db 同EntityFramework 和NHibernate 相 比,Linq2db不需要跟踪当前实体的所有信息,是性能较快的LINQ 的ORM,能在POCO 对象和数据库之间提供简单、轻便、快速且类型安全的层。从结构上讲,它使用LINQ 表达式而不是魔术字符串,在代码和数据库之间维持一个薄的抽象层。查询由C#编译器检查,并能够轻松重构。不像Entity Framework 那样有变更跟踪,必须自己管理。从积极的一面来说,开发人员可以获得更多控制权并在访问数据时获得更好的性能。也就是说,lin12db 提供了类型安全的SQL。 上述条件是选择lin12db 主要原因。 3 系统实现研究 MongoDB 文档数据库集群搭建: 3.1 Replica-set(复制集)部署 MongoDB Replica-set(复制集),如图1,是一组维护同样数据的mongod 实例,提供冗余和高可用性。版本4.4之前版本,MongoDB 偶尔宕机切换之后,客户能感受到业务访问延迟会有抖动,一段时间后才恢复到之前的水平,抖动原因是新选举出的主库之前从未提供过读服务,并不了解业务的访问特征,没有针对性的对数据做缓存,所以在突然提供服务后,读操作会出现大量的Cache Miss,需要从磁盘重新加载

您可能关注的文档

文档评论(0)

永兴文档 + 关注
实名认证
内容提供者

分享知识,共同成长!

1亿VIP精品文档

相关文档