本资源由 伯乐在线 - 刘立华 整理

H2是一个开源的内存数据库。Java编写、快速、小巧(1.5MB jar包)还提供了Web控制台管理数据库内容。

主要功能

  • 非常快速的数据库引擎。
  • 开源。
  • Java编写。
  • 支持标准SQL、JDBC API。
  • 支持嵌入式模式、服务器模式和集群。
  • 强大的安全功能。
  • 支持PostgreSQL的ODBC驱动。
  • 多版本并发。

附加功能

  • 支持基于硬盘或内存数据库和表、只读数据库、临时表。
  • 支持事务(read committed),两步提交机制(2-phase-commit)。
  • 多个连接,表级锁。
  • 基于成本的优化、复杂查询采用遗传算法、零管理。
  • 支持可滚动和可更新的结果集、大结果集、外部结果排序、函数可以返回结果集。
  • 加密的数据库(AES)、SHA-256加密的密码、加密功能、SSL。

SQL支持

  • 支持多schema、information schema(Support for multiple schemas, information schema)。
  • 参照完整性/使用级联外键约束、check约束。
  • 内连接和外链接、子查询、只读视图和内嵌视图。
  • 触发器及Java函数/存储过程。
  • 很多内置功能,包括XML和无损压缩。
  • 广泛的数据类型,包括大对象(BLOB/CLOB)和数组。
  • 队列和自增长的列、计算列(可用于基于索引的功能)。
  • 支持ORDER BY、GROUP BY、HAVING、UNION、LIMIT、TOP。
  • 支持排序规则,包括ICU4J库。
  • 支持用户和角色。
  • 兼容模式支持IBM DB2、Apache Derby、HSQLDB、MS SQL Server、MySQL、Oracle、和PostgreSQL等。

安全功能

  • 包括对SQL注入问题的解决方案。
  • 使用SHA-256和盐(SHA-256 and salt)认证用户密码。
  • 对于服务器模式的连接,用户密码从不会以纯文本格式通过网络传输。
  • 所有数据库文件(包括用于备份数据的脚本文件)可使用AES-128算法加密。
  • 远程JDBC驱动支持通过TLS的TCP/IP连接。
  • 内置的web服务器支持通过TLS连接。
  • 密码使用char数组发送到数据库,而不是String。

其它功能和工具

  • 体积小巧(小于1.5MB),低内存需求。
  • 多种索引类型(b-tree、tree、hash)。
  • 支持多维索引。
  • 支持CSV文件。
  • 支持链表,及一个内置的虚拟“range”表。
  • 支持EXPLAIN PLAN声明;复杂的跟踪选项。
  • 数据库关闭可以延迟或者禁用以提高性能。
  • 自带基于web的控制台应用(已译成多国语言)。
  • 数据库可以生成SQL脚本文件。
  • 包含一个恢复工具,可以转储数据库内容。
  • 支持变量(例如计算运行总和)。
  • 自动重新编译预处理语句。
  • 使用少量数据库文件。
  • 为每一条记录和日志条目使用校验和以保证数据完整性。
  • 经过充分测试(高覆盖率、随机压力测试)。

连接模式简介

支持以下三种模式:

  • 嵌入式模式(使用JDBC的本地连接)。
  • 服务器模式(使用JDBC或ODBC的通过TCP/IP的远程连接)。
  • 混合模式(本地和远程连接同时存在)。

嵌入式模式

在嵌入式模式下,应用程序使用和JDBC相同的JVM打开数据库。这是最快、最简单的连接方式。缺点是数据库任何时候只在一个虚拟机中打开。同时支持持久化和在内存中存储数据。没有同时打开数据库的数量限制,没有连接数限制。

服务器模式

当使用服务器模式时(也称作远程模式或者客户端/服务端模式),应用程序使用 JDBC或ODBC API以远程方式打开数据库。数据库服务器需要在相同或者另外的虚拟机,或者干脆另外一台计算机启动。 很多应用程序可以同时通过连接到这台服务器连接同一个数据库。在内部,该服务器进程以嵌入式模式打开多个数据库。 由于所有数据通过TCP/IP传输,服务器模式要比嵌入式模式慢一些。同时支持持久化和在内存中存储数据。每台服务器没有同时打开数据库的数量限制,没有 连接数限制。

混合模式

混合模式是嵌入式模式和服务器模式的组合。第一个应用程序在嵌入式模式中连接到数据 库,但也启动了一个数据库服务器,这样其他应用程序(运行在不同进程或虚拟机中)可以同时访问数据。本地连接像嵌入式模式一样快速,远程连接稍慢。 数据库服务器可以通过API,或者自动化(自动混合模式)启停。当使用自动混合模式时,所有要连接数据库的客户端可使用完全相同的URL。

