一、
下载
amoeba
代码
首先先到网站(
http://sourceforge.net/projects/amoeba
)上下载
amoeba for Mysql
代码。然后解压到
C:/amoeba
目录。增加系统环境变量:
amoeba.home = C:/amoeba
二、
准备
mysql
数据库
Server1
:
localhost schema: test table: test_table2
Server2
:
10.2.224.241 schema: test table: test_table2
表名称
test_table1
结构为:
`ID` INTEGER(11) NOT NULL,
`NAME` VARCHAR(250) COLLATE gbk_chinese_ci DEFAULT NULL,
先插入一些模拟数据。
三、
修改配置文件
找到amoeba.xml配置,修改mysql代理服务器配置信息:
-
<server>
-
<!-- proxy server绑定的端口 -->
-
<property name="port"
>
8066
</property>
-
-
<!-- proxy server绑定的IP -->
-
<property name="ipAddress"
>
127.0
.
0.1
</property>
-
-
<!-- proxy server net IO Read thread size -->
-
<property name="readThreadPoolSize"
>
20
</property>
-
-
<!-- proxy server client process thread size -->
-
<property name="clientSideThreadPoolSize"
>
30
</property>
-
-
<!-- mysql server data packet process thread size -->
-
<property name="serverSideThreadPoolSize"
>
30
</property>
-
-
<!-- socket Send and receive BufferSize(unit:K) -->
-
<property name="netBufferSize"
>
100
</property>
-
-
<!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->
-
<property name="tcpNoDelay"
>
true
</property>
-
-
<!-- 对外验证的用户名 -->
-
<property name="user"
>root</property>
-
-
<!-- 对外验证的密码 -->
-
<property name="password"
>admin</property>
-
-
</server>
我设置的监控端口为:8066。
配置两个数据库服务器地址,分别对应Server1和Server2。
修改查询规则文件:
-
<tableRule name=
"test_table2"
schema=
"test"
defaultPools=
"server2,server1"
>
-
-
-
<rule name="rule1"
>
-
<parameters>ID</parameters>
-
<expression><![CDATA[ ID <= 20
]]></expression>
-
<defaultPools>server1</defaultPools>
-
<readPools>server1</readPools>
-
<writePools>server1</writePools>
-
</rule>
-
-
<rule name="rule2"
>
-
<parameters>ID</parameters>
-
<expression><![CDATA[ ID > 20
]]></expression>
-
<defaultPools>server2</defaultPools>
-
<writePools>server2</writePools>
-
<readPools>server2</readPools>
-
</rule>
-
</tableRule>
规则:以ID=20为界。
OK,配置文件配置好了以后,我们可以执行:${amoeba.home}/bin/amoeba.bat ,启动代理服务器。
四、
编写查询代码
五、
查询结果
-
siteName:
10.2
.
224
.241_test_table1_14
-
siteName:10.2
.
224
.241_test_table1_15
-
siteName:10.2
.
224
.241_test_table1_16
-
siteName:test_table2_14
-
siteName:test_table2_15
-
siteName:test_table2_16
-
耗费时间:156
我现在只是模拟简单的规则查询,后面我们将逐步深入了解。
分享到:
相关推荐
标题中提到的“基于Amoeba中间件的分布式数据库管理系统”涉及了数据库技术领域中的一个重要分支,即分布式数据库管理系统(Distributed Database Management System, DDBMS)。分布式数据库管理系统的出现是为了...
Amoeba是一款专注于解决分布式数据库管理难题的中间件,它位于客户端与数据库服务器之间,为用户提供了一种透明的数据访问方式。具体来说,Amoeba的主要职责包括: - **数据切分**:通过对数据进行合理划分,将数据...
本文将详细介绍Amoeba这一分布式数据库Proxy解决方案的核心理念、架构特点及其应用场景。 #### 分布式数据库系统的优点 分布式数据库系统相比传统的集中式数据库系统拥有诸多优势: 1. **成本效益**:通过地理上...
Amoeba 作为一种分布式数据库代理框架,为解决传统数据库面临的性能瓶颈、可靠性和扩展性等问题提供了有力的支持。通过其强大的功能集合,如数据切分、读写分离和负载均衡等,Amoeba 不仅能够有效提升系统的性能表现...
Amoeba是一个分布式数据库中间件,它能够将一个MySQL实例透明地扩展到多个节点,实现数据的高可用性和负载均衡。这个tar文件可能包含了Amoeba运行所需的全部文件,如配置文件、库文件和可执行文件等。 描述中提到了...
Amoeba MySQL 是一个分布式数据库系统,它基于开源的 MySQL 数据库引擎,旨在提供高可用性、可扩展性和性能优化。3.0.5 RC(Release Candidate)版本是该软件的一个候选发布版本,通常在正式版发布前,供用户测试和...
综上所述,Amoeba作为一个分布式数据库代理开发框架,通过其独特的设计和功能,为分布式数据库的管理提供了一种高效、可扩展的解决方案。它通过减少客户端与数据库之间的直接交互,隐藏了数据分布的复杂性,使数据库...
Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...
Amoeba属于分布式数据库代理开发框架,专注于分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户 端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请 求...
Amoeba作为MySQL的一个扩展,它在后端实现了数据的自动分片、路由和聚合,使得应用程序可以像操作单个数据库一样操作分布式数据库。 【文件名称】"amoeba-mysql-3.0.4-BETA" 提示我们这是Amoeba MySQL的一个版本,...
Amoeba是一种分布式数据库中间件,可与MySQL Cluster结合使用,提供更高级别的负载均衡和数据分片功能。Amoeba将SQL请求分散到多个MySQL实例,以提升系统处理能力。在入门级amoeba.doc文档中,可能包含关于如何设置...
Amoeba 是一个分布式数据库中间件,主要用于MySQL的读写分离。它的主要作用是将读操作分发到多个从库,从而减轻主库的压力,提高系统整体的读取性能。Amoeba 通过透明的方式工作,应用程序无需修改即可直接连接到...
Cobar是由 Alibaba 开源的 MySQL 分布式处理中间件,它可以在分布式的环境下看上去像传统数据库一样提供海量数据服务。 Cobar自诞生之日起, 就受到广大程序员的追捧,但是自2013年后,几乎没有后续更新。在此情况下...
Amoeba是一种分布式数据库中间件,主要用于MySQL数据库的水平扩展。它通过分片(Sharding)技术将大型单一数据库拆分为多个较小的部分,称为分片,然后将这些分片分布到不同的服务器上。Amoeba在各个分片之间提供...
MySQL集群是一种分布式数据库解决方案,通过复制和分发数据到多个节点来提高可用性和可扩展性。Amoeba作为集群的一部分,可以协助实现这一目标。 在压缩包的文件列表中,我们可以看到以下几个关键文件: 1. README...
这个软件基于Java致力于MySQL的分布式数据库前端代理层,处于在应用和数据库之间,对客户端透明,它主要在应用层访问MySQL的时候充当SQL路由功能,解析应用传递过来的SQL语句,专注于分布式数据库代理层(Database ...
"amoeba-mysql-binary" 是一个与MySQL数据库相关的开源项目,其主要功能是提供一种分布式解决方案,用于扩展MySQL服务器的能力,提升数据库的可扩展性和可用性。Amoeba这个名字来源于生物学中的变形虫,寓意该系统...
Amoeba MySQL 作为一个项目,可能是一个数据库中间件或分布式数据库解决方案,用于扩展 MySQL 的性能和可用性。它可能通过将数据库操作分片到多个 MySQL 实例上来实现水平扩展,从而提高处理大量并发请求的能力。...
Amoeba是一款开源的分布式数据库前端代理层,主要用于MySQL数据库的分布式管理。它在2008年开始发布,设计目标是解决传统集中式数据库系统的性能瓶颈、可靠性和可扩展性问题。Amoeba作为SQL路由工具,位于客户端和...