`
jiasudu1649
  • 浏览: 722985 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Sequoia(基于JDBC的数据库集群中间件)用户手册

阅读更多
http://haha8.runsky.com/forum/showthread.php?t=22668


Sequoia(基于JDBC的数据库集群中间件)用户手册
1, 入门

1.1, 什么是Sequoia?

Sequoia是一个数据库集群中间件, 它可以使任何基于java技术的应用程序(单机应用, servlet
或者EJB容器等等), 通过JDBC技术透明地访问数据库集群. 你不需要修改客户端程序, 应用服务
器或者数据库服务器软件. 你只需要保证任何对数据库的访问都是通过Sequoia进行的.

Sequoia是一个免费的, 开源的项目. 它是ObjectWeb联盟的C-JDBC项目的延续. Sequoia使用apache v2授权协议, 而C-JDBC则是LGPL授权的.

Sequoia也为非java程序提供了驱动程序. 这方面的开发由Carob项目负责. 同时Oak项目为Sequoia提供了一个Eclipse插件.

1.2. 使用Sequoia有哪些要求?

为了使用Sequoia, 你需要:
一个通过JDBC驱动访问数据库的客户端应用程序
与jdk1.4或更高版本兼容的java虚拟机
带有1,2,3或4类型JDBC驱动或者可通过JDBC-ODBC桥连接的ODBC驱动的数据库
支持TCP/IP协议的网络, 用于连接集群内的各个节点

注意, 如果你的客户端应用程序不是使用JDBC驱动, 你可以使用由Carob项目提供的C++ API
或者ODBC驱动.

1.3. 为什么需要使用Sequoia?


假如你的java应用程序或者基于java技术的应用服务器软件需要访问一个或多个数据库, 则数据库
服务器要么成为你的系统的瓶颈, 要么容易引起单点故障, 要么二者兼是. Sequoia可以通过以下
功能帮助你解决以上问题:

通过添加数据库节点和负载均衡技术提升系统性能
保证数据库层的高可靠性. 比如在某个数据库崩溃时, 通过数据库复制技术透明地从故障中恢复.
通过精心设计的查询缓存和透明的连接池技术大大提升性能
提供SQL统计日志以方便分析和管理
支持在不同的数据库引擎上建立集群

1.4. 工作原理


Sequoia灵活的架构使得你的数据库层具有高扩展性, 高可靠性和故障恢复能力. Sequoia实现了
如RAIDb概念描述的系统: 廉价数据库冗余阵列(参考第9章, "RAIDb的基本概念"). 数据库在若干
个节点中分布部署, Sequoia在这些节点上实现负载均衡.


Sequoia为客户端提供了一个通用的JDBC驱动程序(参考第5章, "Sequoia驱动程序"). 该驱动程序
将SQL请求封送至Sequoia控制器(参考第7章, "Sequoia控制器"), Sequoia控制器负责将这些请求
均衡到数据库集群上(读操作是均衡方式的, 写操作是广播方式的). Sequoia可以集成任何提供了JDBC
驱动的关系型数据管理系统, 也即当今大多数的开源或者商业数据库产品. 图1, "Sequoia原理"
展示了Sequoia的概貌.




图1, Sequoia原理


Sequoia允许创建任意的集群配置, 包括混用不同厂商提供的数据库引擎. Sequoia的主要
特点是性能上的可扩展性, 容错能力和苟安可靠性. 同时, Sequoia在管理, 日志, SQL请求
缓存方面也提供了良好支持.

Sequoia的架构非常开放, 允许你自由地添加请求排队, 负载均衡, 连接管理, 缓存算法
等等方面的自定义实现.


1.5, 费用几何?
从软件观点来看, Sequoia是基于apache v2授权协议的开源软件, 可以在个人或者商业项目中
自由使用. 如果你需要使用商业的关系型数据库管理系统来构建你的集群, 那么你需要为这些
产品购买额外的授权. 不过也许你可以使用开源数据库(通常是免费的).


如果你需要更高的性能, 更好的故障恢复能力, 则需要购买更多的硬件. Sequoia被设计于
能够在普通的工作站上良好工作, 以便提供廉价的开源数据库集群解决方案. 当然, 它
也可以部署在在大型的包含对称多处理器的服务器上. 标准的以太网能使它更高效地提供服务.


1.6. 需要哪些移植工作?
你几乎不需要修改你的应用程序或数据库.
你只需要更新你的应用程序的对于JDBC驱动的配置(通常, 这只需要更新一个有关的配置文件),
并设置好Sequoia配置文件(参考第10章, "虚拟数据库的配置")

2, 如何获取Sequoia
cumentation and other tools such
as the Sequoia administration console.
Sequoia的二进制分发包可以从Sequoia的网站(http://sequoia.continuent.org/)下载, 主要
包括了Sequoia的驱动程序和控制器, 文档, 还有诸如管理终端之类的工具.


注意
Sequoia同时提供源码分发包. 所有的代码可以从一个允许匿名访问的CVS服务器上下载. 更多的信息请参考Sequoia开发者指南. 大部分用户只需要二进制格式的分发包.

分发包有以下几种格式(x.y标示Sequoia的版本号)
sequoia-x.y-bin-installer.jar:
java图形化安装程序(使用IzPack(http://www.izforge.com/izpack/)技术)
sequoia-x.y-bin.tar.gz:
Unix格式的二进制压缩包
sequoia-x.y-bin.zip:
windows平台的二进制格式压缩包


我们强烈建议你使用java安装程序格式的分发包, 因为它能自动根据你的系统配置脚本.

注意
所有的分发包都包含了用户文档

3. 安装
3.1. Sequoia控制器
3.1.1. 使用java图形化安装程序


安装Sequoia的最简单方式就是使用图形化安装程序. 这要求你已经安装了java虚拟机. Unix
用户可以通过键入以下内容启动安装程序:
bash> java -jar sequoia-x.y.bin-installer.jar
windows用户可以使用相同的命令, 或者, 如果你的jre环境安装正确, 则只需双击该JAR文件
使之运行.


3.1.2, 使用二进制分发包精心安装
如果你希望使用其它格式的安装程序(比如, 你尚未安装JVM, 或者你的系统不支持图形界面), 你
必须将下载的压缩包解压到某个目录, 然后设置环境变量"SEQUOIA_HOME".
注意
如果你使用的是java安装程序, 则不需要设置任何环境变量, 因为安装程序会根据安装路径自动调
整启动脚本.


要设置环境变量"SEQUOIA_HOME":
unix用户可以如下进行:
bash> mkdir -p /usr/local/sequoia
bash> cd /usr/local/sequoia
bash> tar xfz /path-to-sequoia-bin-dist/sequoia-x.y-bin.tar.gz
bash> export SEQUOIA_HOME=/usr/local/sequoia
注意
在这个例子中, 我们假设你将Sequoia安装到/usr/local/sequoia目录


你可以修改你的shell配置文件(.bashrc, 或者.cshrc之类的文件), 永久设置该环境变量.

windows用户则需要使用一个类如winzip的工具将文件解压出来, 然后, 根据你的windows版本的
不同, 选择如下某个步骤, 设置环境变量"CJDB_HOME":

Windows 95 or 98: you must insert the following line in the AUTOEXEC.BAT file:
set SEQUOIA_HOME="C:\Program Files\Sequoia"
win95或win98用户: 将下面这句话添加到AUTOEXEC.BAT文件中:
set SEQUOIA_HOME="C:\Program Files\Sequoia"

windows me: 开始菜单->程序->附件->系统工具->系统信息, 将弹出一个标题为"微软帮助和支持"
的窗口, 选择主菜单->工具->系统配置工具->环境变量, 点击"新增"按钮, 在"变量名称"中输入
"SEQUOIA_HOME", "变量值"中输入"C:\Program Files\Sequoia". 设置好以后, 系统会提示你
重启.


windows nt: 开始菜单->设置->控制面板->系统->环境变量, 点击"新增"按钮, 在"变量名称"中输入
"SEQUOIA_HOME", "变量值"中输入"C:\Program Files\Sequoia".


windows 2000: 开始菜单->设置->控制面板->系统->高级, 点击"新增"按钮, 在"变量名称"中输入
"SEQUOIA_HOME", "变量值"中输入"C:\Program Files\Sequoia".


windows xp: 开始菜单->设置->控制面板->系统->高级, 点击"新增"按钮, 在"变量名称"中输入
"SEQUOIA_HOME", "变量值"中输入"C:\Program Files\Sequoia".


注意:
在这个例子中, 我们假设你将Sequoia安装到"C:\Program Files\Sequoia"目录.
注意:
别忘了给你的路径加上双引号否则启动脚本会由于不能识别带空格的路径而发生错误.

3.2. Sequoia驱动程序


安装好Sequoia控制器后, 你可以在控制器的安装目录下的"drivers"目录下找到驱动程序的
jar包.

为安装Sequoia驱动程序, 你只需要将sequoia-driver.jar文件添加到客户端应用程序的类路径中.
该驱动程序将替换客户端应用程序的原有的数据库专属的驱动程序. 因此, Sequoia驱动程序和
控制器可以看作是客户端应用程序和数据库专属驱动程序之间的一层代理.


3.3. 揭开Sequoia的面纱


运行Sequoia安装目录下的demo目录下的demo-raidb1.sh或者demo-raidb1.bat, 可以启动
一个带RAIDb-1配置的HyperSonic数据库集群演示程序.


如果你对于集群或者Sequoia还比较陌生, 那么这个demo还是挺有用的. 该demo被安装为:
分别启动两个HyperSonic数据库在9001和9002端口监听
另外一个在9003端口, 作为日志数据库用于故障恢复


Sequoia控制器已经配置好自动装载包含上述两个数据库的虚拟数据库. 控制器的配置文件是
SEQUOIA_HOME/config/controller/controller-raidb1.xml, 虚拟数据库的配置文件是
SEQUOIA_HOME/config/virtualdatabase/hsqldb-raidb1.xml.


该RAIDb-1型集群启动完毕后, 你可以使用iSQL(随Sequoia一起分发的图形化SQL终端)连接到Sequoia.
运行脚本isql.sh或者isql.bat可以启动iSQL.


登录到Sequoia的用户名是"user", 密码为空. 登录到两个HSQL数据库的帐号是"test", 密码也
为空.
提示:
Sequoia网站的在线文档包含了一个关于如何使用该demo的教程.

  • 大小: 9.7 KB
分享到:
评论

相关推荐

    Sequoia Database Clustering-开源

    Sequoia是一种数据库集群中间件,可提供负载平衡和透明的故障转移。 数据库在多个节点上复制,并且Sequoia平衡了它们之间的查询。 红杉支持在线维护和恢复操作。

    西门子Sequoia512使用说明书

    从提供的内容来看,用户手册是一个重要的参考资料,用于指导医护人员正确使用西门子Sequoia 512超声系统。手册的内容包括系统的介绍、系统控件的说明以及操作指南,目的是确保操作人员能够熟悉设备的每个部分,并...

    macOS Sequoia 15.0(24A335) ISO版 虚拟机原版镜像

    期待已久的macOS Sequoia 15.0正式版终于在中秋佳节之时发布了,系统代号:24A335,小编通过 AppStore下载并制作了黑苹果原版镜像,有想安装macOS Sequoia15的童鞋可以下载尝尝鲜。 macOS Sequoia推出了一系列新功能,可...

    Sequoia EFI1、修改了配置,驱动 intel 9260 网卡 wifi、蓝牙

    Sequoia EFI 1、修改了配置,驱动 intel 9260 网卡 wifi、蓝牙 2、机器:I7-8550U+UHD620+ intel AC-9260NGW

    Sequoia-master.zip

    Sequoia采用基于物理模型和统计学习的方法来预测蛋白质的二级结构。它结合了氨基酸序列信息、氢键、疏水相互作用等多方面的因素,通过训练大规模的蛋白质结构数据库,建立预测模型。这些模型可以是神经网络、决策树...

    sequoia

    "sequoia"项目是一个基于C++的开源软件,很可能是一个数据库系统或者文件管理系统,因为“红杉”在自然界中通常被比喻为稳定、强大的象征,这与数据库或文件系统的特性相吻合。在IT领域,"sequoia"可能指的是一个...

    黑苹果 macos12、13、14、15 Sequoia,适配 EFI

    机器配置:华硕的 vivobook s14,I7-8550U+UHD620 1、在 MACOS12、13,安装时取消勾选IntelGraphicsFixup.kext,升级后要勾选上,否则声音没有输出;macos14 时不需要勾选。...2、Sequoia可升级安装,已测试 15.0

    Sequoia

    这种模式将业务逻辑、数据和用户界面分离,提高代码的可维护性和可扩展性。 2. **路由系统**:Web应用通常需要一个路由系统来处理HTTP请求,将不同的URL映射到相应的处理函数或控制器。Sequoia可能有一个内置的路由...

    工具 SequoiaSQL,包含分布式数据库SequoiaDB的SQL引擎,以及兼容各种SQL语法协议的解析器 Sequoia

    工具 SequoiaSQL,包含分布式数据库SequoiaDB的SQL引擎,以及兼容各种SQL语法协议的解析器。 SequoiaSQL项目目前已经完成了对MySQL和PostgreSQL的支持,并且已经打包进入产品中,投入用户的实际生产环境里使用。

    激光粒度仪LISST-200X操作手册_Users_Manual_v2_3.pdf

    激光粒度仪LISST-200X操作手册用户手册v2.3 激光粒度仪LISST-200X是一种高精度的粒度分析仪器,用于测量微观粒子的粒径分布。该仪器基于激光衍射原理,能够准确地测量粒径范围从0.1微米到250微米的粒子。 LISST-...

    50-段佳昂-(2021 SoCC)Sequoia Enabling Quality-of-Service in Serverl

    1. **策略配置**:Sequoia允许用户基于易于配置的灵活政策来定义函数的部署和行为。这使得开发者可以定制化地控制服务的性能、资源利用率和响应时间。 2. **链路级公平性**:Sequoia通过消除中间链路中的函数丢失,...

    Sequoia Broadband 证明企业专用电视平台的巨大可扩展性

    为了确保该公司的软件平台能在 IBM 的主流服务器上良好地运行,Sequoia Media Manager 在马萨诸塞州 Waltham 的 IBM Solution Partnership Center(解决方案合作中心,SPC)接受了可移植性测试。该中心经验丰富的...

    ST Sequoia FLI32626H-BG Digital Video Processor Datasheet

    【ST Sequoia FLI32626H-BG 数字视频处理器/双通道LCD电视控制器数据表】 STMicroelectronics的Sequoia FLI32626H-BG是一款高级数字视频处理器,同时也兼备双通道LCD电视控制器的功能。这款芯片专为高清视频处理和...

    sequoia.nim:Nim的Sequoia PGP包装器

    **Sequoia PGP包装器在Nim中的应用** Sequoia PGP是现代、安全且高效的OpenPGP实现,而`sequoia.nim`则是一个专门针对Nim编程语言设计的Sequoia PGP包装器。这个包装器允许Nim开发者轻松地在他们的项目中集成PGP...

    Sequoia-开源

    作为一个开源项目,Sequoia允许开发者和用户自由地使用、修改和分发其源代码,促进了社区协作和技术创新。 1. 多个收件箱功能:Sequoia的一大特色是支持多个收件箱,这使得用户能够更有效地组织和管理他们的电子...

    Sequoia:在FTC SDK之上构建的用于子系统管理和基于命令的编程的FTC库

    【Sequoia】是一个专为FIRST Tech Challenge (FTC) 设计的库,它构建于FTC Software Development Kit (SDK) 之上,旨在提供更高级别的抽象层来管理FTC机器人子系统,并支持基于命令的编程模式。这个库是开源的,由...

    sequoia:用Java用处理库编写的16步矩阵Midi音序器

    #SEQUOIA 目前,这只是一个很小的16步矩阵Midi音序器,几乎没有功能。 下载 依存关系 外部的 内部的 Java文档 设计 即将推出的功能 处理方式 控制步骤数 速度控制

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.033

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.033

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.049

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.049

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.035

    macOS_Sequoia_15.1.password(imacos.top).rdr.split.035

Global site tag (gtag.js) - Google Analytics