- 浏览: 3503250 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
这章讲解释你可以使用的不同的部署模型和配置。
- 复制模型和数据分发 描述sequoia支持的不同的复制模型。
- 控制器复制和水平扩展 解释怎么使用控制器的冗余来提高集群的高可用性和容错性。
- 客户端如何连接sequoia, 解释不同的客户端应用如何通过sequoia中间件来访问数据库。
复制模型和数据分发
sequoia使用RAIDb的概念。
RAIDb的目标:
通过将多个廉价的数据库实例组合到一个数据库阵列,提供比单台数据库更好的性能和容错性。
隐藏分布式数据库的复杂性,提供给数据库客户端一个独立的数据库。
在RAIDb中,一个控制器在其他资源的前面。客户发送他们的请求到RAIDb控制器,这个控制器将他们分发给一组RDBMS后端。
有不同的RAIDb级别或数据分发方案可用,它提供不同的费用,性能,或者容错权衡。
全分割(RAIDb-0)
RAIDb-0 分割数据库表到一个数据库后端节点集。
- 一个表本身不能再分割了。但是不同的表可以分布在不同的后端节点上。
- RAIDb-0 需要至少两个数据库后端。
- RAIDb-0 当前只能和一个控制器配置一起使用。
- RAIDb-0 提供了一定的性能扩展,但不支持容错功能。
注意:
当前的实现不支持分布式join。也就是说如果你想在表t1和t2间进行join操作,你必须确保t1和t2在同一台机器上。
扩展性的提升取决于表的数目和各个表的负载情况:
- 如果你的数据库很大,没有单个节点有足够的容量存放整个数据库,那么RAIDb-0允许你把一个数据库分布存储到到一组节点上。
- 此外,每个数据库引擎处理一个小的数据集可以尽可能的提高缓存利用率,因为总是请求那几个表。
- RAIDb-0存储的使用率是最高的,因为没有重复的信息。
- RAIDb-0需要控制器知道那个表在哪台服务器上,以便把请求导向正确的节点。因为没有重复的表,一直一个后端会执行一个特定的请求。这些信息也可以静态配置到配置文件中,也可以从每个数据库中抓取其schema来动态构建。
全复制 (RAIDb-1)
- RAIDb-1 在一组后端上提供了一个数据库的全镜像。
- RAIDb-1 需要至少两个后端节点,但是理论上后端的数量没有上限的限制。每个后端必须有足够的空间运行整个数据库。
- RAIDb-1 允许在集群配置中使用几个控制器来为关键系统获得高可用性。
全复制
RAIDb-1的扩展能力取决于控制器广播更新所有节点的能力。如果有大量后端数据库,使用复合RAIDb可以获得更好的扩展性。
RAIDb-1提供了对读查询的加速,因为他们可以被均衡到所有后端上。另一方面,它对写操作没有加速(update,insert,delete 请求),因为他们必须广播到所有节点。写操作在所有的后端并行执行。所以,在写的角度来看,RAIDb-1可能比不上一个单独的节点,但是从读的角度来 看,性能会随着后端节点的增加而线性增长。
RAIDb-1有很好的容错性,因为系统即使只有一个后端可用时也可以保持工作。
不像RAIDb-0,RAIDb-1控制器不需要知道数据库的结构,因为所有的节点都有能力处理任何请求。然后,RAIDb-1提供了一个缓存,它需要数据库结构来维护缓存的一致性。
部分复制 (RAIDb-2)
RAIDb-2可以看作是RAIDb-0 和 RAIDb-1权衡下的一个中庸的解决方案。它支持调整每个数据库表的部分复制程度,以获得一个做好的读写性能。
RAIDb-2:
- 要求至少三个数据库后端;
- 要求每个数据库表在至少两个后端上可用以解决单点故障问题。
- 不要求任何一个节点可以运行整个数据库。
下面是RAIDb-2的典型应用:
没有或者只有少数几个节点运行整个数据库,一组节点各自运行这数据库的一部分。
下图中的例子显示了RAIDb-2的部分复制,数据库包含3个表:x,y,和z.第一个后端包含整个数据库,但是其他节点都只包含一个或两个表。表x 和 y有3份拷贝,表z有两份拷贝。任一节点失败,仍然可以从其他的存活节点中找到数据。
RAIDb-2对于异构数据库非常有用。一个已有的企业数据库使用商业数据库,但是要建立一个全拷贝无论是从存储上还是从增加许可的费用上来说,都 太贵了。有了RAIDb-2就好办了,你可以增加几个小型开源数据库来各自运行整个数据库中的某些部分来代替整个数据库,这样也可以获得更好的容错性。在 下图这个使用RAIDb-2进行部分复制的案例中,第一个后端节点可以是商业数据库,其他4个节点是小型开源数据库。
RAIDb-2容错性没有RAIDb-1好,但是它有效的改善了写操作的效率。
跟RAIDb-0类似,RAIDb-2也要求控制器知道所有数据库的结构,以便将请求定向到适当的节点。
警告:
在Sequoia中使用RAIDb-2仍然有一些限制。
当前,备份器不支持部分导出:当你要备份一个后端时,你将dump所有的表。类似的,当你restore一个后端时,你也将恢复所有的表。比如节点1有表x,y和z,你把他们全部dump了,如果你想用这个dump恢复节点2时,节点2将得到全部的表(x,y,z).
当节点在恢复过程中,这就成问题了:recovery log记录了所有的请求(对所有表的),并且尝试去把他们重新走一遍。如果在恢复过程需要的一个表不在当前这个节点上,那么这个节点就不能被重新同步了。 因此,这是个需要修复的bug,应该允许只同步当前节点上有的那些表。
另外,RAIDb-2也不支持分布式的join,跟 RAIDb-0 相同。
控制器复制和水平伸缩性
除了数据复制以外,Sequoia 还支持控制器冗余。为了防止Sequoia 控制器成为单点故障,你不惜在Sequoia 的配置中包括两个活更多的控制器节点。
注意:
在单个数据库和RAIDb-0配置中,你只能使用一个单独的控制器:这些控制不支持控制器复制。
Sequoia 包含两个可选的配置来提供水平扩展:
- 搭配控制器配置(collocated controller configuration)-同一台及其既做控制器,又做后端数据库服务器。
- 专用控制器配置(dedicated controller configuration)-控制器和后端数据库服务器被装在专门的机器上。
注意:
每个控制器必须被分配给一组特定的后端:后端坚决不能在多个控制器间共享。
搭配控制器配置适用于高可用系统:
在一个搭配控制器配置中,Sequoia被安装成两个节点的配置,两个节点都作为控制器和后端/数据库服务器。
专用服务器适用于大型生产环境
在规模较大的环境中,Sequoia 控制器安装在专用的服务器上来提升性能。
在控制器后面增加更多的后端,可以让Sequoia为更多的客户端应用请求服务。请求被后端的数据库服务器以他们各自的速度执行,但是控制器后面的服务器越多,可用的资源也就越多。
那么你系统后端需要多少台后端才合适呢?这依赖于你的应用类型:
如果你有一个读操作非常频繁的应用,那么最好在每个控制器后面都放几个后端。
另一方面,如果你的应用写操作非常频繁,那么控制器后面的后端最好稍微少一些。
注意:
写操作不能和读操作用相同的方法来衡量:
写操作需要在每个节点上按照相同的顺序同步执行。
默认的,当所有的后端都执行完这次请求后,写操作的结果会返回给客户端。(这个行为也可以在虚拟数据库的配置文件中配置:你也可以当一台后端执行完 这次查询后就马上返回结果,或者当多数后端完成这次请求后返回。)所以,对于写操作来说,这意味着控制器后面增加几个后端,就要多维护几份数据库的拷贝, 但它也会增加查询的处理能力。
客户端怎么连接到sequoia
你客户端应用通过Sequoia访问数据库的配置方式,取决于你所使用的客户端应用。
- Java 使用Sequoia提供的JDBC驱动直接访问
- Perl 通过DBD::JDBC Perl module 和 Sequoia JDBC驱动,或者使用Carob项目提供的ibmysequoia MySQL C API。
- C/C++ 使用Carob项目提供的ODBSequoia 驱动或者直接使用 Carob提供的C++ API
- PHP 使用Carob项目提供的ODBSequoia ODBC驱动或者MySQLi扩展和ibmysequoia MySQL C API
- .Net 使用Carob项目提供的ODBSequoia驱动
在配置你的客户端应用时,你必须提供基本的配置信息。这些信息对于所有不同的客户端应用都是一样的。这些必需的信息包括:
你的Sequoia的URL或IP,虚拟数据库的名字;
访问虚拟数据库的用户名密码。
发表评论
-
oracle复制表数据,复制表结构
2011-07-25 21:19 362041.不同用户之间的表数据复制 对于在一个数据库上的两个 ... -
删除 SQL Server 的所有已知实例
2011-04-05 18:42 2030如果提示实例已经被注册,无法安装,那么: 删除 SQL ... -
【SQL】安装 SQL SERVER MsiGetProductInfo 无法检索 Product Code 1605错误 解决方案
2011-04-05 17:10 4848重装数据库服务器上的SQL SERVER 2008 上遇到了以 ... -
Mysql Using Master/Slave Replication with ReplicationConnection
2011-03-24 15:19 1985Starting with Connector/J 3.1.7 ... -
oracle网络配置listener.ora、sqlnet.ora、tnsnames.ora
2010-12-03 12:36 33338oracle网络配置 三个配置文件 listener.ora ... -
Oracle XE的数据库创建过程
2010-12-02 22:55 4351今天安装了Oracle XE,发现并没有自动创建数据库。趁着 ... -
实现数据库TPC性能测试的开源及商业软件
2010-12-02 01:11 3120商业软件 Benchmark Factory ... -
MySQL压力测试工具mysqlslap
2010-11-07 17:13 1769MySQL从5.1.4版开始带有一个压力测试工具mys ... -
一台机器上安装多个mysqld实例
2010-11-06 16:09 2169一台机器安装多个mysqld实例 1. ps -aux | ... -
MySQL数据库双向同步
2010-08-25 20:23 40841. 主从关系的同步 master端 192.168.5 ... -
MySQL 数据库之间的同步(windows与linux)
2010-08-25 20:14 32101.导出windows mysql的test库到linux m ... -
Ubuntu Server 下开启远程连接 MySQL
2010-03-16 23:24 3107要通过远程连接MySQL,需要做两步:第一步是要创建一个可以远 ... -
DB2 在REDHAT 5下的详细安装过程 DB2 9.5 C EXPRESS
2010-03-02 10:43 4592过详细测试并且补充后发表, 括号内的为自行添加的内容. ... -
IBM DB2 Express-C 9.5.2
2010-03-02 09:44 3517或许您已经知 ... -
Oracle Database 10g Express Edition安装小结
2010-03-01 15:28 9168racle Database 10g Express Edit ... -
HA JDBC – High Availability JDBC
2010-02-27 18:46 3306Some time ago I worked on a pr ... -
数据归档将走向何方
2010-02-25 11:50 2264数据量的爆炸性增长,让我们不得不更加关心存储。这也造成 ... -
Database
2010-02-18 15:53 2316下一代数据库发展的4大趋势 趋势之一:对XML的支 ... -
免安装Oracle运行pl/sql developer
2010-02-16 20:27 2184Sql客户端中,虽然最便捷的是万能而且轻量无比的Sql Wor ... -
在debian上安装oracle 10g express
2010-02-16 18:46 4922在debian上安装oracle 10g express 若 ...
相关推荐
期待已久的macOS Sequoia 15.0正式版终于在中秋佳节之时发布了,系统代号:24A335,小编通过 AppStore下载并制作了黑苹果原版镜像,有想安装macOS Sequoia15的童鞋可以下载尝尝鲜。 macOS Sequoia推出了一系列新功能,可...
Sequoia EFI 1、修改了配置,驱动 intel 9260 网卡 wifi、蓝牙 2、机器:I7-8550U+UHD620+ intel AC-9260NGW
Sequoia采用基于物理模型和统计学习的方法来预测蛋白质的二级结构。它结合了氨基酸序列信息、氢键、疏水相互作用等多方面的因素,通过训练大规模的蛋白质结构数据库,建立预测模型。这些模型可以是神经网络、决策树...
西门子Sequoia 512是一款医疗超声诊断设备,属于西门子医疗解决方案的产品线之一。根据提供的信息,Sequoia 512可以分为不同型号,其中包括ACUSON Sequoia 512超声系统和ACUSON Sequoia C512超声心动描记系统。这类...
机器配置:华硕的 vivobook s14,I7-8550U+UHD620 1、在 MACOS12、13,安装时取消勾选IntelGraphicsFixup.kext,升级后要勾选上,否则声音没有输出;macos14 时不需要勾选。...2、Sequoia可升级安装,已测试 15.0
macOS_Sequoia_15.1.password(imacos.top).rdr.split.046
"sequoia"项目是一个基于C++的开源软件,很可能是一个数据库系统或者文件管理系统,因为“红杉”在自然界中通常被比喻为稳定、强大的象征,这与数据库或文件系统的特性相吻合。在IT领域,"sequoia"可能指的是一个...
为了确保该公司的软件平台能在 IBM 的主流服务器上良好地运行,Sequoia Media Manager 在马萨诸塞州 Waltham 的 IBM Solution Partnership Center(解决方案合作中心,SPC)接受了可移植性测试。该中心经验丰富的...
Sequoia的设计目标是解决这些问题,通过提供一个灵活的质量保证策略,使得开发者或管理员可以轻松定义无服务器函数和应用的部署方式、性能限制、优先级以及根据需要进行调整。 Sequoia框架的核心特性包括: 1. **...
Sequoia项目很可能是一个用于构建Web应用程序的工具,鉴于“Sequoia-master”这一文件名,我们可以推测这是项目的主要分支或源代码仓库的主目录。在开源软件开发中,“master”分支通常代表了项目的主线,是最稳定的...
Sequoia是一种数据库集群中间件,可提供负载平衡和透明的故障转移。 数据库在多个节点上复制,并且Sequoia平衡了它们之间的查询。 红杉支持在线维护和恢复操作。
**Sequoia PGP包装器在Nim中的应用** Sequoia PGP是现代、安全且高效的OpenPGP实现,而`sequoia.nim`则是一个专门针对Nim编程语言设计的Sequoia PGP包装器。这个包装器允许Nim开发者轻松地在他们的项目中集成PGP...
【ST Sequoia FLI32626H-BG 数字视频处理器/双通道LCD电视控制器数据表】 STMicroelectronics的Sequoia FLI32626H-BG是一款高级数字视频处理器,同时也兼备双通道LCD电视控制器的功能。这款芯片专为高清视频处理和...
#SEQUOIA 目前,这只是一个很小的16步矩阵Midi音序器,几乎没有功能。 下载 依存关系 外部的 内部的 Java文档 设计 即将推出的功能 处理方式 控制步骤数 速度控制
macOS_Sequoia_15.1.password(imacos.top).rdr.split.033
macOS_Sequoia_15.1.password(imacos.top).rdr.split.035
macOS_Sequoia_15.1.password(imacos.top).rdr.split.049
macOS_Sequoia_15.1.password(imacos.top).rdr.split.034
macOS_Sequoia_15.1.password(imacos.top).rdr.split.025
macOS_Sequoia_15.1.password(imacos.top).rdr.split.011