当前位置: 传客网 > 关系数据库的根本问题分析及数据库革命之走向

关系数据库的根本问题分析及数据库革命之走向

2016-12-26 作者:云计算与大数据实验室

关系数据库长久以来在数据库市场占据了绝对的地位,而针对关系数据库将老去的评论也层出不穷。本文探讨了关系数据库最根本的问题,并讨论了数据库革命可能的走向。
关系数据库相信大家都不陌生,而有关关系数据库将落伍,数据库革命即将来临的预言,近日也传出不少了。一说起数据库,大多数情况下就等于在说关系型数据库(RDBMS),关系数据库都使用SQL查询语言作为访问数据库,有些简单的产品直接运行在桌面机上,但如果你在服务器上部署用于重要的业务计算的数据库,就必须要大型关系数据库,如果有钱的话可以购买成熟的Oracle,SQL Server,DB2等商业产品,如果没有预算或资金不足,可以使用开源的数据库,如MySQL和PostgreSQL。
关系数据库在多个表中存储数据,表与表之间使用外键进行关联。关系数据库一词源于在IBM工作的Edgar Codd在1970发表的一篇论文。基于这个数据库模型的产品很快就代替了许多层次型和其它技术种类的数据库。虽然它的性能还比不上替代品,但在数据布局,添加和访问方面却更加灵活。
得益于计算机处理速度越来越快(RDBMS也在许多方面得到了增强),后台进程的性能得到了显著提升,但关系数据库的缺点暴露得越来越多,对象数据库正欲取代关系数据库,但在相当长的一段内它们将会并存。随着真正大规模分布式计算基础设施的完善,即使RDBMS不会被新兴技术取代,但很多新兴技术都会作为其一个补充。
关系数据库的根本问题
RDBMS最根本的问题是它的处理架构和存储,所有事务都是绝对可靠的(ACID,原子性,一致性,隔离和耐用性,它是一套用来描述性能要求的术语),这对于金融系统是绝好的解决方案,提款时要立即返回银行存款余额,系统要防止同一时间偶然发生从同一余额提款多次。假设数据要保存很长一段时间,RDBMS及其关联的基础架构也要支持才行,在传统数据库角色背景下它的意义非凡,不仅是商务上想保存几年甚至更长时间,按照法律要求也要保存多年。
但我们在大型分布式系统中看到的是越来越多地使用替代方法,这些方法不要求严格的一致性或产生大量的不需要永久保存的中间结果,它们也可以使用复制提高性能和可用性。
数据库革命:SimpleDB?
亚马逊CTO在一篇文章中谈到,先容忍不一致以提高读写性能和高并发处理行为,然后采取一种方法实现最终一致性。
亚马逊的SimpleDB就实现了这种模式,它保持每个域的多个副本,当数据写入或更新(使用PutAttributes,DeleteAttributes,CreateDomain或DeleteDomain)时如果返回成功,则所有数据的副本都会被更新,但要将更新传播到所有存储位置是需要时间的,数据最终将会一致,但立即的读取操作可能看不到最新的修改。
数据库革命:Terracotta,Memcached
我们看到许多产品本质上是通过增加RDBMS的数量来减少它们需要存储的数据的容量,Terracotta是一款商业产品,它可以为Java应用提供分布式缓存,Terracotta说它们一般可以卸下40-60%的事务,性能自然提高了很多。
Memcached是一款类似的开源分布式内存缓存系统,它将数据(连同相关的结构)分布到多个系统,以减少访问数据存储,它广泛用于大型网站,如Twitter,YouTube和Wikimedia。
但这些技术不能象RDBMS取代传统层次数据库那样取代RDBMS,相反,它们会权衡那些在数据库中不是非必需的特性,如完全一致性。
目前许多应用比传统业务应用程序更多地使用异步和读密集技术,面需要跨多个系统实现高性能。要为组织实施这种应用,配对的RDBMS和各种各样的分布式数据存储,只有可伸缩的方法才是唯一出路,同时需要考虑一个价格平衡点才使业务发展具有重要意义。


