Home 数据库 Derby Derby 系统要求

Derby 系统要求

注意,将在新窗口中打开。 PDF打印E-mail

Derby是使用纯Java实现的数据库引擎。 Derby能运行在任何被认证的Java虚拟机(JVM)上。

你计算机安装的JAVA版本必须高于1.4。 Java开发工具包(JDK)在对新Derby用户的自学习教程被要求执行。

使用java -version命令,来检查Java虚拟机安装的正确版本。

Derby 系统要求

Derby是使用纯Java实现的数据库引擎。 Derby能运行在任何被认证的Java虚拟机(JVM)上。你计算机安装的JAVA版本必须高于1.4。 Java开发工具包(JDK)在对新Derby用户的自学习教程被要求执行。使用java ...

Derby | HAWEBS.NET | 星期四, 11 March 2010

READMORE

MicroOLAP PostgreSQL数据库建模工具发布新版本

MicroOLAP PostgreSQL 数据库建模工具使用整合图形化界面,可以让你清晰和有效的数据库结构;查看所有数据表的完整结构;表、视图之间的关系;存储过程以及其他对象。使用这个工具中的修改选项,你可以很容易在服务器上生成物理数据库,根据你的模型修改物理数据库。你可以从下面的地址中下载测试版http://microolap.com/products/database/postgresql-designer/download/更新日志如下:[!] WineHQ support enhanced[+] DEFERRABLE clause now proccessed for FOREIGN KEY by SQL Reverse Engineering[*] SQL Reverse Engineering: function now created if specified in CREATE TRIGGER and "Create ...

PostgreSQL | HAWEBS.NET | 星期四, 4 March 2010

READMORE

Derby 产品文档

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

Derby 10.5.3.0 于2009年8月发布

Derby的最新版 10.5.3.0于2009年8月26日发布。Apache Derby是Apache数据库项目的一个子项目。Derby是支持ISO/ANSI SQL和JDBC标准的纯Java关系数据库引擎。Derby ...

Derby | HAWEBS.NET | 星期日, 21 February 2010

READMORE

FeedLounge使用PostgreSQL的经验

这是我唯一看到的 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

Yahoo! 的数据仓库

微软对 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

SQLite简介

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

开源数据库SQlite再获Adobe赞助支持

国外媒体消息,Adobe公司周一已经正式表示将帮助并赞助开源项目SQLite数据库。此前该项目已经得到了两个大公司的支持,它们分别是Mozilla和Symbian。Adobe公司负责开源项目的Dave McAllister也在博客上证实了这个消息,他表示:“通过支持SQLite的工作,Adobe可以改善并增强SQLite的功能等等” “Adobe支持SQLite社区的举动显示了Aodbe为开发源码做出的承诺,并且,为了社会的最佳利益,SQLite应保持独立和自主”但是实际上严格的说,SQLite并不完全符合开发源码项目的要求,SQLite的底层代码应该是免费提供的公有财产,并不符合开放源码项目的技术要求,但是该软件的大部分代码都是开源的。目前Adobe ...

SQLite | HAWEBS.NET | 星期三, 24 February 2010

READMORE

浅谈SQLite:实现与应用

有一些日子没有仔细关注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

面向企业应用Android集成SQLite和GG Apps

很多人看到了Android平台作为一个MID终端主要面向个人,但是MID可以很好作为一个企业应用终端,通过Google最新的“云计算”我们已经看到了些眉目,Android手机上包含了SQLite端,同时通过无线3G网络可以轻松的访问Google Apps组件,针对企业办公也是一种新的方向,在这一点微软Windows CE平台已经加入了SQL Mobile的支持。未来的Cloud计算中谁更有优势呢? 看来Windows Live发展不是很顺利,但是现在GG ...

SQLite | HAWEBS.NET | 星期三, 24 February 2010

READMORE

PostgreSQL创始人:MySQL衰退属必然

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

Apache Derby 数据库项目

Apache Derby是Apache DB的子项目,是一个使用Java编写的开源关系型数据库。关键特点包括: 1. 程序小巧,基础引擎和内嵌的JDBC驱动总共大约2MB。 2. 基于Java、JDBC和SQL标准。 3. 提供内嵌的JDBC驱动,你可把Derby潜入到基于Java的应用程序中。 4. 支持客户端/服务器模式。 5. 安装、布置和使用简单。 对于如何入门Derby,请参阅IBM 用 Apache Derby ...

Derby | HAWEBS.NET | 星期三, 6 January 2010

READMORE

9.0 Alpha 4 版本发布

第四个PostgreSQL version 9.0的alpha版本已经发布。9.0alpha4已提供下载。这个测试版相对于前一个测试版新增了一些主要的特性。请下载,安装,测试,使用,并且欢迎给开发小组提供相关建议来改善下一个版本。新增特性如下:* Streaming Replication for binary log-based replication of PostgreSQL* New in-memory, high-performance Listen/Notify queue* Automatic row-count return to drivers on SELECT queries* ROWS PRECEDING and ROWS FOLLOWING windowing ...

PostgreSQL | HAWEBS.NET | 星期四, 4 March 2010

READMORE

PostgreSQL 8.4.1发布

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

SQLite的体系结构介绍

这篇文档主要描述了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

More in: PostgreSQL, SQLite, Derby, MySQL

-
+
0

版权所有 © 2010 淡远资讯中心 保留所有权利。
HA WEBSYSTEMS - 开放源代码软件与信息技术服务供应商,相关软件基于GNU/GPL许可协议