已经开发出来的游戏,和开发把吹泡泡的过程写出来都是属于科技板块?

博客访问: 102410
博文数量: 106
博客积分: 0
博客等级: 民兵
技术积分: 705
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Mysql/postgreSQL
原文地址: 作者:
【导读】很多技术朋友向我咨询过关于选择MySQL数据库软件产品的版本事宜,他们对于开源软件产品的版本选择没有头绪,不知道从何下手。不过,我们本文主要是介绍开源数据库产品的版本如何选择,如何选择生产环境的MySQL数据库版本?MySQL数据库版本的选择需要经过那些工序?需要注意那些事项?顺道分享下我们DBA团队是如何为生产环境,选择合适的MySQL数据库版本。&商业软件研发和发行公司,都会提供经过完整测试,甚至多种用户环境模拟测试及试用之后,才会推出稳定的生产环境版本软件,导致技术人员对于商业数据库软件的选择,一般不需要太多的顾虑与考虑。在大公司,像曾经带过的阿里巴巴DBA团队,对于Oracle数据库软件版本的选择,也是会对其新功能或改进点知识详细阅读,并且会做很多相关测试和研究工作。关于Oracle数据库产品的版本选择,大家可以通过新浪微博咨询Oracle数据库行业非常优秀的DBA&(一)&&&行业乱象不管是大公司,还是中小型公司,有专职DBA的公司,还是无DBA的公司;都存在使用Alpha版本MySQL数据库产品的现状,甚至有些公司还是用开发版本MySQL数据库产品的情况。2009年以前的阿里软件、淘宝、阿里巴巴都大量存在使用Alpha版本的MySQL数据库,不过后来这样的事情没再发生,而是逐渐寻找机会升级完成版本的更换。像北京的去哪儿公司,依然采用MySQL5.5Alpha版本数据库产品,上海也很多大公司采用Alpha版本的数据库产品,就不一一点名,避免被口水淹没。对于那些没有专职DBA的公司,存在使用Alpha版本MySQL数据库,就更多更普遍。对于职业技能属于中下水平的DBA而言,选择MySQL数据库的版本可能存在一些困难,主要是没有意识到其存在的危害,以及没有人告诉他们该如何选择这些软件版本。&(二)&&&MySQL数据库版本对于MySQL开源数据库分为多个重要分支发展,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL5.5、MySQL6.2,每个分支版本都会遵循一个相同的流程,也即不同开发测试阶段的MySQL数据库版本,分别为:Development版本、Alpha版本、Beta版本、RC版本、GA版本,每个版本的含义与区别大家可以参考文章中的文字描述。MySQL AB官方网站会把五种数据库版本都提供下载,主要是MySQL数据库属于开放源代码的数据库产品,鼓励全球的技术爱好者参与研发、测试、文档编写和经验分享,甚至包过产品发展规划,对于Development版本、Alpha版本和Beta版本是绝对不允许使用在任何生产环境的,肯定存在重大的问题或功能未完全实现。绝大多数情况下RC版本也是不允许使用在生产环境,毕竟这是一个GA版本之前,也即生产版本发布之前的一个小版本。另外,对MySQL 数据库GA版本,也是需要慎重选择,开源社区产品毕竟不是经过严格的测试工序完成的产品,是全球开源技术人员的自愿完成的,会存在比商业产品稳定性弱的缺陷。(三)&&&MySQL数据库GA版本选择的流程自甲骨文(注:Oracle)公司收购SUN及全资子公司MySQL AB之后,MySQL AB官方不再对开源社区贡献源码,以及众多创始人与技术人员的出走,大家对于MySQL AB 公司推出的新版本一定要更加仔细挑选,切莫盲目相信MySQL AB官方给出的测试报告。推荐大家参考的MySQL数据库GA版本选择的流程,如下所述:1)&&&&&&&& 分析本企业业务,需要使用到MySQL那些基本功能和特性,特性重点方向研究为:MySQL复制、分区表、Plugin-innodb等;2)&&&&&&&& MySQL数据库产品线第一个GA版本推出时间,至少超过10个月,再考虑使用到生产环境;3)&&&&&&&& MySQL数据库产品线的最新GA版本,一般向后退3-4个版本的GA版本数据库,作为可选的目标;4)&&&&&&&& 仔细阅读选择的目标数据库GA版本,若是为之前的版本修改了大量的BUG信息,则此GA版本慎重选择;5)&&&&&&&& 仔细阅读目标GA版本数据库之后的第一版本,若是修改的BUG信息量非常大,直接放弃目标版本,向前推进一个版本号作为目标版本;6)&&&&&&&& 按照第四、第五步骤所描述的办法,直到选定的版本之后的一个版本,BUG修改量不大,严重BUG极少,且不能为最新的GA版本数据库产品;7)&&&&&&&& 详细阅读选定的数据库GA版本之后2-3个版本的BUG修复信息,主要是跟目标GA版本相关的,并且想办法重现,以及寻找规避的办法;8)&&&&&&&& 对经过上述七个步骤挑选的GA版本,结合企业业务可能需要用的功能,都必须进行功能测试,以及业务模拟的性能测试;9)&&&&&&&& 挑选的数据库GA版本,作为内部开发测试数据库环境,跑大概3-6个月的时间;10)&&&& 优先企业非核心业务采用新版本的数据库GA版本软件;11)&&&& 经过上述10个工序之后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件;&【编者加注】很多企业的专职DBA可能没有这么多时间、精力或资源等,也可能根本不愿意花费这较长时间,或者企业急需选择一个数据库GA版本,还有一些企业根本没有专职DBA,而是运维或开发工程师代替的模式,可能不具备挑选数据库软件版本的能力。那么我们是否有MySQL数据库GA版本选择的捷径呢? 答案是有的,那么请多关注互联网行业大公司的DBA们或行业内优秀且严谨的DBA,从各种渠道去了解(注释:互联网企业DBA团队BLOG、ITPUB论坛、优秀DBA的BLOG),或者直接咨询内部人士,获知他们的核心业务数据库版本是多少?后续我们再发布一篇文章,关于开源数据库mysql5.5.19版本选型过程,测试重现mysql5.5.19及相关版本存在的BUG信息,再补充一点信息,我们现在生产环境的数据库版本依然是:mysql-5.1.40,即将考虑采用mysql-5.5.19。&
阅读(110) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。君,已阅读到文档的结尾了呢~~
各种开源数据库的详细比较
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
各种开源数据库的详细比较
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Naresh Kumar是一位软件工程师与热情的博主,对编程与新事物充满了激情和兴趣。近日,Naresh撰写了一篇博
文,对开源世界最常见的两种数据库MySQL与PostgreSQL的特点进行了详尽的分析和比对。
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与
PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库
,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?
在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开
始就选择正确。两个流行的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的
高层次概览将会有助于你选择最适合自己需要的。
MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开
发的软件包,包括Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL
,包括那些知名的应用,如WordPress、Drupal、Zend及phpBB等。
一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持
ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持
其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还
有其他的核心存储引擎与第三方引擎。
MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培
训与支持。
MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL AB开发的,然后在2008年以10亿
美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:Standard、
Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一些则是收费的。其
核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。
现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。
最初的MySQL创建者之一Michael &Monty& Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的
MySQL分支MariaDB,它是免费的,基于GPL许可。知名的MySQL开发者Brian Aker所创建的分支Drizzle对其进行
了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。
PostgreSQL
PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那
么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为
Ingres数据库的后继。
PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,
而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使
用、复制、修改和重新分发代码,只需要提供一个版权声明即可。
可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用
。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL
的社区支持是非常棒的,还有来自于独立厂商的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提
供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自
己的业务规则确保数据质量。在众多的管理特性中,point-in-time recovery(PITR)是非常棒的特性,这是个
灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是PostgreSQL的全部
,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定
需求的功能了。
MySQL与PostgreSQL都出现在一些高流量的Web站点上:
&&& MySQL:Slashdot、Twitter、Facebook与Wikipedia
&&& PostgreSQL:Yahoo使用了一个修改的PostgreSQL数据库来处理每天数以亿计的事件,还有Reddit和Disqus
MySQL与PostgreSQL都能运行在多个操作系统上,如Linux、Unix、Mac OS X与Windows。他们都是开源、免费的
,因此测试他们时的唯一代价就是你的时间与硬件。他们都很灵活且具有可伸缩性,可用在小型系统和大型分布
式系统上。MySQL在一个领域上要比PostgreSQL更进一步,那就是它的触角延伸到了嵌入式领域,这是通过
libmysqld实现的。PostgreSQL不支持嵌入式应用,依然坚守在传统的客户端/服务器架构上。
MySQL通常被认为是针对网站与应用的快速数据库后端,能够进行快速的读取和大量的查询操作,不过在复杂特性
与数据完整性检查方面不太尽如人意。PostgreSQL是针对事务型企业应用的严肃、功能完善的数据库,支持强
ACID特性和很多数据完整性检查。他们二者都在某些任务上具有很快的速度,MySQL不同存储引擎的行为有较大差
别。MyISAM引擎是最快的,因为它只执行很少的数据完整性检查,适合于后端读操作较多的站点,不过对于包含
敏感数据的读/写数据库来说就是个灾难了,因为MyISAM表最终可能会损坏。MySQL提供了修复MySQL表的工具,
不过对于敏感数据来说,支持ACID特性的InnoDB则是个更好的选择。
与之相反,PostgreSQL则是个只有单一存储引擎的完全集成的数据库。你可以通过调整postgresql.conf文件的
参数来改进性能,也可以调整查询与事务。PostgreSQL文档对于性能调优提供了非常详尽的介绍。
MySQL与PostgreSQL都是高可配置的,并且可以针对不同的任务进行相应的优化。他们都支持通过扩展来添加额
外的功能。
一个常见的误解就是MySQL要比PostgreSQL更容易学习。关系数据库系统都是非常复杂的,这两个数据库的学习
曲线其实是差不多的。
标准兼容性
PostgreSQL旨在实现SQL兼容性(当前标准是ANSI-SQL:2008)。MySQL则兼容大部分SQL,不过还有自己的扩展
,可以支持NoSQL特性,这在参考手册中都有介绍。每种方式都有优缺点。兼容标准会让数据库管理员、数据库开
发者与应用开发者更舒服一些,因为这意味着他们只需学习一套标准、一套特性和命令即可。这会节省时间,提
升效率,也不会被锁定在特定的厂商上。
支持使用非标准的自定义功能的人们认为这样可以快速采用新的特性,而不必等待标准进程完成。ANSI/ISO标准
在不断演化,因此标准兼容性也是个变化的目标:知名的关系型数据库Microsoft SQL Server、Oracle与IBM
DB2也只是部分兼容于标准。
虽然有不同的历史、引擎与工具,不过并没有明确的参考能够表明这两个数据库哪一个能够适用于所有情况。很
多组织喜欢使用PostgreSQL,因为它的可靠性好,在保护数据方面很擅长,而且是个社区项目,不会陷入厂商的
牢笼之中。MySQL更加灵活,提供了更多选项来针对不同的任务进行裁剪。很多时候,对于一个组织来说,对某个
软件使用的熟练程度要比特性上的原因更重要。
日,诚邀您参与腾讯·“云+未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际
专家共探产业与互联网融合发展之道,推动互联网+生态圈发展
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2311次
排名:千里之外
原创:15篇
(5)(8)(2)(1)nosql数据库有哪些?17个好的nosql数据库推荐
NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL
数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。随着互联网web2.0网站的兴起,NoSQL数据库现在成了一个极其热门的新领域,NoSQL产品的发展非常迅速.目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。那么nosql的数据库有哪些呢?小编整理了一下,分享给大家。1.HypertableHypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在 PC集群
上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File
System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统
文件存储系统无法避免的许多失败的影响,比如电源、内存和网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮
助处理收集到的海量数据。第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的
查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。主要功能特点:负载均衡的处理版本控制和一致性可靠性分布为多个节点&官方下载:2.MongoDBMongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求。MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。MongoDB也有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大。MongoDB服务端可运行在Linux、Windows或OS
X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。官网下载是:3.HbaseHBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et
al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File
System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式。HBase C Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC
Server上搭建起大规模结构化存储集群。   HBase是Google Bigtable的开源实现,类似Google
Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop
HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop
MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。主要功能特性有:支持数十亿行X上百万列,采用分布式架构 Map/对实时查询进行优化;高性能
Thrift网关;通过在server端扫描及过滤实现对查询操作预判;支持 XML, Protobuf, 和binary的HTTP;基于 Jruby(
JIRB)的对配置改变和较小的升级都会重新回滚;不会出现单点故障;堪比MySQL的随机访问性能。官方下载:4.memcachedbMemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。
协议跟memcache一致(不完整),所以很多memcached客户端都可以跟它连接。MemcacheDB采用Berkeley
DB作为持久存储组件,故很多Berkeley DB的特性的他都支持。MemcacheDB的前端缓存是Memcached
  前端:memcached的网络层   后端:BerkeleyDB存储写速度:从本地服务器通过memcache客户端(libmemcache)set2亿条16字节长的key,10字节长的Value的记录,耗时
