H2是ThomasMueller提供的壹個開源的、純java實現的關系數據庫。
H2是壹個開源的嵌入式數據庫引擎,采用java語言編寫,不受平臺的限制,同時H2提供了壹個十分方便的web控制臺用於操作和管理數據庫內容。H2還提供兼容模式,可以兼容壹些主流的數據庫,因此采用H2作為開發期的數據庫非常方便。
H2最大的用途在於可以同應用程序打包在壹起發布,這樣可以非常方便地存儲少量結構化數據。
它的另壹個用途是用於單元測試。啟動速度快,而且可以關閉持久化功能,每壹個用例執行完隨即還原到初始狀態。
H2的第三個用處是作為緩存,作為NoSQL的壹個補充。當某些場景下數據模型必須為關系型,可以拿它當Memcached使,作為後端MySQL/Oracle的壹個緩沖層,緩存壹些不經常變化但需要頻繁訪問的數據,比如字典表、權限表。不過這樣系統架構就會比較復雜了。
擴展資料:
H2數據庫運行方式:
1、內存模式
數據庫只在內存中運行,關閉連接後數據庫將被清空,適合測試環境,連接字符串:jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1,如果不指定DBName,則以私有方式啟動,只允許壹個連接。
2、嵌入式
數據庫持久化存儲為單個文件。連接字符串:jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE。~/.h2/DBName表示數據庫文件的存儲位置,如果第壹次連接則會自動創建數據庫。
3、服務模式
H2支持三種服務模式:webserver:此種運行方式支持使用瀏覽器訪問H2Console。
CPserver:支持客戶端/服務器端的連接方式。
PGserver:支持PostgreSQL客戶端。
-H2