C-JDBC is a database cluster middleware that allows any Java
™ application (standalone application, servlet or
EJB
™ container, ...) to transparently access a
cluster of databases through JDBC
™. You do not have
to modify client applications, application servers or database server software.
You just have to ensure that all database accesses are performed through
C-JDBC.
C-JDBC is a free
, open source
project of the ObjectWeb Consortium
. It is
licensed under the GNU Lesser General Public License
(LGPL).
1.2. What do I need to
use C-JDBC?
In order to use C-JDBC, you will need:
-
a client application that accesses a database through JDBC,
-
a JDK
™ 1.3 (or greater) compliant Java Virtual Machine
™ (JVM)[1
]
,
-
a database with a JDBC driver (type 1, 2, 3 or 4) or an ODBC driver used with
the JDBC-ODBC bridge.
-
a network supporting TCP/IP communications between your cluster
nodes.
|
Note
If your client application uses ODBC, it is possible to use an ODBC-JDBC
bridge such as the unixODBC
provided by Easysoft.
|
1.3. Why should I use
C-JDBC?
You have a Java application or a Java-based application server that accesses
one or several databases. The database tier becomes the bottleneck of your
application or it is a single point of failure or both. C-JDBC can help you
resolve these problems by providing:
-
performance scalability by adding database nodes and balacing the load among
these nodes.
-
high availability of the database tier, i.e. C-JDBC tolerates database
crashes and offers transparent failover using database replication
techniques.
-
improved performance with fine grain query caching and transparent connection
pooling.
-
SQL traffic logging for performance monitoring and analysis.
-
support for clusters of heterogenous database
engines.
C-JDBC provides a flexible architecture that allows you to achieve
scalability, high availability and failover with your database tier. C-JDBC
implements the concept of RAIDb: Redundant Array of
Inexpensive Databases
(see Section 10, “RAIDb Basics”
). The database is distributed
and replicated among several nodes and C-JDBC load balances the queries between
these nodes.
C-JDBC provides a generic JDBC driver to be used by the clients (see Section 4, “C-JDBC Driver”
).
This driver forwards the SQL requests to the C-JDBC controller (see Section 6, “C-JDBC
controller”
) that balances them on a cluster of databases (reads are load
balanced and writes are broadcasted). C-JDBC can be used with any RDBMS
(Relational DataBase Management System) providing a JDBC driver, that is to say
almost all existing open source and commercial databases. Figure 1, “C-JDBC principle”
gives an
overview of the C-JDBC principle.
C-JDBC allows to build any cluster configuration including mixing database
engines from different vendors. The main features provided by C-JDBC are
performance scalability, fault tolerance and high availability. Additional
features such as monitoring, logging, SQL requests caching are provided as
well.
The architecture is widely open to allow anyone to plug custom requests
schedulers, load balancers, connection managers, caching policies, ...
From a software point of view, C-JDBC is an open-source software licensed
under LGPL which means that it is free of charge for any usage (personal or
commercial). If you are using commercial RDBMS (such as Oracle, DB2, ...), you
will have to buy extra licenses for the nodes where you install replicas of the
database. But you can possibly use open-source databases to host replicas of
your main database.
You need to buy extra machines if you want more performance and more fault
tolerance. C-JDBC has been designed to work with standard off-the-shelf
workstations because it primarily targets low cost open-source solutions but it
can work as well with large SMP machines. A standard Ethernet network is
sufficient to achieve good performance.
1.6. What kind of
modifications are needed?
You do not have to change anything
to
your application or your database.
You only have to update the JDBC driver configuration used by your
application (usually it is just a configuration file update) and to setup a
C-JDBC configuration file (see Section 11, “Virtual database
configuration”
).
相关推荐
MyBatis-3-User-Guide-Simplified-Chinese.pdf 这个文档是MyBatis 3的中文用户指南,对于想要学习和深入了解MyBatis的开发者来说,是一份非常实用的参考资料。 1. **MyBatis 概述** MyBatis 是一个基于Java的持久...
它避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的麻烦。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(普通的 Java 对象)映射成数据库中的记录。 文档开始就警告了...
它通过消除手动编写JDBC代码和管理结果集来提高开发效率。MyBatis允许开发者直接在XML或Java注解中定义SQL查询,然后将这些查询与Java的简单对象(POJOs)绑定,将数据库记录映射到对象实例。 **入门** 入门MyBatis...
### MyBatis-3-User-Guide 知识点概览 #### 一、MyBatis简介 在《MyBatis-3-User-Guide》文档中,首先介绍了MyBatis的基本概念及其重要性。MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射...
它简化了数据库编程,消除了几乎所有的JDBC代码以及参数的设置和结果集的检索。MyBatis使用简单的XML或注解来配置和映射原生信息,将Java的POJOs映射成数据库中的记录。 MyBatis的用户指南详细介绍了如何使用该框架...
根据提供的文件信息,“Adapter for JDBC User Guide”主要介绍了IBM WebSphere Business Integration Adapters中的JDBC Adapter的使用方法及相关特性。本文将对这份指南的关键知识点进行详细的解析与介绍。 ### ...
以上是基于《MyBatis-3-User-Guide-Simplified-Chinese.pdf》文件内容整理的关键知识点,涵盖了MyBatis的基本概念、使用方法以及高级特性等方面。这些知识点对于理解和使用MyBatis非常关键,希望能帮助读者更好地...
压缩包内包含文档内容: 相信我,如果你想了解PI是怎么使用的,读英文官方文档吧。...PI-OLEDB-Provider-2016-User-Guide.pdf PI-SQL-Data-Access-Server-(OLE-DB)-2016-R2-Administrator-Guide.pdf
支持的 JDBC 类型 \ 30 构造方法\ 30 关联\ 31 集合\ 34 鉴别器 \ 36 缓存\ 38 使用自定义缓存 \ 38 参照缓存\ 39 动态 SQL \ 39 if \ 40 choose, when, otherwise \ 40 trim, where, set \ 41 foreach \...
它将 SQL 命令与 Java 代码分离,并通过 XML 配置文件来管理 SQL 映射,从而简化了 JDBC 的复杂性。 #### 二、开始使用 - **构建 SqlSessionFactory**: - **从 XML 文件构建**:首先需要创建一个配置文件(如 `...
通过简单的 XML 或注解进行配置和原始映射,它可以将接口和 Java 的 POJO 映射到数据库中的记录,从而极大地简化了 JDBC 代码的编写,消除了几乎所有的 JDBC 代码和参数的手动设置以及结果集的检索。 #### 2. 入门 ...
- **Supported JDBC Types:** 支持的JDBC类型列表。 - **constructor:** 构造器映射配置。 - **association/collection:** 关联和集合映射配置。 - **discriminator:** 判定器配置,用于处理多态或多条件查询。 ...
MyBatis是由 Paweł Piech 创建的,它的设计目标是提供一个灵活的、易于使用的SQL映射框架,避免传统的JDBC代码中的大量模板式代码。MyBatis支持定制化SQL、存储过程以及高级映射,同时减少了开发工作量,提高了...
- **导入 JDBC 连接到 iReport**:简化数据源配置的过程。 - **从 iReport 创建 JasperServer 报告**:将设计好的报告发布到 JasperServer 上。 - **编辑 JRXML**:对现有的报告模板进行修改和优化。 - **从 ...
"PI-OLEDB-Provider-2017-R2-User-Guide.pdf"文档可能包含了如何设置和使用这个提供器的详细步骤。 **SQL查询语法**,在PI实时数据库中,你可以使用结构化查询语言(SQL)来查询、更新和管理数据。虽然PI数据库不是...
DB-Access User's Guide.pdf GLS User's Guide.pdf High-Performance Loader User's Guide.pdf Informix Quick Start Guide.pdf Installation Guide for UNIX, Linux, and Mac OS X (12.10.xC1-12.10.xC4).pdf ...
这包括了对Informix BladeManager、DataBlade Developers Kit、DataBlade API、SPL(SQL procedural language)、Java UDR(User Defined Routines)的支持。这些工具和框架允许开发人员构建和管理特定领域的数据...