16572秒,平均速度12000条记录/秒。读速度:从本地服务器通过memcache客户端(libmemcache)get100万条16字节长的key,10字节长的Value的记录,耗
时103秒,平均速度10000条记录/秒。支持的memcache命令官方下载:RiakRiak是由技术公司basho开发的一个类似Dynamo的分布式Key-Value系统。其以分布式,水平扩展性,高容错性等特点著称。从事Riak工作最有趣的部分是可以使用JavaScript或者Erlang来做Map/Reduce查询,它们会查询每个节点,收集结果,而且可以重复,如果需要使用的结果进行重新进行搜寻的话。该系统还为类似于Solr的搜索提供全文索引,同时还提供一个控制面板,可以查看集群的信息。5.Redisredis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。性能测试结果:SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:Linux 2.6, Xeon XGhz.stackoverflow 网站使用 Redis 做为缓存服务器。特点主要功能特点:安全性;主从复制;运行异常快;支持 sets(同时也支持 union/diff/inter);支持列表(同时也支持队列;阻塞式
pop操作);支持哈希表(带有多个域的对象);支持排序
sets(高得分表,适用于范围查询);Redis支持事务;支持将数据设置成过期数据(类似快速缓冲区设计);Pub/Sub允许用户实现消息机制官方下载:6.Tokyo Cabinet/Tokyo TyantTokyo Cabinet(TC)和Tokyo Tyrant(TT)的开发者是日本人Mikio
Hirabayashi,主要用于日本最大的SNS网站mixi.jp。TC出现的时间最早,现在已经是一个非常成熟的项目,也是Key-Value数据库领域最大的热点,现在广泛应用于网站。TC是一个高性能的存储引擎,而TT提供了多线程高并发服务器,性能也非常出色,每秒可以处理4万~5万次读写操作。TC除了支持Key-Value存储之外,还支持Hashtable数据类型,因此很像一个简单的数据库表,并且还支持基于Column的条件查询、分页查询和排序功能,基本上相当于支持单表的基础查询功能,所以可以简单地替代关系数据库的很多操作,这也是TC受到大家欢迎的主要原因之一。有一个Ruby项目miyazakiresistance将TT的Hashtable的操作封装成和ActiveRecord一样的操作,用起来非常高效。特性TC/TT在Mixi的实际应用当中,存储了2000万条以上的数据,同时支撑了上万个并发连接,是一个久经考验的项目。TC在保证了极高的并发读写性能的同时,还具有可靠的数据持久化机制,同时还支持类似关系数据库表结构的Hashtable以及简单的条件、分页和排序操作,是一个很优越的NoSQL数据库。TC的主要缺点是,在数据量达到上亿级别以后,并发写数据性能会大幅度下降,开发人员发现在TC里面插入1.6亿条2KB~20KB数据的时候,写入性能开始急剧下降。即当数据量达到上亿条的时候,TC性能便开始大幅度下降,从TC作者自己提供的Mixi数据来看,至少上千万条数据量的时候还没有遇到这么明显的写入性能瓶颈官方下载:7.db4odb4o 是一个开源的纯面向对象数据库引擎,对于 Java 与 .NET 开发者来说都是一个简单易用的对象持久化工具,使用简单。同时,db4o
已经被第三方验证为具有优秀性能的面向对象数据库, db4o 和一些传统的持久方案进行了比较。db4o 在这次比较中排名第二,仅仅落后于JDBC。同时,db4o
的一个特点就是无需 DBA 的管理,占用资源很小,这很适合嵌入式应用以及 Cache 应用, 所以自从 db4o 发布以来,迅速吸引了大批用户将 db4o
用于各种各样的嵌入式系统,包括流动软件、医疗设备和实时控制系统。db4o 由来自加州硅谷的开源数据库公司 db4objects 开发并负责商业运营和支持。db4o 是基于 GPL 协议。db4objects 于
2004 年在 CEO Christof Wittig 的领导下组成,资金背景包括 Mark Leslie 、 Veritas 软件公司 CEO 、 Vinod
Khosla ( Sun 公司创始人之一)、 Sun 公司 CEO 在内的硅谷高层投资人组成。毫无疑问,今天 db4objects
公司是硅谷炙手可热的技术创新者之一。db4o 的目标是提供一个功能强大的,适合嵌入的数据库引擎,可以工作在设备,移动产品,桌面以及服务器等各种平台。主要特性如下:开源模式。与其他 ODBMS 不同,db4o 为开源软件,通过开源社区的力量驱动开发 db4o 产品。原生数据库。db4o 是 100% 原生的面向对象数据库,直接使用编程语言来操作数据库。程序员无需进行 OR
映射来存储对象,大大节省了程序员在存储数据的开发时间。高性能。 db4o 官方公布的基准测试数据,db4o 比采用 Hibernate/MySQL 方案在某些测试线路上速度高出 44
倍之多!并且安装简单,仅仅需要 400Kb 左右的 .jar 或 .dll 库文件。在接下来的系列文章中,我们将只关注在 Java 平台的应用,但是实际上
db4o 毫无疑问会很好地在 .NET平台易嵌入。使用 db4o 仅需引入 400 多 k 的 jar 文件或是 dll 文件,内存消耗极小。零管理。使用 db4o 无需 DBA,实现零管理。支持多种平台。db4o 支持从 Java 1.1 到 Java 5.0,此外还支持 .NET 、 CompactFramework 、 Mono 等
.NET 平台,也可以运行在 CDC 、 PersonalProfile 、 Symbian 、 Savaje 以及 Zaurus 这种支持反射的 J2ME
方言环境中,还可以运行在 CLDC 、 MIDP 、 RIM/Blackberry 、 Palm OS 这种不支持反射的 J2ME 环境中。官方下载:8.VersantVersant Object Database (V/OD) 提供强大的数据管理,面向 C++, Java or .NET
的对象模型,支持大并发和大规模数据集合。Versant对象数据库是一个对象数据库管理系统(ODBMS:Object Database Management
System)。它主要被用在复杂的、分布式的和异构的环境中,用来减少开发量和提高性能。尤其当程序是使用Java和(或)C++语言编写的时候,尤其有用。它是一个完整的,电子基础设施软件,简化了事务的构建和部署的分布式应用程序。作为一个卓越的数据库产品,Versant
ODBMS在设计时的目标就是为了满足客户在异类处理平台和企业级信息系统中对于高性能、可量测性、可靠性和兼容性方面的需求。Versant对象数据库已经在为企业业务应用提供可靠性、完整性和高性能方面获得了建树,Versant
ODBMS所表现出的高效的多线程架构、internal parallelism
、平稳的Client-Server结构和高效的查询优化,都体现了其非常卓越的性能和可扩展性。Versant对象数据库包括Versant ODBMS,C++和Java语言接口,XML工具包和异步复制框架。Versant Object
Database8.0,适用于应用环境中包含复杂对象模型的数据库,其设计目标是能够处理这些应用经常需要的导航式访问,无缝的数据分发,和企业级的规模。主要特征:C++、Java及.NET
的透明对象持久;支持对象持久标准,如JDO;跨多数据库的无缝数据分发;企业级的高可用性选项;动态模式更新;管理工作量少(或不需要);端到端的对象支持架构;细粒度并发控制;多线程,多会话;支持国际字符集;高速数据采集。官方下载:9.CouchDBApache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST
接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。CouchDB是用Erlang开发的面向文档的数据库系统,其数据存储方式类似Lucene的Index文件格式。CouchDB最大的意义在于它是一个面向Web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。主要功能特性有:CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得以于Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,然的分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。CouchDB支持REST
API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便。其实CouchDB只是Erlang应用的冰山一角,在最近几年,基于Erlang的应用也得到的蓬勃的发展,特别是在基于web的大规模,分布式应用领域,几乎都是Erlang的优势项目。10.DynamoDBDynamoDB是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。DynamoDB的NoSQL解决方案,也是使用键/值对存储的模式,平且通过服务器把所有的数据存储在SSD上的三个不同的区域。如果有更高的传输需求,DynamoDB也可以在后台添加更多的服务器。11.CassandraCassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google
BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。官方下载:12.FlareTC是日本第一大SNS网站mixi.jp开发的,而Flare是日本第二大SNS网站green.jp开发的。简单地说,Flare就是给TC添加了scale(可扩展)功能。它替换了TT部分,自己另外给TC写了网络服务器。Flare的主要特点就是支持scale能力,它在网络服务端之前添加了一个Node
Server,用来管理后端的多个服务器节点,因此可以动态添加数据库服务节点、删除服务器节点,也支持Failover。如果你的使用场景必须让TC可以scale,那么可以考虑Flare。flare唯一的缺点就是他只支持memcached协议,因此当你使用flare的时候,就不能使用TC的table数据结构了,只能使用TC的key-value数据结构存储。官方下载:13.Berkeley DBBerkeley DB
(DB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,PHP,Tcl以及其他很多语言都有绑定。Berkeley
DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛
用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。Berkeley DB最初开发的目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现(如AT&T的dbm,Berkeley的
ndbm,GNU项目的gdbm),Berkeley DB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,BSD
UNIX第4.4发行版中包含了Berkeley DB1.85版。基本上认为这是Berkeley
DB的第一个正式版。在1996年中期,Sleepycat软件公司成立,提供对Berkeley DB的商业支持。在这以后,Berkeley
DB得到了广泛的应用,成为一款独树一帜的嵌入式数据库系统。2006年Sleepycat公司被Oracle 公司收购,Berkeley
DB成为Oracle数据库家族的一员,Sleepycat原有开发者继续在Oracle开发Berkeley
DB,Oracle继续原来的授权方式并且加大了对Berkeley DB的开发力度,继续提升了Berkeley DB在软件行业的声誉。Berkeley
DB的当前最新发行版本是4.7.25。官方下载:14.MemlinkMemlink
是天涯社区开发的一个高性能、持久化、分布式的Key-list/queue数据引擎。正如名称中的memlink所示,所有数据都建构在内存中,保证了 系统的高性能
(大约是redis几倍),同时使用了redo-log技术保证数据的持久化。Memlink还支持主从复制、读写分离、List过滤操作等功能。与Memcached不同的是,它的value是一个list/queue。并且提供了诸如持久化,分布式的功能。听起来有点像Redis,但它号称比Redis更好,在很多Redis做得还不好的地方进行了改进和完善。提供的客户端开发包包括
c,python,php,java 四种语言。它的特点是:内存数据引擎,性能极为高效;List块链结构,精简内存,优化查找效率;Node数据项可定义,支持多种过滤操作;支持redo-log,数据持久化,非Cache模式;分布式,主从同步。官方下载:15.BaseXBaseX 是一个XML数据库,用来存储紧缩的XML数据,提供了高效的 XPath 和 XQuery 的实现,还包括一个前端操作界面。BaseX一个比较显著地优点是有了GUI,界面中有查询窗口,可采用XQuery查询相关数据库中的;也有能够动态展示xml文件层次和节点关系的图。但我感觉也就这点好处了,编程时和GUI无关了。和Xindice相比,BaseX更能支持大型XML文档的存储,而Xindice对大型xml没有很好的支持,为管理中小型文档的集合而设计。BaseX 是一个XML数据库,用来存储紧缩的XML数据,提供了高效的 XPath 和 XQuery 的实现,还包括一个前端操作界面。官方下载:16.Neo4jNeo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询――在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图形进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系。此外,Neo4j还提供了非常快的图形算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。Neo是一个网络――面向网络的数据库――也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。你可以把Neo看作是一个高性能的图引擎,该引擎具有成熟和健壮的数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中――但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。Neo是一个比较新的开源项目,但它已经在具有1亿多个节点、关系和属性的产品中得到了应用,并且能满足企业的健壮性和性能的需求。完全支持JTA和JTS、2PC分布式ACID事务、可配置的隔离级别和大规模、可测试的事务恢复。这些不仅仅是口头上的承诺:Neo已经应用在高请求的24/7环境下超过3年了。它是成熟、健壮的,完全达到了部署的门槛。Neo4j是一个用Java实现、完全兼容ACID的图形数据库。数据以一种针对图形网络进行过优化的格式保存在磁盘上。Neo4j的内核是一种极快的图形引擎,具有数据库产品期望的所有特性,如恢复、两阶段提交、符合XA等。官方下载:17.Oracle的NoSQLOracle作为全球最大的关系型数据库提供商,在其产品链条中,也加入了NoSQL数据库这一环,而且这个新的数据库名字很霸气,就叫NoSQL
Database。Oracle的这个NoSQL Database,是在10月4号的甲骨文全球大全上发布的Big Data Appliance的其中一个组件,Big Data
Appliance是一个集成了Hadoop、NoSQL
Database、Oracle数据库Hadoop适配器、Oracle数据库Hadoop装载器及R语言的系统。它的特征是:数据模型简单;扩展性强行为可预测性;高可用性;简单的管理与维护。以上就是小编给大家整理的NoSQL数据库。
阅读本文后您有什么感想? 已有
人给出评价!
14-06-2304-10-0704-10-0704-10-0704-10-0704-10-0704-10-0704-10-07
注:您的评论需要经过审核才会显示出来
没有查询到任何记录。
Copyright &
PC6下载().All Rights Reserved
备案编号:湘ICP备号

我要回帖

更多关于 泰迪蛋蛋掉出来过程图 的文章

 

随机推荐