数据库集群中间件CJDBC详细介绍
本文我们主要介绍OPEN SOURCE数据库集群中间件CJDBC,通过它,我们可以方便地实现RAIDb - Redundant Array of Inexpensive Database 廉价数据库冗余阵列。 接下来就让我们一起来了解一下这部分内容。
由于CJDBC是一个JDBC的实现,所以偶们原先的应用不需要做任何的代码改动,只需要更换配置文件即可。 CJDBC有几种RAIDb的机制可以选择(只说3种偶了解的):
1. RAIDb-0
数据库中单个的table只分布在单个节点,没有任何的冗余阵列,但是不同的table可以分散在不同的节点,这样偶们可以把某些需要频繁查询的表分布在比较强劲的,loading比较轻的PC上。这种机制带来了查询性能的稍许提高,但是没有提供容错处理 (fault tolerance) 。
2. RAIDb-1
完全镜像处理机制,每个节点上都有完整的数据库结构,这种方式提供了***的容错处理,并且通过设置合理的Loading Balance策略,可以带来查询性能相当好的提高。但是由于对于任何的写操作(create/update/delete),需要在各个节点上进行传播复制,写操作就会比原来慢一些了。
3. RAIDb-2
对于RAIDb-0和RAIDb-1的一个折中,看一下示意图就明白它了:
为了避免CJDBC controller成为容错处理中的single point of failure,CJDBC还提供了controller replication,它利用JGroups ( http://www.jgroups.org/ )做各个CJDBC controller节点的通讯(这个偶没有试验过,有兴趣的可以试试看)偶们使用CJDBC的实际项目目前有3个mysql database的节点(都是普通的PC),读/写操作的比例很高,CJDBC非常合适这种项目,随着并发用户人数的增加,用户只需要花个4000RMB左右的钱,购买一台PC加入到集群中,就可以应付了,确实是一个廉价的解决方案。
关于OPEN SOURCE数据库集群中间件CJDBC的使用就介绍到这里了,希望本次的介绍能够带给您一些收获!
【编辑推荐】
相关文章
- 从NLP视角看电视剧《狂飙》,会有什么发现?
- 现在的00后,实在是太卷了
- 从开普勒到牛顿:可解释的人工智能在科学发现中的作用(CS)
- 【传感器融合】开源 | 恶劣天气(大雾)中的深度多模态传感器融合
- Mysql字段中包含某个字符时截取后面内容
- Docker 安装mysql数据库
- Mysql 拼接json
- SpringBoot集成ES
- springboot整合MongoDB
- mysql 清理 relay log 和 bin log(1)
- Redis 多数据库
- Redis 多数据库2
- Elasticsearch 映射1
- Elasticsearch 映射4
- InnoDB引擎为什么推荐使用自增ID作为主键?
- 数据库迁移有什么技巧?|分享强大的database迁移和同步工具
- 以小博大外小内大,Db数据库SQL优化之小数据驱动大数据
- 因势而变,因时而动,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang泛型(generic)的使用EP15
- 大道如青天,协程来通信,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang通道channel的使用EP14
- 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-模板与数据库EP02