jsa4j是Jerrymouse Storage API for Java的简称。是JerryMouse小组开发的通用数据 底层,可以架设在单机或者Gae环境之下。脱胎于CommonCloud项目,由于CommonCloud过 于复杂,缺乏可用性。所以开发了他的简化版Jsa4J。Jsa4J的目标是可用和简洁。项目地址
Jsa4j子项目列表
Jsa4j-db-kv 提供 KeyValue 数据库接口。有一个Derby和一个Gae实现。还有用于缓存的支持
接口本身非常简洁:只有两个方法:
String get(String key) String put(String key, String value)
详 见API文档
Jsa4j-db-table 表结构的数据库支持
Jsa4j-search 提供全文搜索支持。
Jsa4j-bus 建立在分布式缓存上的通讯总线
Jsa4j- db-kv。随着NoSql?运动,新奇的数据库层出不穷,提供 了各种丰富的接口。这些接口丰富在两个方面:
- 事务处理
- 数据结构
Jsa4j- db-kv没有“事务处理”和“数据结构”的概念,极大的方便了数据库开发。
关于事务。不管是ACID还是 BASE,都是事务处理方式。Jsa4j-db-kv没有事务的概念,默认大于配置, 认为存操作需要事务,取操作不需要。认为数据库写入永远是成功的。具体是不是真的能成功,应该由另一套系统来管理。
对于比较可靠的列存数据库,和不怎么可靠的类似Cache的数据库都有支持。
关于数据结构。数据结构方面有关系性 数据库,列存(BigTable? like),文档数据库,图数据库和Key Value之分。其中Key Value是最简单的,可以由其他类型的数据库实现。同时提供一个索引工具和搜索工具,满足在数据索引上的需要。