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/
闽公网安备 35060202000074号