`
exedo
  • 浏览: 24960 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

云时代信息系统的数据库

阅读更多
    数据库是信息系统的核心,一般数据(信息)无论经过怎样过程的逻辑计算最终都要持久化到数据库中。 基于“云计算”的背景,我们可以把信息系统的数据库简单得分为传统关系数据库,云数据库(DBaaS)和NoSql数据库。

    传统应用的数据库大多数会选用oracle等商用关系型数据库,还有一部分会选择mysql等开源数据库。商用数据库经过多年发展,非常稳定可靠,但也有一些缺点如Licence价格昂贵、维护成本高、人员要求高,而且在高并发、海量数据的情况下,需要很多开发技巧。

     最成功的SAAS厂商Salesforge提供了database.com 云数据库, 号称超过87200个组织包括银行、政府机构、医疗机构在使用它。微软也提供了sql  azure,并提供了与传统的 sql server相一致的开发工具。database.com 和  sql zure 都是关系数据库,提供了事务的支持, 并且 database.com 、sql azure等数据库还提供了按需购买,自动维护,自动容灾存储,水平扩展,海量存储等高扩展及高可用的能力(至少他们是这么宣传的)。还有一种基于虚拟机的DBaaS产品如amazon的amazon rds,是基于mysql进行改造,我认为并不是云数据库的发展方向。Ddatabase.com 以及sql azure正式发布的时间都不长,都没有进入中国, 而且由于国内用户对数据安全的担心,用户培养也需要很长时间,中国的云数据库之路还有很长一段路要走。

    还有一类NoSql 数据库,不提供关系模型,不提供实时一致性,但是提供了高可用性及高扩展性,最著名的是google的bigtable 以及 amazon的dynamo,开源的实现也很多如mongodb,hbase等。NoSql数据库出身于大型互联网公司,也决定了更适合大型互联网应用。NoSql数据库在信息系统高数据一致性要求下,并不适合,但是可以作为企业应用的一个很好的补充,并不是所有的数据都有高一致性要求。

     云时代信息系统采用的数据库可以是云数据库,也可以是NoSql数据库,也可以是传统关系型数据库。例如,可以在amazon提供的EC2上运行oracle、mysql,也可以使用S3、SimpleDB等NoSql服务,在EC2上开发可以充分利用关系数据库以及NoSql数据库的特性。 一些非关键信息系统完全可以采用廉价的NoSql数据库。如google 的 GAE 提供了多达1G的免费空间。

     企业的钱远没有个人的钱好赚,国内“云计算”的境况还是雷声大雨点小,但是现在很多针对个人的应用已经放到云上了,如网易围绕邮箱做的很多个人应用,很多人正在享用wps云存储带来的便利,智能手机(iOS,android)商店中的联网应用,但个人云计算带来的便利必然会让企业云计算进入快速发展阶段。对大多数企业来讲,SAAS是他们看到的云计算形态。大规模的SAAS应用需要PAAS和IAAS的支撑,并且对PAAS和IAAS提出了更高的要求。 现在一些SAAS的提供商提供的只不过是高级虚拟主机的应用,例如后台使用mysql集群,甚至为高级用户单独配置独立的mysql服务器,SAAS 的外表下还是传统的解决方案,这种数据存储方式和传统的数据库没有本质的差异,只不过是社会分工更加细化,SAAS运行商可以更专业的进行集中维护;然而这种方式维护成本非常高,并且不能解决海量数据以及高并发等带来的问题。

      CAP理论,即一致性(Consistency),可用性(Availability),分区容忍性(Partition Tolerance)三个需求,最多只能同时满足两个;这是被证明了的理论,而不是软件工程领域的经验总结,所以我们的设计不是要发明“永动机”要超越CAP理论,而是在设计中根据业务实际情况在一致性、可用性、分区容忍性上做取舍。我们知道,在高并发(高并发读、低并发写)情况下,信息系统的数据库一般采用读写分离的手段,例如一个可读写的主机,带两个只读的从机,主机上写数据、从机上读数据情况下我们无法做到实时一致性,要求实时一致性的数据只能在主机上完成全部的读写。即使在同一台机器上,实现实时一致性的代价也非常高,如在大多数场景下,我们选择的隔离级别为读提交(read commited),会导致不可重复读(nonrepeatable read)和幻像读(phantom read);在 未提交读(read uncommitted)级别下可以产生脏读(dirty read);只有序列化(serializable)级别才可以实现真正的实时一致性,但是序列化级别的效率太差,我们一般会采用其它的锁定策略来实现业务逻辑要求的一致性。所以,信息系统对一致性的虽然比互联网应用要高,但是在大多数场景下并不是要求实时一致性,在海量数据和高并发的情况下和互联网应用一致,对可用性和分区容忍性要求更高。

     信息系统一般对查询和统计要求比较多,而NoSql数据库一般不支持sql语句,不提供join连接,不支持复杂查询,所以只能做单表应用或对查询要求不高的应用,如系统日志等。而云数据库可以完全可以满足信息系统的各种需求,首先云数据库是关系型数据库,提供了完整的关系数据库功能,微软的 sql zure 甚至提供了与本地数据库相同的开发体验;其次,在海量数据和高并发下提供了水平扩展的能力、降低了系统开发的难度;再次,由于高并发对很多企业来说有一定的时效性,这样就可以根据高并发的时间来购买相应的服务,降低了拥有成本。

     云时代的数据库是分布式的、基于云的、少维护的、高度可伸缩的。云时代的信息系统是基于云数据库、在线开发的、开发即运行的。salesforce的force平台具备“云时代的信息系统”的特征,见 http://www.salesforce.com/platform/;  也有开源的项目“云鹤平台”,可能是实现的更好, 见  http://code.google.com/p/eeplat/ 。
0
3
分享到:
评论

相关推荐

    Access数据库课件(1)数据库系统知识入门.pdf

    能够理解管理信息系统(MIS)的开发方法和 过程,对简单的信息系统理解其需求分析、概念 设计、逻辑设计、物理设计的设计过程。 1.1 信息与数据处理 信息 信息与能源、物质并列为人类社会活动的三大要 素,我们所在...

    数据库系统教学设计.docx

    教学目标 新课标指出,高中信息技术的学习要经历解决实际生活问题的过程,从教材和学生两方面分析来看,制定如下三维教学目标: 知识与技能 理解数据库、数据库管理系统、数据库应用系统、数据库系统等几个概念之间...

    云时代的应急救援装备管理系统

    运用互联网、云计算、移动通信等技术,通过构建以二维码为设备信息载体,以移动终端和数据库服务器为硬件设备的应急救援装备管理系统;研究结果表明本系统提高了设备状态实时监测,及时反馈设备维修保养提示,使得设备...

    云计算与数据库.docx

    云计算与数据库关系紧密,因为任何信息系统都需要对数据进行计逻辑计算,并将数据存入数据库中。 1 传统关系型数据库 1970年,Edgar Frank Codd首次提出了数据库的关系模型,随后又陆续发表多篇文章,论述了范式...

    利用信息化技术建立统计元数据库系统的研究.docx

    利用信息化技术建立统计元数据库系统的研究.docx

    浅析优化数据库系统对档案信息化建设的必要性.docx

    浅析优化数据库系统对档案信息化建设的必要性.docx

    阿里云新一代关系型数据库PolarDB剖析

    本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的...CPU、操作系统、数据库这三大核心领域,基本上就是IT时代的缩影,同时也是一切信息化处理、计算力和智能化的基石。从

    2021阿里云开发者大会演讲PPT汇总.zip

    从云上开发角度 思考个人信息保护 安全开发最佳实践 云上容器一体化 云原生网络安全开发应用 基于阿里云可信云产品的高等级安全环境研发 大数据与AI一体化开发平台论坛: 实时计算 Flink 版 和 Hologres 全域实时...

    巅云自助建站系统免费版 v3.0

    1、系统检测,系统采用PHP+MYSQL,要求PHP5.3以上版本,mysql5.0以上版本,支持unserialize 函数 serialize 函数,iconv 函数2、填写mysql数据库信息。3、填写网站配置4、安装完成 二、软件开发背景: 互联网时代,...

    sdcms时代网站信息管理系统 v2.2 企业版.rar

    sdcms时代网站信息管理系统简介 SDCMS企业版主要包含:文章、单图、商品、招聘、下载、单页、外链、定时发布、手机版、自定义字段、自定义表单等模块,系统内置评论,留言,心情,搜索,标签,7年企业网站建设经验...

    文档-个性化音乐推荐系统.docx

    系统数据库使用了关系型数据库MySQL和大数据数据库。前端收集过用户行为数据后传到后端使用基于用户的协同过滤算法来推荐出用户可能喜欢的音乐。设计主要完成了从网易云音乐门户网站上爬取数据(音乐信息,歌手信息...

    YDT 3942-2021 政务云基础设施服务平台技术要求.pdf

    5. 互操作性要求:政府云基础设施服务平台应能够与不同制造商和供应商的设备和系统实现互操作,确保政府信息系统的互通性。 政务云基础设施服务平台的技术架构 1. 基础设施层:包括服务器、存储设备、网络设备等...

    蓝天采集器【数据采集云端爬虫可一键部署】2019最新版

    是大数据、云时代网站数据自动化采集发布的最佳云端爬虫软件。 关于软件: SkyCaiji(蓝天数据采集发布系统),致力于网站数据自动化采集发布,使数据采集便捷化、智能化、云端化。系统可部署在云端服务器,实现移动...

    大数据时代煤炭资源勘探中信息化工作的几点思考

    人类社会已经进入大数据时代,煤炭资源勘探也正在由以往的粗放型向勘查精细化、综合化、绿色化、信息多维化转变,由此提出以下观点:(1)信息化应该覆盖煤炭资源勘探的从始到终的全过程;(2)云平台建设将成为煤炭地质勘查...

    电子商务课程设计 教务管理系统

    在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展,管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和使用的系统,必然能代替过去大量、繁杂的手工...

    免费宇博客户关系管理系统crm

    宇博CRM--移动云时代CRM领导品牌!没有任何软硬件的投入和选型风险,您和您的团队可以立即开始体验全新的办公协作和客户关系管理服务。随着您业务需求的发展,我们也有相应的产品和服务来供您选择。试试宇博CRM吧;...

    大数据的存储管理技术.doc

    【关键词】大数据 分布式文件系统 分布式数据库 NoSQL数据库 云数据库 1 大数据面临的存储管理问题 1.1 存储规模大 大数据的一个显著特征就是数据量大,起始计算量单位至少是PB,甚至会采用 更大的单位EB或ZB,导致...

    从程序员到CTO大牛企业内部PDF与PPT合集.zip

    云时代的数据库演变之路 阿里万亿级数据洪峰下的消息引擎 小米生态云应用引擎实践 去哪儿网基于Mesos Docker的Elasticsearch容器化私有云 滴滴统一资源调度平台建设实践 亚马逊云平台计算服务进化之路 京东云为企业...

Global site tag (gtag.js) - Google Analytics