Sleepycat Software 正在收集來自于它的用戶和潛在用戶關于一個新的對象持久 java API(A New Java Persistence API for Berkeley DB)的反饋。該API和其他java領域的持久解決方案例如EJB3,hibernate和jdo有著類似的地方,但也有著重大的不同。
傳統上,Berkeley DB提供了不利用計劃或數據模型而創建高性能數據庫應用的必要能力.
甚至它 的對象綁定和stored collections的java API都不受任何種類的數據模型的約束.
這提供了最大限度的靈活性,但對快速定義大而且複雜的模型沒有內置的支持.
該API爲Berkeley DB 事務引擎提供了一個內在的持久對象模型.
在不影響性能的前提下對複雜的對象模型提供支持是設計的中心.
從the com.sleepycat.persist package的總括看一下該API。
該package新增加了三個子package:model,evole和raw.
The Berkeley DB Persistence API,url:
com.sleepycat.persist
o com.sleepycat.persist.model
o com.sleepycat.persist.evolve
o com.sleepycat.persist.raw
我們在Sleepycat對你們的反應、評論、建議和其他反饋,包括正面和反面的都很有興趣。
我們尤其想了解的是:(以下該API指的是Java Persistence API for Berkeley DB)
1.你對哪種java的持久方案更有興趣?
以及相比該API的可用性,如何評估它的可用性?
該API的那些方面更有用或無用?
2.該API嚴重依賴了jdk1.5的泛型和標注(or注解)特性.
不使用這些新的語言的特性,我們認爲可用性會大打折扣.
你認爲使用這些語言的特性是對還是錯?
爲什麽?
3. 該API,在增加了可用性的同時,並未提高查詢的易用性.
你認爲查詢的易用性是對java持久方案的一個必備要求嗎?
4.該API並未遵照現存的標准如JDO。
我們認爲,這樣做會在可用性和性能方面打折扣。
你認爲遵守標准比可用性和性能更重要嗎?
如果你還不熟悉已經存在的Berkeley DB産品線,請記著下面的背景信息。
*Berkeley DB是一個嵌入式的數據庫library,不是一個數據庫服務器。
通過一個非常快的Btree(B數)存儲結構對事務和鎖提供了很好的控制,
Berkeley DB的應用比使用其他方案的應用建造的更好。
*Berkeley DB查詢易用性不高。查詢都是通過訪問索引和使用等價的join方式來執行的。
使用erkeley DB,手工優化查詢比一個簡單的查詢語言優化器做的更好。
*傳統上Berkeley DB 提供了一個key-value(鍵-值)API來訪問Btree(B數)數據庫。
在Berkeley DB中,一個"database"(數據庫),和一個SQL 表等價,並被描述爲一個key-value pairs(鍵-值對)的集合。
在Berkeley DB底層API中,使用byte arrays,而不是對象,用來做keys(鍵)和values(值)。
通過 Bind and Collections APIs,使用某些機制,keys(鍵)和values(值) 可以被映射爲java對象.
* Sleepycat有三個産品線:原始的Berkeley DB,Berkeley DB java 版以及Berkeley DB XML。
該API初始目標是提供給Berkeley DB Java 版使用,但有可能在不遠的將來被改寫爲適合在原始的Berkeley DB上使用。
它現在還不適合使用在 使用了XML以及XML Schema作爲數據模型的 Berkeley DB XML,
Thank you in advance for taking a look at this and for any feedback that you are willing to provide!
The Sleepycat Java Edition team
官方地址:http://dev.sleepycat.com/