H2是ThomasMueller提供的一個開源的、純java實現的關系數據庫。H2是一個開源的嵌入式數據庫引擎,采用java語言編寫,不受平台的限制,同時H2提供了一個十分方便的web控制台用于操作和管理數據庫内容。H2還提供兼容模式,可以兼容一些主流的數據庫,因此采用H2作為開發期的數據庫非常方便。
H2最大的用途在于可以同應用程序打包在一起發布,這樣可以非常方便地存儲少量結構化數據。它的另一個用途是用于單元測試。啟動速度快,而且可以關閉持久化功能,每一個用例執行完随即還原到初始狀态。H2的第三個用處是作為緩存,作為NoSQL的一個補充。當某些場景下數據模型必須為關系型,可以拿它當Memcached使,作為後端MySQL/Oracle的一個緩沖層,緩存一些不經常變化但需要頻繁訪問的數據,比如字典表、權限表。不過這樣系統架構就會比較複雜了。