|
SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。特征库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。多个进程或线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。提供了叫做sqlite的一个独立程序用来查询和管理SQLite数据库文件。 它也充当写使用SQLite库的应用的一个例子。语言绑定可以从C/C++程序中使用这个库,还可以获得对Tcl和一些其他脚本语言的绑定。在CPAN的DBD::SQLite上有一个Perl的DBI/DBD模块,它不是到SQLite的接口,而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件。还有一个Python模块叫做PySQLite。PHP从PHP5.0开始包含了SQLite,但是自5.1版之后开始成为一个延伸函式库。SQLite能与PHP4一起工作但不包含在其中。Rails2.0.3将缺省的数据库配置改为了SQLite 3SQLite管理客户端SQLite亦可以作为桌面数据库使用,以下为第三方SQLite的GUI软件。例如,* SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。SQLiteMan* SQLite Manager, 以 火狐浏览器的扩展形式提供的SQLite客户端。* SQLite Database Browser, a graphical client to access SQLite databases* SqlPro SQL Client, another graphical client to work with SQLite ... SQLite | HAWEBS.NET | 星期三, 24 February 2010 READMORE
|
|
开源的MySQL并不能取代非共享的私有数据库在企业中的应用,于是这些开源数据库的支持者们想把解决Web应用程序开发工具的可扩展性问题看作是获得更广阔的企业应用的通行证。一直以来,MySQL都致力于成为为在线应用服务的顶级数据库,就算是MySQL被Sun收购了,这个发展的重点还是没有转变。该公司的高管们在展望未来的时候曾表示对上述产品的重视对公司规模和深度的扩展都将有很大帮助。随着大规模Web应用的普及,无论是用户总量还是数据和交易总量都将以前所未有的速度迅速增长,因此,对绝大部分企业而言,应用的可扩展性变得非常重要。原MySQL公司的产品副总裁 Zack Urlocker表示,他们正和Sun的性能工程师紧密合作,以便找出MySQL服务器以及特定的存储引擎可能存在的瓶颈。他们进行了很多在极端条件下的压力测试,并利用Sun的Dtrace等技术在显微镜下对应用程序的性能进行分析,以便找到瓶颈所在并进行有效的调试。在并购之前,Sun和MySQL两家公司各自投入了一定精力到Memcache的研发当中。Memcache是一个高效分布式缓存系统,专门用于为数据库服务器大量减负,并通过全局缓存将数据库的负荷分配到低开销服务器。一些高通量的网站已经采用这项技术来进行网站性能优化。而MySQL也在努力将其自身和Sun关于这项技术各自的研究成果整合起来。科技产业分析公司451 Group的分析员Matt Aslett表示,重心转向基于Web架构的企业应用对MySQL的发展百利而无一害:“Sun在收购MySQL的时候曾宣布将会把资源投入到开源数据库,将其作为关键任务高性能应用程序的一个选择。Sun的声明是这样说的,由于这些应用程序能够部署到基于Web的架构,所以Sun将会对这些应用程序提供支持。因此,如果将业务重心转向为内部应用程序部署而设的面向服务架构,那么MySQL的实用性也将大大提高。”Aslett及其同僚 Raven Zachary在最近发表的一篇关于开源软件对数据库市场的影响的报告中,发现像MySQL和PostgreSQL这样的开源数据库事实上并不能代替非共享的私有产品。相反,该报告指出,企业对开源数据库的应用很广泛,但也很肤浅,缺乏深度,通常只是为了在特定的应用领域中,避免由于新项目的启动需要向私有软件供应商提交额外的认证许可费用而部署开源软件。该报告还罗列了这种现象出现的一系列原因,包括对企业功能、服务和支持等方面的内容。不过,Urlocker表示,谈到传统的企业数据库应用,MySQL的重点并不在于要擂倒其私有的竞争对手,而是要成为Web 2.0企业的核心数据库。Urlocker称,在Web 2.0应用和企业2.0应用之中,MySQL的增长速度和数量已经非常惊人。旧的关系数据库管理系统市场领域远不及这个领域发展迅猛。Web 2.0应用和所谓的企业2.0应用的最佳实务将成为未来十年市场增长的基础。所以,MySQL的计划是继续满足新应用开发人员利用 Web基础构建可扩展的应用程序的需求。Urlocker还表示,像数据仓库这样的领域对于开源来说还是一片刚刚开垦的处女地,在2008年,随着在顶级 ... MySQL | HAWEBS.NET | 星期四, 25 February 2010 READMORE
|
|
很多人看到了Android平台作为一个MID终端主要面向个人,但是MID可以很好作为一个企业应用终端,通过Google最新的“云计算”我们已经看到了些眉目,Android手机上包含了SQLite端,同时通过无线3G网络可以轻松的访问Google Apps组件,针对企业办公也是一种新的方向,在这一点微软Windows CE平台已经加入了SQL Mobile的支持。未来的Cloud计算中谁更有优势呢? 看来Windows Live发展不是很顺利,但是现在GG ... SQLite | HAWEBS.NET | 星期三, 24 February 2010 READMORE
|
|
SQLite第一个Alpha版本诞生于2000年5月. 至今已经有9个年头了. SQLite也迎来了一个版本 SQLite 3已经发布.SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起 ... SQLite | HAWEBS.NET | 星期六, 20 February 2010 READMORE
|
|
国外媒体消息,Adobe公司周一已经正式表示将帮助并赞助开源项目SQLite数据库。此前该项目已经得到了两个大公司的支持,它们分别是Mozilla和Symbian。Adobe公司负责开源项目的Dave McAllister也在博客上证实了这个消息,他表示:“通过支持SQLite的工作,Adobe可以改善并增强SQLite的功能等等” “Adobe支持SQLite社区的举动显示了Aodbe为开发源码做出的承诺,并且,为了社会的最佳利益,SQLite应保持独立和自主”但是实际上严格的说,SQLite并不完全符合开发源码项目的要求,SQLite的底层代码应该是免费提供的公有财产,并不符合开放源码项目的技术要求,但是该软件的大部分代码都是开源的。目前Adobe ... SQLite | HAWEBS.NET | 星期三, 24 February 2010 READMORE
|
|
这是我唯一看到的 Web 2.0 公司使用 PostgreSQL 的,可惜还失败了。FeedLounge 是一个提供在线 RSS Reader 的站点。已经在2007年6月1日黯然宣布失败。这里不去讨论他们失败的各种原因,只说说从他们 Blog 上看来的关于他们选择数据库的经验。FeedLounge 在数据库的使用上路线是这样的:MySQL(MyISAM) --> MySQL(InnoDB) --> PostgreSQL最初是 MyISAM 方式,迁移到 InnoDB ,数据库从大约 1G 膨胀超出了 10G,而且发现引发了新的性能问题,经过尝试发现不能解决后,迁移到 PostgreSQL,总存储从 InnoDB 方式的 34G 缩小到 9.6G,而且,恢复时间也只是原来的大约 ... PostgreSQL | HAWEBS.NET | 星期三, 17 February 2010 READMORE
|
|
这篇文档主要描述了SQLite类库的结构。这篇文档的内容对于那些想了解和修改SQLite内部结构的人将会非常有用。简介显示了SQLite的主要成分及各成分之间是如何相互关联的。接下来的文本将简要的介绍每个单一的成分。这篇文档描述SQLite第三版,它和 2.8版以及早期的版本基本相似,但在一些细节上是有区别的。接口程序SQLite类库大部分的公共接口程序是由main.c,legacy.c, 和vdbeapi.c源文件中的功能执行的。 但有些程序是分散在其他文件夹的,因为在其他文件夹里他们可以访问有文件作用域的数据结构。sqlite3_get_table()这个程序是在table.c中执行的。sqlite3_mprintf()在printf.c中执行。sqlite3_complete()在tokenize.c中执行。 Tcl 接口程序用tclsqlite.c来执行。为了避免和其它软件在名字上有冲突,SQLite类库中所有的外部符号都是以sqlite3为前缀来命名的。这些被用来做外部使用的符号(换句话说,这些符号用来形成SQLite的API)是以sqlite3_.来命名的。Tokenizer当执行一个包含SQL语句的字符串时,接口程序要把这个字符串传递给tokenizer。Tokenizer的任务是把原有字符串分成一个个标示符,并把这些标示符传递给剖析器。Tokenizer是在C文件夹tokenize.c中用手编译的。在这个设计中需要注意的一点是,tokenizer调用parser。熟悉YACC和BISON的人们也许会习惯于用parser调用 tokenizer。 The author of SQLite的作者已经尝试了这两种方法,并发现用tokenizer调用parser会使程序运行的更顺利。YACC使程序更滞后一些。ParserThe parser是一个部分,它基于文件场景赋予tokens意思。SQLite的parser是由LemonLALR(1) parser generator产生的。Lemon和YACC/BISON一样做同样的工作,但是它使用不同的输入语句,这个输入语句是不易出错的。 Lemon也产生一个parser,这个parser是可重入的并且是线程安全的。 Lemon 定义了无终端解除程序的概念,所以当遇到语法错误的时候,它不会泄露内存。驱动Lemon的原文件在parse.y.因为lemon是一个在发展机械上不常见的程序,所以lemon的源代码(只是一个C文件)是在SQLite分布区的"tool"子目录下的。 lemon的文档是在分布区的 "doc"子目录下的。代码发生器在剖析器收集完符号并把之转换成完全的SQL语句时,它调用代码产生器来产生虚拟的机器代码,这些机器代码将按照SQL语句的要求来工作。在代码产生器中有许多文件; attach.c, auth.c, build.c, delete.c, expr.c, insert.c, pragma.c, select.c, trigger.c, update.c, vacuum.c ... SQLite | HAWEBS.NET | 星期三, 24 February 2010 READMORE
|
|
有一些日子没有仔细关注SQLite了,今天打开其主页,发现其最新的版本已经是3.6.22了,更让我惊喜的是它的用户越来越多,而且邮件列表的关注者也越来越多,突然觉得自己已经太old了。惊喜的同时,不得不聊上几句了。首先,来看看都有哪些人在使用SQLite,主页上列举一长串NB的用户,其中不乏像Adobe,Apple,Firefox,甚至连google,Microsoft,SUN这样的用户。据说,Google在它的Desktop for Mac,Google Gears,以及Android,甚至Chrome中都用到SQLite,而且,Google的工程师对SQLite的全文检索功能作了很大的贡献 (contribution)。还有Apple,Micorsoft,SUN等等,这里就不列举了。详细见http://www.sqlite.org /famous.html。有这些公司的参与,对SQLite的发展应该有很大的帮助,尤其是像Google这样的用户。下面从实现及应用的角度来谈谈SQLite,先看看SQLite的特点(功能)吧。特点简单 (simple):SQLite是一个非常轻量级自包含(lightweight and self-contained)的DBMS:一个头文件,一个动态库文件,你就拥有了关系数据库的所有功能了。简单,是SQLite最明显的哲学。它提供的API少而简单。只需要一个DLL文件,你的程序马上就拥有了一个功能强大的数据库引擎,这是一件很美妙的事。小巧(small):我用VS 2005在Windows下编译的3.6.11,Release版为368K,用时不到20秒——而编译MySQL时,要花上几分钟。而当我插入10000条int数据时,内存开销660K,磁盘开销92K。事务(transaction):事务是现代商业数据处理系统最基本的要求,而Access,不论是在可执行文件大小(看了一下Access2003的可执行文件大小为6.32M,两者不是一个量级),还是事务特性,都是不能和SQLite 相比的。并发性(Concurrency):由于SQLite通过OS的文件锁来实现库级锁,粒度很大,但是,它通过一些复杂特殊的处理(具体可以参见分析系列),尽量的提升了读写的并发度。如果你还有担心,你可以看看这篇文章:http://www.dbanotes.net/database /sqlite_cms.html。SQL92:SQLite支持绝大部分的标准SQL语句,你只需要几百K的空间,就可以换来需要上百兆的通用DBMS几乎所有操作了。方便(Convenience):如果你的程序要使用SQLite,只需要将拷贝你的程序目录即可。开源(Opensource):这是它最强大的地方。开源,意味着你可以品读它的源码,你可以随时修改它,加入你自己的特性,而这一切完全免费的。开源,是一种精神。实现部分好了,现在从实现的角度来谈谈个人体会,这也是我比较关注的。SQLite是一款优秀的嵌入式数据库管理系统,这里有两层含义:一是它经常作为动态库嵌入到应用程序;另外一方面它通常用于嵌入式设备或其它要求较低的桌面应用。如果把它作为内存数据库,个人觉得不是很适合。毕竟,它的写并发性不是很好,此时, TimesTen也许会更好,Berkey DB也许是一个不错的选择。SQLite这样的嵌入式数据库与主存数据库的应用场景、实现以及对资源的需求都是不一样的。(1)事务处理事务的核心问题有两个:并发控制和恢复。解决了并发控制和恢复问题的系统,就能允许它的用户假设程序是原子的(atomically)执行的——好像没有其它的程序同时执行;而且是可靠的(reliably)——不会产生失败。原子性和可靠性的抽象,则称为事务(transaction)。其实,事务并不是DBMS的专利,任何分布式系统,都面对并发和恢复问题,而解决的方法就是事务,只不过,我们更常听到DBMS中的事务。并发控制保证事务的原子执行,它使得交错执行的事务看起来是一个接一个的顺序执行的,完全没有交错执行。如果交错执行的结果与顺序执行的结果一致,则称为串行化(serializable)。恢复使得数据库仅仅包含那些正常完成的事务的结果。如果事务在执行的过程中发生错误,不能继续进行,恢复算法必须清除部分完成事务产生的影响。并发控制SQLite只支持库级锁,库级锁意味着什么?——意味着同时只能允许一个写操作,也就是说,即事务T1在A表插入一条数据,事务T2在B表中插入一条数据,这两个操作不能同时进行,即使你的机器有100个CPU,也无法同时进行,而只能顺序进行。表级都不能并行,更别说元组级了——这就是库级锁。但是,SQLite尽量延迟申请X锁,直到数据块真正写盘时才申请X锁,这是非常巧妙而有效的。恢复SQLite的恢复技术是影子分页技术(shadow paging)技术的典型代表。DBMS的常用恢复技术有影子分页技术与基于日志的技术,前者在早其数据库管理系统中用到,比如System R,现代DBMS中已经很难见到它的身影了。影子分页技术与基于日志技术相比,优点是实现简单,消除了写日志记录的开销,恢复的速度也快(不需要redo和undo)。影子分页的缺点就是事务提交时要输出多个块,这使得提交的开销很大,而且以块为单位,很难应用到允许多个事务并发执行的情况——这是它致命的缺点。(2)查询处理SQLite的查询处理本质上就是一个SQL编译器和一个虚拟机。而实现这些功能只用了十多个文件,整个实现实现简单而有效,但是也存在一些问题。首先,SQLite字典数据很简单,实际上它的字典就一个表sqlite_mater,所有的信息都是通过对sqlite_master中SQL语句进行解析获取的,而解析一个SQL语句,都需要进行词法分析、语法分析、甚至虚拟机代码的生成。而这一过程是很需要时间的,而且,查询计划也没有重用。其次,查询优化还比较简单,特别是连接操作,只通过循环来做(MySQL也一样)。但是,仅仅数万代码,我们不能对它要求太苛求。(3)存储模型SQLite的文件物理上被划分成相同大小的块;逻辑上划分成一些B-Tree——每个表对应一个B-Tree。而没有像Oracle,或者 InnoDB对数据块进行复杂的逻辑组织,这种按需分配数据块的做法必然影响磁盘的读写性能。不过,归根到底,还是源于它的应用场景。(4)缓冲区管理Buffer的管理对于DBMS,无疑是非常重要的,SQLite在其它方面做得比较简单,但是在缓冲区管理这一块,它还是做足了功夫。 SQLite采用DBMS常用的LRU算法。更值得一提的是,在较新的版本中,SQLite采用和虚拟文件系统的类似的方式,实现了让默认缓冲区管理子系统可以很容易的切换成其它的缓冲区管理算法,这是非常灵活的。(5)I/OSQLite采用简单的阻塞I/O,较新的版本将异步I/O作为可选的扩展,但是,由于SQLite没有日志,所以,事务中ACID中的D,就无法保证,所以,如果你的数据很关键,请不要用 SQLite的异步I/O。另一方面,实际上,很多嵌入式操作系统,比如Windows ... SQLite | HAWEBS.NET | 星期三, 24 February 2010 READMORE
|
|
Sun被Oracle收购后,关于MySQL何去何从一直被业界争论不休。这个最受欢迎的开源数据库,因为这起并购交易存在不确定性而变得扑朔迷离,导致大量用户流失。近日,PostgreSQL创始人之一的Bruce Momjian在接受媒体采访时表示MySQL衰退,这并不是一件很令人惊奇的事情。 Bruce Momjian认为MySQL衰退缘自2个方面的原因,其一,MySQL定位不明晰,其二MySQL不是一个纯粹的开源数据库。Bruce Momjian进一步解释:之所以说MySQL定位不明晰,是因为其初始目标定位在网络应用的用户层面上,而互联网企业要求的是一个快速反应时间和较小的用户量,但相对大用户来说,MySQL就有点捉襟见肘了。虽然MySQL非常努力去试图满足大客户的应用,想扩展企业级应用标准,但因为前期开发的框架不是很明晰,导致不是很成功,结果是我们看到的先是被Sun收购,又被Oracle并购。作为一个小型关系型数据库管理系统,MySQL的开发者为瑞典MySQLAB公司,并在2008年1月16日被Sun微系统公司以10亿美元的价格收购。Bruce Momjian认为:MySQL数据库是一个公司的一产品,是一个公司做了绝大部分开发的工作,所以MySQL不是完全意义上的开源数据库,这是个劣势,不能得到绝大多数人的支持,或让社区更多人参与进来。IDC的数据显示,2008年MySQL营收为4000万美元,市场份额为0.2%。MySQL每天下载量约为6万次,是当前应用最广泛的开源数据库, 按照欧盟委员会的说法,其实际竞争力远高于按市场份额计算应有的水平。同时,欧盟委员会还表示担忧,甲骨文收购开源软件数据库软件MySQL可能会消除重要的竞争对手和提高这种软件的价格。尽管Oracle承诺会保持MySQL的独立性,众多反对者还是担心,如果MySQL被最大的私有数据库厂商 ... PostgreSQL | HAWEBS.NET | 星期五, 19 February 2010 READMORE
|
|
Derby是使用纯Java实现的数据库引擎。 Derby能运行在任何被认证的Java虚拟机(JVM)上。你计算机安装的JAVA版本必须高于1.4。 Java开发工具包(JDK)在对新Derby用户的自学习教程被要求执行。使用java ... Derby | HAWEBS.NET | 星期四, 11 March 2010 READMORE
|
|
Derby产品文档包括手册和API参考。Derby入门指南 描述如何安装和配置Derby。 包括针对新用户的自学教程和针对有JDBC经验用户的快速指南。 本指南同时也介绍了 dblook, ij,和sysinfo工具和Derby包含和使用的库和脚本。Derby开发者指南 描述Derby所有的通用部署功能和特性,比如Derby的JDBC和SQL特性,部署Derby应用,使用属性文件、安全和其他高级特性。Derby参考手册 文档描述了SQL语言在Derby中的实现。 手册提供了Derby的JDBC和JTA实现、关键字、系统表、属性和SQL异常(SQLExceptions)的相关参考信息。Derby调优 文档提供了提高性能小技巧、更深层次的性能讨论和Derby的优化信息。Derby工具包指南 描述如何使用Derby的工具包,比如dblook、ij和sysinfo,和如何使用系统过程导入导出数据,以及如何在数据库中使用Java代码。Derby服务器和管理指南 第一部分讨论了服务器配置的,以及如何进行客户端编程和数据库管理。 一些系统可能需要管理进程,比如备份数据库。 这些进程独立于任何服务器框架,但是是多用户或大小系统的独特特性。 第二部分讨论了管理问题,比如备份和死锁调试。Derby API参考 API参考是由Derby公共类自动生成而来。 不提供JDBC的API,因为这是Java 2 标准版平台的一部分。 更多API类的信息,请参考Derby参考手册。 你可以从下Apache的官方地址中访问10.5版手册和API参考产品文档随Derby同时安装。 手册被安装在docs子目录中。 ... Derby | HAWEBS.NET | 星期四, 11 March 2010 READMORE
|
|
POSTGRESQL文档转移服务器 PostgreSQL | HAWEBS.NET | 星期四, 15 October 2009 READMORE
|
|
2009年9月23日,PostgreSQL项目团队公布了PostgreSQL关系型数据库系统所有分支版本的更新,包括:8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22以及7.4.26版本。这次更新主要修改了“无法再连接共享内存”的问题,它一直困扰着许多Windows PostgreSQL的用户。另外更多的就是对8.4.x版本的更新,详情请查看PostgreSQL ... PostgreSQL | HAWEBS.NET | 星期四, 4 March 2010 READMORE
|
|
近日,Sun公司最终再次成为人们关注的焦点。该公司最近宣布以10亿美元的价格收购开源数据库领导厂商MySQL。对于Sun公司、用户和投资者来说,这都是一个惊天动地的新闻。毫无疑问,这次收购将给Sun带来新的机遇。不过同时它也带来了五个关键的挑战。本文我们将一起看一下这五个挑战是什么,以及 Sun首席执行官Jonathan Schwartz将需要如何解决它们。首先,让我们看一个小插曲。一年前我曾经建议 Schwartz,不要软件硬件两手抓,要么收购AMD公司,从而专注于微处理器市场;要么收购 Red Hat,拉起开源软件的大旗。巧合的是,在这之后,Sun除了开放其Solaris操作系统之外,其首席执行官Schwartz还令人惊讶的出现在去年夏天的SugarCRM开发者大会上,他与开源社区一直保持着紧密的联系。同时,MySQL公司开发出的同名数据库备受称赞,它非常适合运行Web应用。而MySQL公司同时也是我认为在2008年将确定统治地位的十大开源公司之一。事实上,在此之前多数人认为,MySQL公司将在今年实现IPO上市。但是现在Sun拿出10亿美元一举把它拿下了。我们不得不说, Schwartz先生,你做出了一个非常英明的决策。大笔一挥,就让Sun从一个传统的硬件提供商摇身变为一个开源市场的领导者。或许这不会解决Sun需要面对的所有短期收益和成长方面的挑战。但是,它将确保Sun将拥有数年的时间来解决这个问题。那么,通过收购MySQL,Sun公司最终将获得什么?这个公司将面临什么样的挑战?下面就是我所认为的这个交易会带来的一些最大的挑战。一、挑战1——与甲骨文关系如何发展?数年以来,Sun与甲骨文都是非常好的战略合作伙伴关系,现在Sun通过收购MySQL也有自己的数据库产品,这难免对它与甲骨文的关系带来影响。在某些方面,MySQL与甲骨文在数据库市场上是竞争的关系。尽管甲骨文倾向更关注闭源应用和高端企业数据库,而MySQL则更适合低端Web 应用。但是两者之间的业务无疑存在重叠之处,而且在未来几年中,甲骨文和MySQL的竞争关系将越来越大。不过,我对此并不太担心。甲骨文和微软在很多方面也是既竞争又合作的关系。那么,甲骨文和Sun也可以保持这种关系。二、挑战2——来自Red Hat几个月以前,我曾经预言开源厂商Red Hat和MySQL将携手挑战任何对手,毕竟,Red Hat所提供的产品已经不仅限于Linux操作系统,现在它还提供中间件产品。另外Red Hat还与像SugarCRM之类的开源应用提供商保持紧密的联系。同时,MySQL也与众多开源应用提供商关系不错。现在问题变成了:这个开源数据库(MySQL)或这个开源操作系统(Red Hat Linux)还将是开源领域的中心吗?就目前来说,这不是什么问题。MySQL和Red Hat都有足够的成长空间。但是,Sun/MySQL的组合将需要面临与Red Hat既竞争又合作的关系。三、挑战3——来自软件开发者作为一个闭源软件公司,Sun具有很长的历史。Sun Sloaris操作系统加上Sun的SPARC处理器曾经在数年的时间内统治网络计算时代。但是Solaris具有非常有限的软件开发者社区,他们当中很多专注于开发高价的华尔街金融应用。与之完全不同的是,MySQL具有一个迅速增长的全球开发者群体,他们在为MySQL平台增加增值应用。Sun将需要确保它可以继续重视开源传统,因为这个公司不可能承受失去MySQL最关键追随者所带来的损失。四、挑战4——转变合作伙伴和集成商的观点开源市场非常热门。但是许多集成商——尤其是专注于华尔街和金融服务的高端Sun集成商——还没有发现开源应用的强大之处。Sun将需要将这些怀疑论者转化为开源行业的拥护者。五、挑战5——文化上的碰撞你曾经为一个被大型传统技术公司收购的小公司工作过吗?你曾经工作在一个决策可以立即被作出——而不是经过开会讨论的敏捷型企业吗?如果有的话,你会体会到Sun收购MySQL后所面临的两种文化的碰撞。作为一个快速发展的Web 2.0先驱,MySQL需要对自身进行调整以适应Sun更成熟的文化。反过来说,Sun需要保持MySQL的快速增长、创造性和开放的文化中最好的部分。在以上Sun-MySQL组合所面临的所有挑战中,我认为第五个是其中最大的一个。不过,Sun将采取什么应对措施,这两个公司将走向何方?还需时间来证明。请在你的日历上圈出4月14日这个重要的日子。这是MySQL年度大会将在圣克拉拉召开的日子。Jonathan ... MySQL | HAWEBS.NET | 星期四, 25 February 2010 READMORE
|
|
微软对 Yahoo! 的收购持久战可能让很多人都新闻疲劳了。但今天看到的这个关于 Yahoo! 的技术新闻还是值得看一下的:Size matters: Yahoo claims 2-petabyte database is world's biggest, busiest 。Yahoo! 的 VP Waqar Hasan 在文中披露 Yahoo!的数据仓库当前容量为 2PB。用于分析每月5亿的用户访问行为,每天处理 240 亿次的事件,号称世界上单个最大、最忙的数据库。尽管有的数据仓库容量要比雅虎的大。但那些 DB 或是存储非关系性数据,或是存储的压缩后的原始数据,不能进行即时分析,雅虎之前的也有数百 T 这样的数据。眼下 Yahoo!数据仓库存储的是结构化、可分析的数据。预计下一年可能膨胀到数十 PB ... PostgreSQL | HAWEBS.NET | 星期三, 17 February 2010 READMORE
|
|
More in: PostgreSQL, SQLite, Derby, MySQL
|
|
|