在sharenothing的架构中,如果数据规模很大,为了提高可用性,通常采用数据库分片(databasesharding)的策略。常见的分片策略是按主键把数据分散到不同的数据库中。在使用常规的RDBMS的场景中,分片策略中使用的数据库个数通常在100以下。在某些特殊的场景中,可能希望采用更极端的分片方法,比如在类似地址本这种应用中,可以为每个用户创建一个数据库。
SPHiveDB就是为这种极端的分片方法而实现的一个数据库服务器。SPHiveDB基于sqlite,用JSONRPCoverHTTP为sqlite提供了网络访问接口。为了能够支持大量的数据库实例,SPHiveDB把多个sqlite数据库合并保存到一个文件中;支持同时使用多个数据库文件。
评论