我們的應用程序目前使用H2作爲嵌入式數據庫,我們有以下情形:H2數據庫是否適合作爲大型表的嵌入式數據庫?
的H2被用作「臨時數據庫」。插入到H2中的數據通過應用程序任務每30分鐘定期發送/插入Oracle數據庫(「官方」數據庫),並從H2中刪除;
這個主要的「臨時表」在一張表中每小時平均插入183行。
我們還有另外兩個大表(分別爲2100萬和150萬條記錄),主要用於查詢。還有另一個應用程序任務從Oracle逐步更新這些表,在上一次同步後在H2行中更新Oracle中創建/更新/刪除的位置。它也會在每30分鐘發生一次。
我們一直在使用H2。5年,到目前爲止,沒有任何問題,但我們發現在Red Hat official documentation約H2以下警告:
但是,它不應該在生產中使用環境。它是一個非常小的自包含數據源,支持測試和構建應用程序所需的所有標準,但不足以滿足生產使用的要求。
H2是否被設計和可靠地用於像這樣的場景中的生產環境?
有沒有支持這個的基準? H2 official performance benchmark顯示執行時間和性能使用情況,但不說數據量。
嗨,院長。謝謝你的回答。我們將它用作一個持久的數據庫(文件系統)。 –
因此,如果你不需要擴展一個JVM,那麼你仍然會遇到擴展問題,因爲它們不能共享一個嵌入式數據庫。如果沒有其他限制影響你,我想我只是說謹慎行事。 –
@DeanClark 在內存模式下運行時,H2是否共享用於數據存儲的JVM堆內存? – manu