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是一种数据库集群中间件,可提供负载平衡和透明的故障转移。 数据库在多个节点上复制,并且Sequoia平衡了它们之间的查询。 红杉支持在线维护和恢复操作。
西门子 Sequoia 512是老彩超了,说明书很难找的有需要的可以下载
工具 SequoiaSQL,包含分布式数据库SequoiaDB的SQL引擎,以及兼容各种SQL语法协议的解析器。 SequoiaSQL项目目前已经完成了对MySQL和PostgreSQL的支持,并且已经打包进入产品中,投入用户的实际生产环境里使用。
为了确保该公司的软件平台能在 IBM 的主流服务器上良好地运行,Sequoia Media Manager 在马萨诸塞州 Waltham 的 IBM Solution Partnership Center(解决方案合作中心,SPC)接受了可移植性测试。该中心经验丰富的...
Sequoia
Sequoia实现蛋白质二级结构预测
红杉 文档可以在找到
ST Sequoia FLI32626H-BG Digital Video Processor Datasheet
sequoia.nim:Nim的Sequoia PGP包装器
#SEQUOIA 目前,这只是一个很小的16步矩阵Midi音序器,几乎没有功能。 下载 依存关系 外部的 内部的 Java文档 设计 即将推出的功能 处理方式 控制步骤数 速度控制
Sequoia选股系统 简介 本程序使用传统的,并非需要捐赠的,获取数据无限制; 另,由于TuShare的增量更新接口有bug(最近一个交易日的数据获取不到),所以每次计算前都是删除所有数据,全部重新获取。 本程序实现了...
屏幕截图特征我创建此文件是为了在Arch Linux上使用,因此它仅具有以下基本功能: 从列表中选择一个可用的用户登录到未列出的用户看到用户个人资料图片重新启动电脑关闭电脑挂起电脑Hibernate电脑选择会话(GNOME,...
入门要在Gradle中要求当前发行版本,请将以下内容添加到构建文件的“依赖项”部分: 编译'com.staples-sparx:Sequoia:0.20.2'用法该库是Alpha之前的版本。 API可能会更改。 应该创建直接调用构造函数的节点。 ...
用于Fedora的Sequoia PGP正在进行的RPM软件包 该存储库包含RPM规范文件和用于板条箱的补丁程序,用于的扩展名,以及尚未从Fedora官方存储库中获得的所有依赖项。 包裹审查票 包裹 票证链接 防锈帆布 防锈读卡器 不...
在竞争对手Sirific Wireless公司推出了可支持HSDPA(高速下行分组接入)和Edge 的130纳米线性CMOS产品的形势下,Sequoia Communications公司将于本周发布其单芯片极化结构SEQ7400 Hedge型收发器。 Sequoia...
红杉 WPIlib针对FIRST Tech Challenge的基于命令的编程范例的实现。
Serverless computing is a rapidly growing paradigm thateasily harnesses the powe
用PHP 4编写的基于Web的电子邮件客户端。此客户端的计划功能包括1)多个收件箱,2)基于LDAP的地址簿,3)可以在线查看的多个mime类型,4)支持图像附件的缩略图视图。
红杉-CS:GO AI检测机器人。 用于CounterStrike:GlobalOffensive字符检测和分类的神经网络。 建立在由软件提供支持的。 这个项目是在指导下开发的。 该项目结合了的微调版本,同时还使用辅助辅助神经网络来辅助...
智能容器回购下载node.js并在目录中运行npm install。 下载mongodb并进行设置。 对IP_ADDRESS:8080 / db / reset进行HTTP GET调用,以使用某些默认值创建或重置数据库。