什么是分布式数据库系统系统?

分布式 _百度百科
特色百科用户权威合作手机百科
收藏 查看&分布式
什么是分布式计算?所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式是将数据分散的存储于多台独立的机器设备上。采用可扩展的,利用多台分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了、可用性和扩展性。类&&&&别计算机全&&&&称分布式计算
最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者 的计算机的闲置计算能力,通过,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。分布式测控系统所包含的分布式测控子站,包含分布式DC系列I/O子站,DM系列测量子站,各种类型的透明传输转换模块等,具体型号选择如下所示:分布式计算的方法
分布式计算是利用互联网上的计算机的 CPU 的闲置处理能力来解决大型计算问分布式产品选型题的一种计算科学。下面,我们看看它是怎么工作的:
首先, 要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨的、极富性的、人类急待解决的科研课题。其中较为著名的是:
1.解决较为复杂的数学问题,例如:GIMPS(寻找最大的)。
2.研究寻找最为安全的,例如:RC-72(密码破解)。
3.生物病理研究,例如:(研究蛋白质折叠,误解,聚合及由此引起的相关)。
4.各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。
5.信号处理,例如:SETI@Home(在家寻找地外文明)。
从这些实际的例子可以看出,这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些问题都应该由来解决。但是, 的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生——分布式计算!
分布式计算与互联网的普及
随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下CPU的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现, 使得连接调用所有这些拥有限制计算资源的成为了现实。
分布式计算项目
那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用和。负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行,最后将这些计算结果综合起来得到最终的结果。
当然,这看起来也似乎很原始、很困难,但是随着参与者和参与计算的计算机的数量的不断增加, 计算计划变得非常迅速,而且被实践证明是的确可行的。目前一些较大的分布式计算项目的处理能力已经可以达到甚而超过目前世界上速度最快的。
您也可以选择参加某些项目以捐赠的 Cpu 内核处理时间,您将发现您所提供的 CPU 内核处理时间将出现在项目的贡献统计中。您可以和其他的参与者竞争贡献时间的排名,您也可以加入一个已经存在的计算团体或者自己组建一个计算小组。这种方法很利于调动参与者的热情。[1] 随着民间的组队逐渐增多, 许多大型组织(例如公司、学校和各种各样的网站)也开始了组建自己的战队。同时,也形成了大量的以和项目讨论为主题的社区,这些社区多数是翻译制作分布式计算项目的使用教程及发布相关技术性文章,并提供必要的技术支持。
那么谁可能加入到这些项目中来呢? 当然是任何人都可以! 如果您已经加入了某个项目,而且曾经考虑加入计算小组, 您将在及论坛里找到您的家。任何人都能加入任何由我站的组建的分布式计算小组。希望您在分布式总站及论坛里发现乐趣。
参与分布式计算——一种能充分发挥您的个人电脑的利用价值的最有意义的选择——只需要下载有关程序,然后这个程序会以最低的优先度在计算机上运行,这对平时正常使用计算机几乎没有影响。如果你想利用计算机的空余时间做点有益的事情,还犹豫什么?马上行动起来吧,你的微不足道的付出或许就能使你在人类科学的发展史上留下不小的一笔呢!(科学技术信息研究所对分布式计算的定义)
分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享,
2、通过分布式计算可以在多台计算机上平衡计算负载,
3、可以把程序放在最适合运行它的计算机上,
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
实际上,就是分布式计算的一种。如果我们说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个,显然这种“蚂蚁搬山”的方式将具有很强的能力。的实质就是组合与共享资源并确保系统安全。ENGLISH: What is Distributed Computing?
Distributed computing is a science which solves a large problem by giving small parts of the problem to many computers to solve and then combining the solutions for the parts into a solution for the problem. Recent distributed computing projects have been designed to use the computers of hundreds of thousands of volunteers all over the world, via the Internet, to look for extra-terrestrial radio signals, to look for prime numbers so large that they have more than ten million digits, and to find more effective drugs to fight the AIDS virus. These projects are so large, and require so much computing power to solve, that they would be impossible for any one computer or person to solve in a reasonable amount of time.所谓分布式就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的操作为研究对象的一种理论计算模型。分布式有利于任务在整个上进行分配与优化,克服了传统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS 中存在的数据异构、数据共享、运算复杂等问题,是技术的一大进步。
传统的集中式GIS 起码对两大类难以适用,需用分布式计算模型。第一类是大范围的专业、专题地理信息系统或。这些信息系统的时空数据来源、类型、结构多种多样,只有靠分布式才能实现数据和的分工合作。综合市政地下管网系统,自来水、燃气、污水的数据都分布在各自的管理机构,要对这些数据进行采集、编辑、入库、提取、分析等计算处理就必须采用分布式,让这些工作都在各自机构中进行,并建立各自的管理系统作为综合系统的子系统去完成管理工作。而传统的集中式提供不了这种工作上的必要性的分工。第二类是在一个范围内的综合信息管理系统。就是这种系统中一个很有代表性的例子。世界各国管理工作城市市政管理占很大比例,城市信息的分布特性及城市信息管理部门在地域上的分散性决定了多层次、多成份、多内容的城市信息必须采用分布式的处理模式。
很明显,传统的集中式不能满足分工明确的现代社会的需求,分布式地理信息系统的进一步发展具有不可阻挡的势头。而且,分布式GIS 与网络GIS 、客户/服务器GIS计算模型、WWW计算模型的关系都很密切。分布式GIS 是实现网络GIS 的途径,是实现NGIS的一种重要计算模型;CIS模型实际上是分布式GIS 可供采用的一种具体化计算模型;WWW模型实际上也是分布式GIS模型可采用的一种具体化模型,而且也是具有相当发展前途的分布式GIS模型。分布式GIS 与当今主导发展方向的技术的紧密联系使分布式GIS相应地成为地理信息系统的主要发展趋势。分布式直流电源[2]是一种新型的直流电源设备,主要应用于小型开关站和用户末端,为二次控制线路(如等智能终端及指示灯、模拟指示器等)提供可靠不间断工作电源,避免交流失电时导致微机保护失去保护作用,解决因操作过电压及谐波等因素使失效从而导致微机保护失效问题。同时还可为符合装置功率要求的一次开关设备(弹簧机构真空断路器、永磁机构真空断路器、电动负荷开关等)提供直流操作电源。
分布式直流电源具有市电输入和PT输入两种方式,输出方式从DC220V至DC24V各种规格,可以满足各种使用场合。装置最大输出功率可达600W,可以满足不同负载的需求。
分布式直流电源体积小,安装接线方便,适合分散安装于各种型号的开关设备内。使之比一般直流屏系统更可靠,更经济(对小型用户终端更明显),又节省占地空间,降低线路损耗及安装工程量,且维护方便,为电力系统供电可靠性提供新的选择方案。
分布式直流电源采用高频电源技术,蓄电池采用自动充电管理模块进行维护,大大延长蓄电池的使用寿命,使得装置运行更加安全可靠。装置具备通讯、报警功能,可以方便地实现无人值守的远程自动化管理。1、分散安装,节省占地面积、降低造价
根据嵌入式的设计思想,JRXQF系列嵌入式直流电源装置直接安装在智能开关柜的仪表箱内(或户外装置的电动操作箱内),可节省直流屏的占地面积。因电源在开关柜内,可减少电缆的使用量,节约一次设备投资及电缆施工工作量;在总台数不多时,其总价低于直流屏系统,可降低工程总造价;同时在运行时可减少线损,减少备件,节约运行成本。
2、嵌入式供电方式
可靠性极大提高采用嵌入式的供电方式,当某一回路发生故障时,其它回路的电源装置不受影响,避免出现一点故障全站无操作电源,与集中供电的直流屏相比,其总体可靠性得以极大提高。
3、 多种输入输出方式
适用范围广JRXQF系列能根据客户的需求提供直流220V,110V,48V,24V输出,交流输入范围为85~265V,灵活适用于PT及市电供电。
4、 智能化管理维护
智能化高频电源技术,自监测、自诊断,可当地显示、报警,也可联网通信,实现无人值守的自动化远程管理。内置蓄电池自动充电管理模块,自动对电池进行智能化均浮充管理,大大延迟蓄电池的寿命,使运行更加可靠和安全。
新手上路我有疑问投诉建议参考资料 查看分布式系统原理与范型 _百度百科
特色百科用户权威合作手机百科
收藏 查看&分布式系统原理与范型
本书是Tanenbaum先生对所著的《分布式操作系统》的升级更新,是分布式系统的权威教材。全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进性并茂。作&&&&者Andrew S.Tanenbaum、Maartenvan Steen&出版社
书名:分布式系统原理与范型
出版时间: 2008
开 本: 16
定价: 68 .oo
本书适用对象广泛。对于学习分布式计算机的本科生和研究生,本书是优选教材。对于从事分布式计算研究和工程应用的科技人员和工程技术人员,本书也是一本优秀的基础性读物。第1章绪论1
1.1分布式系统的定义1
1.2.1让用户连接到资源3
1.2.2透明性4
1.2.3开放性6
1.2.4可扩展性7
1.3分布式系统的硬件12
1.3.1多处理器系统13
1.3.2同构式多计算机系统15
随着,特别是的迅猛发展,传统的信息系统概念发生了巨大的变化,基于网络的分布式信息系统在各个领域得到了广泛的应用,在整个社会生活中正发挥着日益突出的作用。Internet已经越来越多地成为构建信息系统的一个关键组成部分。如何在更为广域和异构的计算环境中有效地发布和获取信息,已成为亟待解决的问题。分布式系统正是解决了上述问题。
本书是Tanenbaum先生在所著的《》的基础上,总结了方面的最新进展,重新撰写的力作,是分布式系统的权威教材。本书循序渐进地、全面地、深入地讲解了分布式系统的原理,并列出了大量的范型。本书的结构分为两部分: 原理和范型。第一部分(第1~8章)详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分(第9~12章)给出了一些实际的分布式系统,即基于对象的分布式系统、、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进性并茂。
本书的目标读者是及相关专业的高年级学生或研究生。从事分布式计算研究和工程应用的科研人员和工程技术人员也会从本书中受益匪浅。
本书是多人共同努力的成果,参与本书翻译、审稿、录排的人员包括: 杨剑峰、常晓波、梁金昆、张丽萍、汪青青、朱志博、李敏、李静、李娟、张颖、朱剑平、刘颖、吴东升、杨战伟、郭宁宁、李楠、聂晶、刘恒、刘敏、刘洋、吕喜熹、马睿倩等。全书由杨剑峰、常晓波和李敏负责统稿。
限于译者水平,难免有错误和疏漏之处,恳请读者不吝指正。希望这本书能成为您工作的好帮手。
杨剑峰常晓波2004年5月前言本书的出发点是对Distributed Operating Systems一书进行再版修订,但笔者很快就发现自1995年以来很多技术发生了改变,要完全体现出这些变化,仅仅对该书进行修订是不够的,而是需要写一本全新的书。因此,这本新书有了一个新的标题: 《分布式系统原理和范型》。标题的改变体现了对重点的调整。虽然我们仍然讨论一些操作系统的问题,作为已建立的最大的分布式系统,在Distributed Operating Systems一书中完全没有提到,因为它并不是一个。而在本书中,它几乎占去整整一章。
本书分为两部分: 原理和范型。第1章是对主题的总体介绍。接下来的第2~8章分别讨论我们认为最重要的原理: 通信、进程、命名、同步、一致性和复制、容错以及安全性。
实际的分布式系统通常是围绕一些范型来组织的,例如“所有事物都是文件”。接下来的第9~12章分别介绍一个不同的范型,并描述使用该范型的一些重要系统。涉及到的范型包括基于对象的系统、分布式文件系统、基于文档的系统以及基于协作的系统。
第13章包含一份附有说明的参考书目,可供该主题的进一步学习使用,还包含本书中引用的著作列表。
本书是作为计算机科学的大学高年级学生或研究生课程而编写的。因此,本书有一个Web站点,站点中以各种格式放置了本书中用到的PowerPoint表和图。要访问该站点,在页面上点击本书标题即可。将本书作为教材使用的教授可以通过联系当地的Prentice Hall代理机构得到一本习题解答手册。当然,本书也十分适合希望更多地了解这一重要主题的社会人士。
许多人以多种方式对本书作出了贡献。我们尤其要感谢Arno Bakker、Gerco Ballintijn、Brent Callaghan、Scott Cannon、Sandra Cornelissen、Mike Dahlin、Mark Darbyshire、GuyEddon、Amr el Abbadi、Vincent Freeh、Chandana Gamage、Ben Gras、Bob Gray、Michael van Hartskamp、Philip Homburg、Andrew Kitchen、Ladislav Kohout、Bob Kutter、Jussipekka Leiwo、Leah McTaggert、Eli Messenger、Donald Miller、Shivakant Mishra、Jim Mooney、Matt Mutka、Rob Pike、Krithi Ramamritham、Shmuel Rotenstreich、Sol Shatz、Gurdip Singh、Aditya Shivram、Vladimir Sukonnik、Boleslaw Szymanski、Laurent Therond和Leendert van Doom,感谢他们阅读了部分书稿并提出了宝贵意见。
最后,我们还要感谢我们的家庭。Suzanne已经经历过很多次这样的情况了。她从未说过“我受够了”,尽管这个念头肯定在她脑海里出现过。谢谢你!本书使用指南我们使用本书中的材料已经很多年了,主要是用作大学高年级学生和研究生的教材。而且,这些材料还曾经作为为时1~2天的有关分布式系统和中间件的研讨会的基本资料,参加这些研讨会的人包括ICT专家(技术上的)。下面是我们根据经验对本书使用方式提出的一些建议。
大学高年级学生和研究生教材
如果作为大学高年级学生和研究生的教材,本书通常可以在12~15周内完成教学。我们发现,在大多数学生看来,分布式系统由很多似乎彼此紧密结合的主题所组成。在本书的组织上,我们按照不同的原理介绍这些主题,分别讲授各个原理,这对学生领会重点内容有很大帮助。这样安排的效果是当第一部分(第1~8章)结束时,即在讨论范型之前,学生已经对本书主题在整体上有了一个相当好的把握。
然而,分布式系统的领域涵盖许多不同的主题,其中一些主题在初次学习时很难理解。因此,我们强烈建议学生们随着课程的进展学习适当的章节。从Web站点可以获得所有表,将它们预先分发下去,以便学生在课堂中能够积极参与讨论。这种方法非常成功,并得到了学生们的高度评价。
所有的材料都包括在一个为时15周的课程中。大多数时间花费在讲授分布式系统的原理,也就是前8章所包括的材料上。在讨论范型时,我们的经验是: 只需要介绍要点。直接从书中学习每个案例的详细内容比在课堂上听授更加容易。例如,尽管书中有关基于对象的系统的内容达80页之多,但我们只用一周的时间讲授这类系统。下面是一个课程进度安排建议表(表0.1),其中包括每次讲座中包括的主题。表0.1课程进度安排建议周主题章讲授内容1绪论1全部2通信22.1~2.33通信22.4~2.54进程3全部5命名44.1~4.26命名44.36同步55.1~5.2续表
周主题章讲授内容7同步55.3~5.68一致性和复制66.1~6.49一致性和复制66.5~6.69容错77.1~7.310容错77.4~7.611安全性88.1~8.212安全性88.3~8.713基于对象的系统9全部14文件系统10全部15基于文档的系统11全部15基于协作的系统12全部并不是所有材料都需要在课堂上讲授;我们希望学生能够自学特定的部分,尤其是细节部分。在讲授时间少于15周的情况下,我们建议跳过有关范型的章节,让感兴趣的学生自己学习这些部分。
如果用于低年级的课程,我们推荐将本书的学习延长至两个学期,并增加实验作业。例如,可以通过让学生修改一些组件,使这些组件具有容错性、处理多播RPC等功能来使学生理解简单的分布式系统。
行业的专业研讨会
在1~2天的研讨会上,通常将本书作为主要的背景材料使用。然而,如果跳过所有细节,仅将重点放在分布式系统的本质上,则有可能在两天内讲完整本书。此外,要使内容的表达更加生动实用,有必要重新安排章节的顺序,以提早说明原理是如何得到应用的。对于研究生来说,一般是在了解原理的应用之前(有时甚至根本不了解原理的具体应用)先对原理进行为期10周的学习,但专业人士如果能了解这些原理的实际应用,就会有更大的学习动力。下面是一个为期2天课程的试验性进度表(表0.2),该表按照逻辑单元进行划分。表0.2按逻辑单元划分的课程进度第1天单元时间(分)主题章重点190绪论1客户?服务器体系结构260通信2RPC/RMI和消息传递360基于协作的系统12消息传递问题460进程3移动代码和代理530命名4位置跟踪690基于对象的系统9CORBA续表
第2天单元时间(分)主题章重点190一致性和复制6模型和协议260基于文档的系统11Web缓存/复制360容错7进程组与2PC490安全性8基本思想560分布式文件系统10NFS v3和v4个人学习
本书同样也适用于个人学习。如果具有足够的时间和动力,建议读者仔细阅读整本书。
如果没有足够的时间仔细阅读所有材料,我们建议只集中学习最重要的主题。下面的表格中列举一些章节,我们认为这些章节涵盖了关于分布式系统的最重要的主题(表0.3)。表0.3自学内容章主题小节1绪论1.1、1.2、1.4.3、1.52通信2.2、2.3、2.43进程3.3、3.4、3.54命名4.1、4.25同步5.2、5.3、5.66一致性和复制6.1、6.2.2、6.2.5、6.4、6.57容错7.1、7.2.1、7.2.2、7.3、7.4.1、7.4.3、7.5.18安全性8.1、8.2.1、8.2.2、8.3、8.49基于对象的系统9.1、9.2、9.410分布式文件系统10.1、10.411基于文档的系统11.112基于协作的系统12.1、12.2或12.3比较好的做法是对学习这些建议的材料需要花费的时间进行估算,但这在很大程度上取决于读者的背景知识,对各种背景的读者很难做一个一般性的估计。然而,如果一个具有全职工作的人抽出晚上的时间阅读本书,则可能至少花费几周时间。
新手上路我有疑问投诉建议参考资料 查看分布式计算机系统 _百度百科
特色百科用户权威合作手机百科
收藏 查看&分布式计算机系统
分布式计算机系统是一种的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过构成统一的系统。系统采用分布式计算结构,即把原来系统内处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的,特别适合于工业生产线自动控制和企事业单位的管理,成本低,易于维护,成为计算机在应用领域发展的一个重要方向。概&&&&述日益被人们普遍重视和广为使用特&&&&点无主从区分;计算机之间交换信息
随着高性能和低价格微型计算机的迅速发展和普及,以及人们对信息处理能力的广泛和深入的需求,分布式系统正日益被人们普遍重视和广为使用。所谓分布式计算机系统,是指由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。无主从区分;计算机之间交换信息;;相互协作完成一个共同任务1)通信结构:通信结构是指支持各个计算机联网,以提供分布式应用的软件。在分布式系统中,尽管每台计算机都有自己独立的操作系统,并且这些计算机和操作系统的种类又可以是不同的,但它们都应该支持同样的通信结构。
2):由网络操作系统提供网络服务功能:分布式系统的硬件环境是计算机网络,系统中的个人计算机可以是单用户工作站或服务器,因此它需要由网络操作系统进行管理并提供网络服务功能。
3)():有一个公共的分布式操作系统:在分布式系统中,各计算机共享一个公共的分布式操作系统。分布式操作系统由内核以及提供各种系统功能的模块和进程所组成。系统中的每一台计算机都必须保存分布式操作系统的内核,以实现对计算机系统的基本控制。分布式操作系统除了需要包括单机操作系统的主要功能外,还应该包括分布式进程通信、分布式文件系统、分布式进程迁移、分布式进程同步和分布式进程死锁等功能。
(1)分布式进程通信
分布式系统的进程通信是由分布式操作系统所提供的一些通信原语来实现的。但由于分布式系统中没 有共享内存,这些原语需要按照通信协议的约定和规则来实现。与分布式进程通信有关的主要概念包括:通信协议,分布式环境中的客户/服务器工作模式,进程通 信的消息传递方法和远程过程调用方法。
(2)分布式文件系统
分布式文件系统是允许通过网络来互连的,使不同机器上的用户共享文件的系统。它能让运行它的所有主机共享,并可以管理操作系统内核和文件系统之间的通信。
(3)分布式进程迁移
分布式进程迁移是指由进程原来运行的机器(称为原机器)向目标机器(准备迁往的机器)传送足够数量的有关进程状态的信息,使进程能在另一机器上运行。
(4)分布式进程同步
在分布式系统中,各处理机没有共享内存和统一的时钟,因此分布式进程同步必须对不同处理机中所发生的事件进行排序,还应该配有性能较好的分布式同步算法,以保证为实现进程同步所付出的开销较小。
(5)分布式进程死锁
在分布式系统中,也可能会因进程竞争资源而引起死锁。对单处理机系统中讨论过的死锁对策只要稍加修改,就可用于多处理机系统。例如,只要在系统事件之间简单地定义一个全序,有序资源分配死锁预防技术就可用于分布式系统。
新手上路我有疑问投诉建议参考资料 查看您所在的位置: &
分布式缓存系统memcached简介与实践
分布式缓存系统memcached简介与实践
在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。此时memcached或许是你想要的。
memcached是什么?
memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
memcached能缓存什么?
通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
memcached快么?
非常快。memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表, 因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。
Danga Interactive为提升Danga Interactive的速度研发了memcached。目前,每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由web服务器和数据库服务器组成的集群完成的。memcached几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及memcache失效时对数据库的访问速度。
memcached的特点
memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。
memcached的使用
memcached服务器端的安装 (此处将其作为系统服务安装)
下载文件:
1. 解压缩文件到
c:\memcached
2. 命令行输入
'c:\memcached\memcached.exe -d install'
3. 命令行输入
'c:\memcached\memcached.exe -d start'
该命令启动 memcached ,默认监听端口为 11211,通过 memcached.exe -h 可以查看其帮助。
.NET memcached client library
下载文件:
里面有.net1.1 和 .net2.0的两种版本 还有一个不错的例子。
1. 将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录
2. 引用Memcached.ClientLibrary.dll
namespace Memcached.MemcachedBench
using System.C
using Memcached.ClientL
public class MemcachedBench
[STAThread]
public static void Main(String[] args)
string[] serverlist = { "10.0.0.131:11211", "10.0.0.132:11211" };
//初始化池
SockIOPool pool = SockIOPool.GetInstance();
pool.SetServers(serverlist);
pool.InitConnections = 3;
pool.MinConnections = 3;
pool.MaxConnections = 5;
pool.SocketConnectTimeout = 1000;
pool.SocketTimeout = 3000;
pool.MaintenanceSleep = 30;
pool.Failover =
pool.Nagle =
pool.Initialize();
// 获得客户端实例
MemcachedClient mc = new MemcachedClient();
mc.EnableCompression =
Console.WriteLine("------------测
试-----------");
mc.Set("test", "my value");
//存储数据到缓存服务器,这里将字符串"my value"缓存,key 是"test"
if (mc.KeyExists("test"))
//测试缓存存在key为test的项目
Console.WriteLine("test is Exists");
Console.WriteLine(mc.Get("test").ToString());
//在缓存中获取key为test的项目
Console.WriteLine("test not Exists");
Console.ReadLine();
mc.Delete("test");
//移除缓存中key为test的项目
if (mc.KeyExists("test"))
Console.WriteLine("test is Exists");
Console.WriteLine(mc.Get("test").ToString());
Console.WriteLine("test not Exists");
Console.ReadLine();
SockIOPool.GetInstance().Shutdown();
//关闭池, 关闭sockets
4. 运行结果
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&&&&&的更多文章
当下移动互联网的发展势头迅猛,各式各样的App也在横空出世,最
本次的专刊为大家提供了Oracle最新推出的Java SE 8详细的开发教程,从解读到探究Java 8最新
总结一下Java I/O文件读写基本类相关知识和概念。对于
今天是被国际上众多科技公司和软件企业承认的业内人士
互联网一大真理便是,有痛点的地方就有机会。现在最想
本书依据最新版《网络管理员考试大纲》的考核要求,深入研究了历年网络管理员考试试题的命题风格和试题结构,对考查的知识点进行
51CTO旗下网站}

我要回帖

更多关于 分布式数据库系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信