开发资源

  • 下载
  • 安装步骤
  • 速查表(CheetSheet)
  • 新手指南
  • 教程
  • 功能列表
  • 性能
  • 高级功能
  • 参考资源
    • SQL语法
    • 函数
    • 数据类型
    • Javadoc
    • PDF (1 MB)
    • 架构介绍

官方网站:http://www.h2database.com/
开源地址:https://github.com/h2database/h2database

from:http://hao.jobbole.com/h2-2/

转载于:https://www.cnblogs.com/GarfieldEr007/p/10198029.html

H2:开源内存数据库引擎相关推荐

  1. 几种开源工作流引擎的简单比较(转)

    摘要:目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 ...

  2. Java三大主流开源工作流引擎技术分析

    首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入.但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题! 三大主流工作流引擎:Shark,oswo ...

  3. 转:典型开源3D引擎分类比较

    常见的3D引擎有:Unreal.Quake.Lithtech.OGRE.Nebula.Irrlicht.Truevision3D... 其中开源免费的有:OGRE.irrlicht.fly3d.Neo ...

  4. 你需要知道的MySQL开源存储引擎TokuDB

    在四月份的Percona Live MySQL会议上, TokuDB庆祝自己成为开源存储引擎整一周年.我现在仍能记得一年前它刚创建时的官方声明与对它的期望.当时的情况非常有意思,因为它拥有帮助MySQ ...

  5. DokuWiki 开源wiki引擎程序

    DokuWiki是一个开源wiki引擎程序,运行于PHP环境下.DokuWiki程序小巧而功能强大.灵活,适合中小团队和个人网站知识库的管理. 官网:https://www.dokuwiki.org/ ...

  6. 两大开源游戏引擎Cocos2d-x及OGEngine对比分析

    在近期的全球移动开发者大会上,触控发布了Cocos 3D引擎:而在差不多同时间,以安卓为主的OGEngine也发布了新版本,并宣布将支持跨平台. Cocos2d-x和OGEngine都是当前比较受开发 ...

  7. 三大主流开源工作流引擎技术分析与市场预测

    1.从<功夫>说起 时下的新新人类看到我,一定会认为在下是个十足的老古董,这不,<功夫>这样的片子我到今年2月底才看.不过看过<功夫>,我想的一定比一般的人多:周星 ...

  8. gui窗口遮挡算法_软件更新丨AWTK 1.2 发布,国产开源 GUI 引擎

    AWTK全称为Toolkit AnyWhere,是ZLG倾心打造的一套基于C语言开发的GUI框架.旨在为用户提供一个功能强大.高效可靠.简单易用.可轻松做出炫酷效果的GUI引擎,并支持跨平台同步开发, ...

  9. 五大开源游戏引擎介绍

    本文总结分享了五个开源游戏引擎.对游戏编程初哥来说,选择一个好的游戏引擎是一个很头疼的事.本文介绍的五个游戏引擎不仅被证明是可靠的,而且全部开放源码. AD:   对游戏编程初哥来说,选择一个好的游戏 ...

最新文章

  1. shiro配置参考(一)
  2. c++中的输入输出方法
  3. IOCP 浅析与实例
  4. linux安装汉语输入法,在linux中安装google拼音输入法
  5. php速度优化,php优化及高效提速问题小结
  6. 电子科技大学研究生计算机与科学,2019年电子科技大学计算机科学与工程学院考研复试分数线...
  7. Java Concurrent--死锁/饥饿/活锁
  8. 经常玩电脑正确的坐姿_「姿态训练」保持良好坐姿的八个步骤
  9. jQuery鼠标事件整理
  10. mac安装mysql8.0
  11. CentOS 查看日志命令
  12. 鸿蒙出来后H5足以取代原生app
  13. 四、Testbench
  14. CCS问题:Texas Instruments XDS100v2 USB Emulator_0/C28xx : Target must be connected before loading prog
  15. Dcoker安装mysql
  16. 使用python随机生成IP+域名并写入excel表
  17. 巧用 即刻搜索事件 input propertychange 监听输入框字数
  18. Android跑马灯效果
  19. 基于Java的高考志愿填报与录取系统
  20. 不出国门,能拿海外硕士学位的两种方式

热门文章

  1. 点点看   只有想不到没有看不到
  2. 简单粗暴告诉你什么是区块链
  3. 矩阵专职_新的篇章开始了-我将以专职技术作家的身份加入RunCloud
  4. 元组、列表、字典及集合练习
  5. Hadoop集群的基本操作(四:Hive的基本操作)
  6. 1078 Hashing
  7. java培训教程:什么是匿名内部类?怎样创建匿名内部类?
  8. php-fpm慢执行日志
  9. struts2 validate验证
  10. bugzilla部署