相关推荐

  • 泰格商霸 连不上数据库 问题解决 数据库安装连接问题

    连不上数据库,数据连接不上问题总结家里开了个小超市不大,也有200来平米吧,不是很赚钱,不过生意还算不错,因为价钱的问题经常出现尴尬,又兼于生意太忙,所以想弄套收银设备,当然软件是少不了的,这不这几天天找软件,当然是PJ的喽,谁让咱穷呢,逛

  • ASP数据库连接设置问题的解决方法---转

    1 设置问题  制作动态网页时,通常,需要与数据库建立连接。是:  第一步,在“ODBC数据源管理器”对话框“系统DSN(DataSourceName)”选项卡的“系统数据源”列表框中,添加新的“系统数据源(DSN)”。  第二步,为站点建

  • MSDE2000数据库安装常见问题及解决办法?

    1、安装用友MSDE2000数据库时卡在几秒那不动了?http://www.cwrjxz.com/zixun/9.html2、安装用友MSDE2000数据库时提示“指定的实例名称无效”?http://www.cwrjxz.com/zixun

  • 新浪服务器与数据库连接后的问题

    上篇已经写到了ssh项目中Hibernate与新浪云自身的数据的连接方法。但是在使用的时候,就发现的若干问题,在这里分享一下:首先,就是,对于自己写的项目在本地运行,一点问题都没有,但是部署到新浪的服务器上,却是各种bug。实在让人抓狂。e

  • 解决页面数据(和修改数据)传到数据库中文乱码问题

    **修改数据时(我就是这个错!!找了好久(▼-▼)!!)​检查页面中的提交方式是否为get,如果是get改为post!get和post区别:​1)get是从服务器上获取数据,post是向服务器

  • 如何解决php写入mysql数据库中文乱码问题

    一、PHP获取数据乱码问题1、mysql_query("SETNAMES'utf8'")2、mysql_query("SETCHARACTER_SET_CLIENT=utf8")3、mysql_query("SETCHARACTER_SET

  • mysql数据库中文乱码问题

    mysql>showvariableslike"%char%";查看数据库是什么字符集然后mysql>setnameslatin1;

  • jfinal 和Druid 采用postgresql数据库,解决schema问题

    jdbc的url中带currentSchema,网上有篇博文是错误的。jdbc:postgresql://127.0.0.1:5432/database?currentSchema=jfinal

  • 在安装配置oracle数据库时遇到的问题

    1、System.Data.OracleClient需要Oracle客户端软件version8.1.7或更高版本。解决:http://www.cnblogs.com/TerryFeng/archive/2009/02/23/1396625.

  • 数据库并发问题[Z]

    一、问题提出设某银行存款帐户数据如下表:现在要求编写一程序,完成两项功能:存款与取款。每次操作完成后向明细表中插入一行记录并更新帐户余额。 二、问题似乎很简单解决办法:①读取最后一行记录的帐户余额数据②根据存、取款金额计算出新的帐户余额③将

  • ASP数据库连接的问题 数据写不进数据库中

    这几天学校有任务,所以昨天才开始好好的学习。数据库连接的时候总是不成功,数据写不进库中,上网查了很多资料,自己也做了无数实验,总结一下:1、是数据库文件的权限问题:必须有写的权限网上好多人都写好了方法,我就不详细说了。关键就是将查看文件夹选

  • sql2000 数据库挂 起问题解决方法

    SQLSERVER2000数据库挂起和服务管理器不能启动在工作过程当中,经常接触到SQLSERVER2000数据库,当然也会碰到很多的问题了,今天把部分的问题汇总一下,就算是总结吧!以下就是问题和解决的方案,和朋友一起分享!1.SQLSer

  • Access数据库过大问题的几种解决方案

    Access数据库过大问题的几种解决方案:问题:1、我的Access数据库里面没存多少数据,为什么体积很大,别人和我存一样的数据为什么只有我的文件体积的1/10。2、为什么我删除了数据,但是数据库体积没有减小?3、为什么我存了几张图片到ol

  • mysql 4,mysql 4.1,mysql 数据库中文问题

    mysql4,mysql4.1,mysql数据库中文问题MySQL4的数据库,如果要迁移到MYSQL4.1去,是会有中文编码问题的,有关的文章介绍太多了,GOOGLE一下就很多,关键是mysql4.1开始支持多编码了。今天尝试一下迁移和插入

  • 10大最常见的数据库安全问题

    10大最常见的数据库安全问题数据库作为非常重要的存储工具,里面往往会存放着大量有价值或敏感信息,这些信息包括金融财政、知识产权、企业数据等方方面面的内容。因此,数据库往往会成为黑客们的主要攻击对象。网络黑客们会利用各种途径来获取他们想要的信

  • 金蝶KIS专业版数据库问题

    金蝶KIS专业版一定要安装SQLserver数据库管理系统吗?数据库和金蝶软件哪个先装?KIS专业版是基于SQLServer数据库的管理软件,安装KIS专业版前必须安装数据库支持软件,如MSDE或SQLServer,两者只能选择其一,不能同

  • Sql Server 数据库超时问题的解决方法

    SqlServer数据库超时问题的解决方法1.由于数据库设计问题造成SQL数据库新增数据时超时症状:MicrosoftOLEDBProviderforSQLServer错误'80040e31'([ODBCSQLServerDriver]超时

  • mysql数据库数据录入,导出中文乱码问题解决

    mysql数据库数据录入,导出中文乱码问题解决要使得mysql数据库中和导出显示数据为中文1、mysql的配置,在安装好mysql后,配置时将字符编码改为UTF-8,即选中第二项。对具体的数据库中的每一个表的编码改为UTF-82、Apach

  • 关于ASP数据库无法连接的问题

    做了一个ASP程序。在台式机上运行都可以。但是到笔记本上就无法运行。出现了无法连接数据库的错误。也有时出现:无权查看该网页。我就意识到可能是我电脑数据库连接的问题。当时很傻。竟然选择了吧系统重装。不想重装现在这个系统。选择了之前买笔记本送的

  • 将64bit的ORACLE9.2.0.8数据库安装在AIX 32bit的内核下会不会有问题?

    将64bit的ORACLE9.2.0.8数据库安装在AIX32bit的内核下会不会有问题?将64bit的ORACLE9.2.0.8数据库安装在AIX32bit的内核下会不会有问题?我们企业最近打算在一台IBMP660上跑oracle9.2.

返回
顶部