|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码工具|评价|数据|数据库(http://www.ccidnet.com)
1、概述
就象干系数据库一样,市场上有很多面向工具的数据库(Object-OrientedDatabase,OODB)可供选择。但是,OODB在代价、功效、特征和系统上没有甚么一致的尺度。本文将匡助你了解各类OODB体系之间的一些不同,在为使用选择符合的OODB时,匡助你减少选择的局限。
依据尺度的分歧,我用于评价这些产物的参考材料也是八门五花。在年夜多半情形下,本文的评价以团体履历和意见为基本;别的一些细节间接从评测软件或供给商供应的数据材料取得。在作出选择之前,务必针对你的使用举行周全的测试。究竟,你我意见大概有所分歧。
我们将要剖析的四种OODB产物是ObjectStore、VersantDeveloperSuite、PoetFastObjects和Objectivity。每种产物将从以下几个方面举行评价:
代价和允许依从性兼容性特征功能可伸缩性和可用性
2、代价和允许
工程本钱包含两个方面:初始本钱和保护用度。初始本钱常常在评价中起安排感化,但象年度撑持、联机会商、老手培训等成绩都应当成为产物本钱的思索要素。即便和它的合作者年夜型RDBMS比拟,OODB的代价一般显得很高贵。
尺度思索…评价软件可收费下载的、全功效的试用软件。开辟版允许代价低代价,以用户数目为基本的允许。产物允许代价低代价,依照CPU数目为单元的允许,昂贵的年度保护用度。联机撑持卖力的手艺撑持职员,大批有效的手艺申明、树模和论坛。活泼的用户社团大批的热情用户,旧事组里丰厚无益的举动,非官方网站的撑持。
3、依从性
和干系数据库比拟,OODB一样平常对依从尺度的请求不是那末严厉。年夜多半OODB都用本人共同的办法完成各类特征功效。因为还没有明白的尺度评价OODB,以是工具数据库办理构造(ObjectDatabaseManagementGroup,ODMG)的尺度是以后最好的绳尺。但各个OODB各不相谋却带来了一些贫苦,要找出一个完整依从ODMG2.0或3.0标准的OODB产物很坚苦(与已有一年汗青的3.0标准比拟,2.0标准是一个相称宽松和不完美的标准)。大概在不远的未来,我们将用JavaDataObject(JDO)标准评价JavaOODB。
尺度思索…对“工具界说言语”(ODL)的依从完整服从ODMG3.0标准有关工具界说的标准。对“工具查询言语”(OQL)的依从完整服从ODMG3.0标准有关查询的标准。对Java的依从性完整服从ODMG3.0标准意味着准确完成JavaAPI/绑定。对C++的依从性完整服从ODMG3.0标准意味着准确完成C++API。对Smalltalk的依从性完整服从ODMG3.0标准(假如你的体系不太大概用到Smalltalk,那末这只是一个可选的尺度)。
4、兼容性
不管是言语仍是平台,工程对可伸缩性的请求会日趋增添。OODB不该该在任何一方面影响这类可伸缩性。但是,平台撑持的价值很高贵,它请求举行普遍的测试和大批的文档申明。因而,一些供给商的产物只撑持数目很少的平台。要找出一个和各类支流OO言语(如C++、Java、Smalltalk)严密分离的计划是相称坚苦的。
尺度思索…撑持的平台普遍的平台撑持——我老是思索三个关头的平台:Linux,Win2000,和Solaris。你优先思索的平台大概有所分歧。Java集成普遍的JDK撑持,牢牢跟踪最新的JDK标准。C++集成普遍的编译器撑持耐久类的特别化制止严密分离——寻觅那些不请求修正代码中耐久类的数据库。这是一种与偏好有关的选择,以是你应当仔细研讨处置后扩大和扩大/完成体例比拟的优弱点。可嵌进的版本只占用大批的磁盘空间、RAM;具有作废一些非中心功效的才能。
5、特征
每种数据库计划都有本人的一些共同的功效。上面我出格指出一些中心功效,由于这些功效关于开辟工程来讲具有很高的代价:
尺度思索…数据库扫瞄办理数据库、修正内容、更新形式和天生内容报表的才能。客户端缓冲改良“热门”数据库呼应速率的才能;在确保工具同步的条件下,使得对数据库的提取操纵减到起码。数据库平安用户、用户组会见把持,最幸亏工具(假如不是容器的话)的条理长进行。XML撑持无缝地从数据库提取、向数据库拔出XML的工具。IDE集成和TogetherSoft之类进步开辟效力的情况集成可以进步开辟效力。
6、功能
在功能的某些方面,OODB占据上风;但在其他方面,OODB又有所不敷。在这里供应每种产物具体的功能测试数据显得过于冗杂,但了解大概影响功能的系统和功效方面的范围是很主要的。
尺度思索…加锁战略使用-工具级的加锁机制可以带来很年夜的便利,但页面级的加锁机制在某些前提下可以带来功能上的奔腾。负载均衡通明地散布数据库、挪用远程服务器上的办法、在并发线程/会见之间共享工具的才能。最年夜的数据库巨细越年夜越好。事件撑持反省点:由多个线程共享一个事件,一个线程占用多个事件,嵌套事件;当某个给定产物的完成影响了你的使用时,确保你本人了解了却合客户端缓冲时客户端/服务器端同步的事情机制。有关查询/功能的信息提取这些信息的才能,它可以匡助你找出功能瓶颈;OODB供应的优化和调剂选项一般要比RDB少,但一些帮你提取功能信息息争释查询实行企图的工具仍很有效。
7、可伸缩性和可用性
固然并不是每个工程都请求有企业级的恢复、可用性、可伸缩性功效,懂得你所选择的OODB计划可以跟着工程一同开展而供应这方面的才能是值得的。
尺度思索…失利转移主服务器呈现成绩时,通明地切换到冗余数据库。负载均衡把负载散布到冗余服务器、把工具支解到多个服务器、同步多个客户端工具缓冲之间数据视图的才能。复制和增量备份无缝地复制数据,撑持负载均衡和恢复的才能。公用的查询引擎(Adhocqueryengine)丰厚的查询言语,同意对数据的疾速会见;幻想情形下,它应当可以超过没有间接联系关系的工具毗连数据。
8、产物批评
上面,我依照前文提出的尺度评价以下产物:
ObjectStoreVersantDeveloperSuitePoetFastObjectsObjectivity
请参考CetusOODBarea,那边有一个相称新的OODB供给商清单。
尺度ObjectStoreVersantDeveloperSuitePoetObjectivity背景信息供给商ObjectDesignVersantPoetObjectivity产物主页ObjectStoreVDSFastObjectsObjectivity手艺参考[29]Spec或PDFdatasheetOverview或manualsJava或C++PDFoverview或specificdatasheets版本6.06.0t78.0[16]6.0代价和允许试用版本30天试用[1]60天试勤奋能限定90天试用允许用度[2][2][2][2]联机撑持尚可[3][9]尚可[9]好[19]很好用户社团[23]中等[4]中等较小中等依从性ODL依从性NNN不完全的2.0/3.0撑持OQL依从性NN[10]ODMG3.0[17]NJava接口服从ODMG3.0ODMG3.0ODMG3.0ODMG3.0C++接口撑持ODMG3.0N/A不完全的2.0/3.0撑持Smalltalk接口N/AN/AN/AODMG3.0兼容性撑持的Unix操纵体系Linux,Solaris,HP-UX,IRIX,AIX,Tru64[ref]Linux,Solaris,HP-UX,IRIX,SGI,Tru64[ref]Linux,Solaris,HP-UX[ref]Linux,Solaris,HP-UX,IRIX,AIX,Tru64[ref]撑持的Windows操纵体系98,NT4,2000[ref]NT4,2000[ref]98,NT4,2000[ref]98,NT4,2000[ref]JDK请求1.0,1.1–1.3[22]1.2,1.31.1-1.31.22,1.3耐久类的特别化N[5]N[5]N[5]Y[24]可嵌进的版本YNY[18]N功效数据库扫瞄器YYYY客户端缓冲YYYY数据库平安数据库大概段的用户/组把持数据库的用户把持[14]特定类和数据库的用户/组把持数据库的用户把持XML撑持YY[15]部分[20]部分[20]功能加锁战略数据库,页,大概工具工具级工具级容器级[25]最年夜的数据库巨细[7]数百个GB?数十个GB到数百个GB?[12]?依据呈报,它到达了TB级事件撑持逝世锁检测,MVCC[8]散布式事件办理(相似于MVCC的观点)反省点,共享或并行的事件,嵌套事件反省点,逝世锁检测,共享或并行的事件供应有关查询/功能的信息YN[13]NN[26]可伸缩性失利转移(failover)YYY可选[27]负载均衡部分[6]部分[11]部分[21]可选[27]复制和增量备份YYY可选[27]专门的查询引擎(Adhocqueryengine)没有OQL。利用汇合和查询工具Y[10]Y(OQL)Y[28]
■停止语
我但愿本人还没有给人以OODB狂热宣传者的印象——关于我所利用的年夜多半使用,我以为使用OODB带有必定的风险。但是,一旦你了解并熟习了OODB,它们能够成为很便利的工具。我团体对照看好Poet和ObjectStore,但我以为它们都很有效。
■注解
[1]只供应单实例团体版(Single-instancePersonalEdition,PSE)供下载。[2]报价能够从发卖代表处取得。[3]部分撑持服务只供应给无效保护条约的具有者会见。[4]社团范围只绝对其他OODB产物而言。OODB的用户社团远远小于干系数据库的用户社团。[5]耐久类必需举行过后处置。[6]多个数据库之间的负载均衡看来不太大概。相反,处置经由过程客户端缓冲得以散布,它把更多的逻辑和盘算义务通明地移到了客户端,从而减小了服务器的负载。[7]这些数据未经证明,次要从供给商的声明取得。在会商数据库巨细的时分,工具的庞大性、巨细、“公道的应对工夫”等成绩都是必需思索的要素。[8]多版本并发把持(MultiversionConcurrencyControl,MVCC)是一种非尺度的手艺,在并发读取/写进操纵时代用来保持缓冲客户端和服务器端数据视图的分歧性。[9]能够从大批在线演示、FAQ、论坛获益,一切这统统都对现有和潜伏用户开放。[10]完成了一种公有的VQL言语,它和OQL有一些配合点。[11]经由过程复制完成部分负载均衡才能;依据推想,负载均衡大概经由过程把哀求重定向到多个数据库完成,但这一点未经证明。多个数据库之间的通明复制确保了每个OODB上都有一份最新的数据。[12]必要64位的版本,以便超出大批在内村、纪录计数等方面的2^32限定;Versant的64位版本已机关终了,但还没有在一切它所撑持的平台上经由考证。[13]供应一些用于查询调剂和计时的工具。[14]假如不是我在甚么中央错过,它仿佛没有提到粒度更小的平安机制大概是在API中供应这方面的才能。我找到出格说起的只是经由过程OS强迫的数据库文件权限完成的数据库级会见把持。[15]必要独自供应的工具。[16]Poet分三种情势:t2(及时嵌进式Java),e7(嵌进式Java/C++),和t7(企业Java/C++)。版本号没有明白显现,t7的v8.0得自文件的版本号,以后是8.0.0.19。[17]不克不及包管它完全地撑持ODMG3.0OQL,但掩盖局限看来相称普遍。[18]包括一个C++或Java的嵌进式版本,和一个Java的及时嵌进式版本。[19]联机撑持网站community.fastobjects.com的内容十分周全,但速率经常很慢。我具有高速毗连,但它有纪律地前往页面超时毛病。[20]我只能经由过程命令行接口利用批量导进/导出功效。[21]没有散布式功效的任何分明标志,并且我也没有效过一个散布式的设置。假如Poet的设置中数据库复制带有“readerscalability”选项,负载均衡能够在某种水平上得以完成,使得查询能够对只读的附属数据库举行。[22]最少JDK1.2看来最好,你将失掉更好的汇合撑持和制止一些已有报导的“quirk”成绩(未能一定是不是为JDK1.1办理了这些成绩)。[23]很难举行评价。我从支出和Internet/旧事组的会商动手剖析。请把它当作是一种推测。[24]耐久类的标识大概是它从ooObj派生,大概它完成IooObj接口。[25]固然对全部容器加锁听起来吓人,但它的基础头脑是,它会明显削减加锁服务器的负载。[26]经由过程API挪用和统计功效供应一些运转时查询调试才能。[27]一些材料,比方这一份申明,显现出这些选项会增添本钱。[28]没有供应相似OQL的等价言语。SQL++是一种服从SQL的功效,同意针对OODB举行SQL查询;容器撑持一个scan()办法,和撑持“谓词查询言语”表达式(PredicateQueryLanguage)。[29]这四种产物都供应评价版供下载。下载软件包附带的文档和示例一样平常都对照完美。InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定 |
|