三种开源数据比较.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:4 大小:53KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

三种开源数据比较.doc

三种开源数据比较.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.数据库文件结构H2在建立连接时如果数据库不存在则创建数据库,即通过URL指定数据库位置。通过特定的连接标识可以指定只连接存在的数据库,不存在则抛出异常报错,如下所示:jdbc:h2:/data/sample;IFEXISTS=TRUEFileNameDescriptionNumberofFilestest.h2.dbDatabasefile.Containsthetransactionlog,indexes,anddataforalltables.Format:<database>.h2.db1perdatabasetest.lock.dbDatabaselockfile.Automatically(re-)createdwhilethedatabaseisinuse.Format:<database>.lock.db1perdatabase(onlyifinuse)test.trace.dbTracefile(ifthetraceoptionisenabled).Containstraceinformation.Format:<database>.trace.dbRenamedto<database>.trace.db.oldistoobig.0or1perdatabasetest.lobs.db/*DirectorycontainingonefileforeachBLOBorCLOBvaluelargerthanacertainsize.Format:<id>.t<tableId>.lob.db1perlargeobjecttest.123.temp.dbTemporaryfile.Containsatemporarybloboralargeresultset.Format:<database>.<id>.temp.db1perobjectH2-38H2有log和trace两种日志记录。log针对事务,保存在.h2.db文件里。trace针对数据库的操作记录,提供全面的分析作用。显示分为SYSTEM_OUT、FILE两类,各四个级别:1记录错误信息,2记录普通消息,3记录调试信息,4使用SLF4J生成类似于log的记录信息。这四级均可在URL中指定,例如:jdbc:h2:~/test;TRACE_LEVEL_FILE=3;TRACE_LEVEL_SYSTEM_OUT=3,而数据库运行过程中可通过SETTRACE_LEVEL_SYSTEM_OUT3来临时指定3级以下的trace信息记录方式H2-41。HSQLHSQL有三种类型数据库,内存数据库mem、文件数据库file、只读数据库res。内存数据库不保存任何文件,文件型数据库含有一下2到5个文件,文件名相同,但扩展名不同。*.properties文件主要是数据库的一些参数设定。*.script文件主要是对表和其他数据库对象内容的定义以及非缓存表的数据(非缓存表是通过CREATTABLE建的表)。*.log文件主要记录的是最近对表的修改*.data文件保存缓存表的数据,该文件不是每个数据库必须有的。*.backup文件是最近持久化状态的表的数据文件的压缩备份文件,该文件不是每个数据库必须有的。*.lobs文件用来存储CLOB和BLOB数据。当数据库打开时,*.log记录数据的变化。正常关闭数据库时,该文件会被删除,当非正常关闭时,数据库会根据该文件重做这些操作。*.lck用来表明数据库正在使用,正常关闭数据库时也会删除该文件HSQL-14。HSQLDB支持TEMP表和三种类型的持久表(MEMORY表,CACHED表,TEXT表)当使用CREATETABLE命令时,Memory表时默认类型,它们的数据整体保存在内存当中,但是任何改变它们的结构或者内容,它们会被写到.script文件中。这个脚本文件在数据库下一次打开的时候被对出,内存表重新被创建内容,根temp表不同,内存表时持久化的。CACHED表通过CREATECACHEDTABLE命令建立.只有部分的它们的数据或者索引被保存在内存中,允许大表占用几百兆的内存空间。例外一个优点,在数据库引擎中,启动大量数据的缓存表需要花费少量的时间,缺点是减慢了运行和使用Hsqldb的速度。表相对小的时候,不要使用cache表,在小表中使用内存数据库。从版本1.7.0以后,支持text表,使用CSV(CommaSeparatedValue)或者其它分隔符文本文件作为它们的数据源。你可以特殊指定一个存在的CSV文件,例如从其它的数据或者程序中导出文件,作为TXT表的数据源。同时,你可以指定一个空文件,通过数据库引擎填充数据。TEXT表将比cache表更加效率高。Text表可以指向不同的数据文件。*me