H2 Database简介

H2 Database是什么?

H2 Database是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2 Database提供了一个十分方便的web控制台用于操作和管理数据库内容。H2 Database还提供兼容模式,可以兼容一些主流的数据库,因此采用H2 Database作为开发期的数据库非常方便。

H2 Database的作用

1.H2 Database最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。
2.H2 Database可用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。
3.H2 Database可作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型,可以拿它当Memcached使,作为后端MySQL/Oracle的一个缓冲层,缓存一些不经常变化但需要频繁访问的数据,比如字典表、权限表。不过这样系统架构就会比较复杂了。

H2 Database数据库运行方式

内存模式

数据库只在内存中运行,关闭连接后数据库将被清空,适合测试环境,连接字符串:jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1,如果不指定DBName,则以私有方式启动,只允许一个连接。

嵌入式

数据库持久化存储为单个文件。连接字符串:jdbc:h2:file:~ /.h2/DBName;AUTO_SERVER=TRUE。~/.h2/DBName表示数据库文件的存储位置,如果第一次连接则会自动创建数据库。

服务模式

Web Server

此种运行方式支持使用浏览器访问H2 Console。

CP Server

支持客户端/服务器端的连接方式。

PG Server

支持PostgreSQL客户端。

H2 Database的优势

H2 Database采用纯Java编写,因此不受平台的限制。只有一个jar文件,十分适合作为嵌入式数据库试用,提供了一个十分方便的web控制台用于操作和管理数据库内容。

运行模式

嵌入式模式

嵌入式模式下,应用与H2运行于同一个JVM中,H2 Database被应用启动。该模式也是性能最好的模式,也是官方推荐的模式。

服务器模式

服务器模式下,H2 Database被H2 Server启动(独立于应用的JVM),应用与数据分离,应用使用远程连接访问数据库,服务器可以与应用部署与同一台机器,也可以部署与另一台机器。
事实上,H2 Server本身也是使用嵌入式模式来启动运行H2 Database的。显然,由于服务器模式是通过远程连接访问数据,其性能也要低于嵌入式模式。

混合模式

该模式是嵌入式模式与混合模式的融合。一个应用启动嵌入式模式的H2 Database,其他应用可以将其作为服务器模式来远程访问。

你可能感兴趣的:(H2 Database简介)