浏览 17422 次
锁定老帖子 主题:介绍CJDBC
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-01-23
先来看看以前偶们的系统是这个样子的: 是基于hibernate和mysql,虽然hibernate提供了cache, lazy load这些对于提高性能有很大帮助的功能,但是随着用户的增加,数据的增加,数据库server的loading还是会慢慢地上升。现在这个年头,让客户增加硬件的投资远比增加软件投资容易,偶们完全可以利用cjdbc,增加几台廉价的PC做RAIDb,有了cjdbc以后,系统可以变成这个样子: 由于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加入到集群中,就可以应付了,确实是一个廉价的解决方案,:) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-01-23
好象很有意思阿,这样一来,mysql+cjdbc就能够提供oracle这种级别的集群了。
它的下载页面上的一个连接说: Gentoo ebuild: file any problem at C-JDBC ebuild bugzilla page md,太为大伙着想了。 |
|
返回顶楼 | |
发表时间:2005-01-23
好。
一定要下载来看一看。 Readonly 写道 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的一个折中,看一下示意图就明白它了: 第一种方案能够真正增大存储空间。(多台PC的硬盘合起来用) 第二种,和第三种只是提供了冗余备份。最大的存储空间还是由存Full Tables那台PC的硬盘空间决定的。 第三种折衷方案,可以继续扩展。 PC 1 存放 A, B, C, D 四个表。PC2 存放 C, D, E, F 四个表。 PC 3 存放 E, F, A, B 四个表。这样既能冗余支持Cluster,又可以真正增大 存储空间。 我先好好看看文档。 多谢ReadOnly介绍这样的好东西。希望多推荐一些。 |
|
返回顶楼 | |
发表时间:2005-01-24
强。看了文档,发现还有多级阵列组合。RAIDb1-0, RAIDb0-1....
|
|
返回顶楼 | |
发表时间:2005-03-11
how is it compared to ha-jdbc?
http://ha-jdbc.sourceforge.net |
|
返回顶楼 | |
发表时间:2005-03-11
femto 写道 how is it compared to ha-jdbc?
http://ha-jdbc.sourceforge.net 3.1. How does HA-JDBC compare to C-JDBC, an ObjectWeb project with similiar goals http://ha-jdbc.sourceforge.net/faq.html#faq-N1002B Open Source JDBC Proxy Drivers http://www.manageability.org/blog/stuff/jdbc-proxy-drivers/view |
|
返回顶楼 | |
发表时间:2005-03-14
启动 C-JDBC controller 需要10 minutes。
这个就够麻烦的了。 |
|
返回顶楼 | |
发表时间:2005-06-14
好像是,c-jdbc,无法使dbcp连接池,使用过程中,只能一直把持一个连接。
|
|
返回顶楼 | |
发表时间:2005-06-15
读了3.1. How does HA-JDBC compare to C-JDBC, an ObjectWeb project with similiar goals
http://ha-jdbc.sourceforge.net/faq.html#faq-N1002B 之后的感觉: 可能HA-JDBC使用价值更大一些,原因: C-JDBC功能过于强大势必引起复杂的架构和较低的性能,启动速度较慢就是其表现,像多数据库混杂集群这种功能就华而不实,虽然对集群模式支持较多,但用户如果要求较高自然会不在乎多化几个钱直接购买数据库集群,如果要求不高,那仅仅能够实现热备份就可以了,那么使用简洁的HA-JDBC就足够了。 |
|
返回顶楼 | |
发表时间:2005-07-06
这个不错,现在已经存在的系统能之间把cjdbc加进来吗?
|
|
返回顶楼 | |