`
exedo
  • 浏览: 25203 次
  • 性别: 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
分享到:
评论

相关推荐

    云时代MySQL数据库的转型实践.pptx

    随着信息技术的快速发展,企业正逐步从传统的Oracle数据库转向云时代的MySQL数据库。这种转型的驱动力主要来自以下几个方面: 1. **技术生态成熟**:MySQL在市场上的覆盖率高,拥有丰富的相关人才储备,使得企业在...

    云时代,数据库容灾解决方案.zip

    在云时代,数据库容灾解决方案已经成为企业数据保护和业务连续性的重要组成部分。随着信息技术的快速发展,数据量持续增长,企业对数据的安全性和可用性提出了更高的要求。本文将深入探讨云环境下的数据库容灾策略、...

    数据库系统概论--中国人民大学信息学院

    数据库系统是信息技术中的核心组成部分,尤其在大数据时代,其重要性更是不言而喻。中国人民大学信息学院的“数据库系统概论”课程,为初学者提供了深入理解和掌握数据库理论与实践的宝贵资源。本课程涵盖了数据库的...

    2016-2020年数据库系统工程师历年真题.zip

    数据库系统工程师是信息技术领域中的一个重要角色,他们负责设计、实施、维护和优化数据库,确保数据的安全性和可用性。本资料合集"2016-2020年数据库系统工程师历年真题.zip"提供了过去五年该专业资格认证考试的...

    2019杭州云栖大会-云时代数据库容灾解决方案

    2019杭州云栖大会是一场聚焦云计算领域,尤其是云时代数据库容灾解决方案的高级技术盛会。在这次会议中,阿里云智能的资深技术专家关羽作为主讲人,深入探讨了在云时代背景下,灾备建设的重要性以及面临的机遇。 灾...

    云时代的数据库 - Oracle 的技术演进之路和19c新特性揭秘.pdf

    Oracle数据库作为业界领先的关系型数据库管理系统,一直在技术演进的道路上不断创新,以适应云时代的需求。随着云计算的崛起,Oracle开始全面转向云服务,推出了一系列的新特性以满足企业对数据管理的高性能、高可用...

    为开发者量身定做数据库云平台

    云时代催生了敏捷、高效的服务导向型应用开发模式,其中数据库作为服务(DBaaS)成为关键组件。这改变了传统的应用服务器、操作系统、硬件资源和数据库之间的关系,促使了SaaS(软件即服务)、PaaS(平台即服务)和...

    数据库系统.zip

    15. **大数据与数据库**: 随着大数据时代的到来,数据库系统需要处理PB级甚至EB级的数据,Hadoop、Spark等工具与传统数据库相结合,处理大规模数据分析。 这个"数据库系统"的压缩包可能包含上述部分或所有知识点的...

    云数据库十大经典案例

    云数据库作为互联网时代的核心技术之一,广泛应用于各类企业信息系统中,提供海量数据存储、高并发处理和弹性扩展等关键能力。在本文中,将通过阿里巴巴ApsaraDB专家服务组玄惭的十大云数据库经典案例,深入探讨云...

    数据库系统概论pdf

    此外,数据库系统概论还会涉及分布式数据库、云数据库以及大数据处理等相关主题。随着技术的发展,数据库系统不断进化,以适应大数据时代的需求,如NoSQL数据库、数据仓库和数据湖等新兴概念。 总之,《数据库系统...

    sitanfu数据库系统实现教材

    数据库是信息时代的核心,它管理、存储和检索数据,为各种应用提供支持。这本教材深入探讨了数据库系统的内部运作,旨在帮助读者理解如何设计、构建和优化数据库系统。 数据库系统实现涉及多个关键领域: 1. **...

    数据库系统概念第六版英文答案.zip

    数据库系统是信息技术领域中的核心组成部分,它负责存储、管理和检索数据,为各种应用程序提供支持。《数据库系统概念》是数据库领域的经典教材,尤其以其“帆船书”之称广为人知,因其封面通常描绘一艘航行在数据...

    数据库系统实现 中文 电子版

    现代云环境下的数据库服务,如Amazon DynamoDB、Google Cloud Spanner等,也会涉及分布式数据库的一些高级特性。 最后,随着大数据时代的到来,大数据处理技术如Hadoop、Spark等,以及NoSQL数据库的兴起,对传统的...

    数据库系统基础 第五版

    数据库系统是信息时代的核心组成部分,它们负责存储、管理和检索大量数据。本书首先介绍了关系模型的基础,包括关系代数、SQL语言以及数据完整性约束。关系代数是理论基础,帮助读者理解数据库操作的本质;SQL则是...

    数据库参考开发手册,各种数据库,数据库大全

    数据库是信息技术领域中不可或缺的一部分,它负责存储、管理和检索数据,是支撑现代信息系统运行的核心组件。本手册聚焦于“各种数据库”和“数据库大全”,旨在为开发者提供全面的数据库知识和开发指南。以下是对...

    德哥 _ 阿里云 - 阿里云数据库 PG、PPAS、HDB for PG 云生态、产品指南、企业全栈应用案例、开发管理实践

    - **测绘与地理信息系统**:利用PostgreSQL的空间数据扩展功能,如`PostGIS`,实现地图绘制、路径规划等功能。 - **自动驾驶**:结合精确的地理坐标信息,实现车辆定位、路线规划等关键任务。 ##### 3. 图式搜索、...

    2015-2018数据库系统工程师真题PDF

    数据库系统工程师是信息技术领域中的一个重要角色,特别是在大数据和云计算时代,对数据管理和分析的需求日益增长。这个职位涉及的技能和知识广泛,包括数据库设计、管理、优化、安全以及相关软考认证。以下是对2015...

    阿里云数据库容灾解决方案.zip

    而在云时代,这些痛点得到了缓解。云灾备提供了一种更经济、灵活的解决方案,通过云服务提供商如阿里云,企业可以快速搭建容灾系统,无需大规模投入硬件,且可按需调整资源。 阿里巴巴数据库从灾备到多活的发展历程...

    第三版.zip(数据库系统原理与设计第三版课后答案 )

    数据库系统是信息时代的核心组成部分,它负责存储、管理和检索数据。本教材的核心知识点包括: 1. 数据库系统基础:介绍数据库的基本概念,如数据、数据库、数据库管理系统(DBMS)、数据模型(如关系模型)等,...

    管理信息系统\管理信息系统(第5版)薛华成.rar )

    《管理信息系统》是信息技术与管理科学相结合的一门综合性学科,主要研究...通过这些资源,无论你是学生还是从业人员,都可以系统地学习和掌握管理信息系统的精髓,为在信息化时代的企业管理中发挥关键作用做好准备。

Global site tag (gtag.js) - Google Analytics