28 Amoeba for Mysql 2.0.1-BETA & Amoeba for mongoDB 1.2.0-BETA 版本发布

转至元数据结尾
转至元数据起始

by 陈思儒
一、Amoeba 框架2.0.1版本相关的改动:
1、基于 amoeba 2.0框架下开发,这个版本的配置跟之前的1.x做了很大的变化,并且不兼容之前的配置,希望大家仔细对照一下
2、沿用amoeba 2.x框架,采用命令行控制启动跟停止。(linux用户如果需要采用后端进程,请用 nohup bin/amoeba start &   )
3、增强规则配置,可采用通配符(比如:tableName可以采用  *.user, myschema.mytable* 等),可以适应大量表的应用,但是这块会有微微的性能损耗
二、Amoeba for  Mysql 2.0.1-BETA版本相关变更:
1、prepared statement将完全由amoeba这一层控制关闭,即使客户端不关闭prepared statement。-- amoeba for mysql
2、配置上大部分可让其他amoeba爱好者可替换实现,诸如:authenticator这块,默认采用独立的用户名、密码,开发者完全可以自己实现相关代码(-- amoeba for mysql),这块说明了后续amoeba将会更加开放,并且尝试其他后端服务的服务代理层的开发,amoeba未来将会开辟这块市场。
三、Amoeba for mongoDB 1.2.0-BETA版本呢相关变更:
1、支持内置SEQUENCE ,amoeba内部会cache 1000的数字范围,每间隔1000,amoeba都将向mongodb的相关字段增加1000,而客户端则通过amoeba获取sequence值,每次请求sequence,在amoeba的sequence预订值都会自增,当请求累计1000,则amoeba将又向mongodb的相关字段增加1000,具体使用方法:
查询sequence:( 类似sql语句: select * from AMOEBA.SEQUENCE where seq_name=’seqName’;) 首先database为AMOEBA , CollectionName 为 SEQUENCE,下面是mongo shell语发: use AMOEBA ;   db.SEQUENCE.find({seq_name:’seqName’})
获取seq下一个值:( 类似sql语句: select $next from AMOEBA.SEQUENCE where seq_name=’seqName’;) mongo shell语法:use AMOEBA; db.sequence.find({seq_name:’aa’},{$next:1})
例子:类似sql语句: select $next from AMOEBA.SEQUENCE where seq_name=’myseq’;
E:\Tools\mongodb-win32-i386-1.6.0\bin>mongo.exe --port=8066
MongoDB shell version: 1.6.0
connecting to: 127.0.0.1:8066/test
> use amoeba
switched to db amoeba
> db.sequence.find({seq_name:’myseq’},{$next:1})
{ “$next” : NumberLong( 1 ) }
> db.sequence.find({seq_name:’myseq’},{$next:1})
{ “$next” : NumberLong( 2 ) }
> db.sequence.find({seq_name:’myseq’},{$next:1})
{ “$next” : NumberLong( 3 ) }
2、Amoeba for mongodb 提供benchmark 工具,可以测试 amoeba for mongodb 跟 mongodb,amoeba for mysql的benchmark 目前还未提供。该benchmark采用NIO机制,确保客户端消耗极小的资源。
如何使用:
D:\projects\amoebabuilder\amoeba-mongodb-binary-1.2.0-BETA\bin>benchmark --help
benchmark [option value/-option=value]
-d,--debug=value
show the interaction with the server-side information
-p,--port=value [required]
server port
-h,--host=value [required]
127.0.0.1
-c,--conn=value [required]
The number of concurrent connections
-n,--total=value [required]
total requests
-t,--timeout=value
query timeout, default value=-1
-C,--context=value
Context xml File
-f,--file=value [required]
request xml File
-l,--log4j=value
log4j level[debug,info,warn,error]
-?,--help=value
Show this help message
使用命令:
[benchmark@localhost amoeba-mongodb]$ bin/benchmark -p 12338 -c 1000 -f benchmark/query.xml -h 10.241.12.75 -n 100000
log4j:WARN log4j config load completed from file:/home/benchmark/amoeba-mongodb/conf/log4j.xml
Connection manager started....
connect to ip=10.241.12.75,port=12338,connection size=1000,total request=100000
Tue Nov 23 09:10:46 CST 2010     compeleted=0 TPS=0
Tue Nov 23 09:10:47 CST 2010     compeleted=12704 TPS=12704
Tue Nov 23 09:10:48 CST 2010     compeleted=47477 TPS=34773
Tue Nov 23 09:10:49 CST 2010     compeleted=81916 TPS=34439
completed requests total=100000, cost=3574ms , TPS=27979/s
min=0ms
max=555ms
average=34ms
下面是query.xml的文件内容:
        com.meidusa.amoeba.mongodb.packet.QueryMongodbPacket
        test.test
        0
        3
        0
        ${#atomicInteger.getAndIncrement()+2}
        
注:query.xml文件中的${} 中的内容是属于java表达式,“#”开头的对象定义在 benchmark/context.xml中,”@”开头的对象则是java类静态方法的调用
四、下载地址:
1、Amoeba for Mysql 2.0.1-BETA :
http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.0.1-BETA.tar.gz/download
2、Amoeba for mongoDB 1.2.0-BETA :
http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mongoDB/amoeba-mongodb-binary-1.2.0-BETA.tar.gz/download
by 陈思儒

一、Amoeba 框架2.0.1版本相关的改动:

1、基于 amoeba 2.0框架下开发,这个版本的配置跟之前的1.x做了很大的变化,并且不兼容之前的配置,希望大家仔细对照一下

2、沿用amoeba 2.x框架,采用命令行控制启动跟停止。(linux用户如果需要采用后端进程,请用 nohup bin/amoeba start &   )

3、增强规则配置,可采用通配符(比如:tableName可以采用  *.user, myschema.mytable* 等),可以适应大量表的应用,但是这块会有微微的性能损耗

二、Amoeba for  Mysql 2.0.1-BETA版本相关变更:

1、prepared statement将完全由amoeba这一层控制关闭,即使客户端不关闭prepared statement。-- amoeba for mysql

2、配置上大部分可让其他amoeba爱好者可替换实现,诸如:authenticator这块,默认采用独立的用户名、密码,开发者完全可以自己实现相关代码(-- amoeba for mysql),这块说明了后续amoeba将会更加开放,并且尝试其他后端服务的服务代理层的开发,amoeba未来将会开辟这块市场。

三、Amoeba for mongoDB 1.2.0-BETA版本呢相关变更:

1、支持内置SEQUENCE ,amoeba内部会cache 1000的数字范围,每间隔1000,amoeba都将向mongodb的相关字段增加1000,而客户端则通过amoeba获取sequence值,每次请求sequence,在amoeba的sequence预订值都会自增,当请求累计1000,则amoeba将又向mongodb的相关字段增加1000,具体使用方法:

查询sequence:( 类似sql语句: select * from AMOEBA.SEQUENCE where seq_name=’seqName’;) 首先database为AMOEBA , CollectionName 为 SEQUENCE,下面是mongo shell语发: use AMOEBA ;   db.SEQUENCE.find({seq_name:’seqName’})

获取seq下一个值:( 类似sql语句: select $next from AMOEBA.SEQUENCE where seq_name=’seqName’;) mongo shell语法:use AMOEBA; db.sequence.find({seq_name:’aa’},{$next:1})

例子:类似sql语句: select $next from AMOEBA.SEQUENCE where seq_name=’myseq’;

E:\Tools\mongodb-win32-i386-1.6.0\bin>mongo.exe --port=8066

MongoDB shell version: 1.6.0

connecting to: 127.0.0.1:8066/test

> use amoeba

switched to db amoeba

> db.sequence.find({seq_name:’myseq’},{$next:1})

{ “$next” : NumberLong( 1 ) }

> db.sequence.find({seq_name:’myseq’},{$next:1})

{ “$next” : NumberLong( 2 ) }

> db.sequence.find({seq_name:’myseq’},{$next:1})

{ “$next” : NumberLong( 3 ) }

2、Amoeba for mongodb 提供benchmark 工具,可以测试 amoeba for mongodb 跟 mongodb,amoeba for mysql的benchmark 目前还未提供。该benchmark采用NIO机制,确保客户端消耗极小的资源。

如何使用:

D:\projects\amoebabuilder\amoeba-mongodb-binary-1.2.0-BETA\bin>benchmark --help

benchmark [option value/-option=value]

-d,--debug=value

show the interaction with the server-side information

-p,--port=value [required]

server port

-h,--host=value [required]

127.0.0.1

-c,--conn=value [required]

The number of concurrent connections

-n,--total=value [required]

total requests

-t,--timeout=value

query timeout, default value=-1

-C,--context=value

Context xml File

-f,--file=value [required]

request xml File

-l,--log4j=value

log4j level[debug,info,warn,error]

-?,--help=value

Show this help message

使用命令:

[benchmark@localhost amoeba-mongodb]$ bin/benchmark -p 12338 -c 1000 -f benchmark/query.xml -h 10.241.12.75 -n 100000

log4j:WARN log4j config load completed from file:/home/benchmark/amoeba-mongodb/conf/log4j.xml

Connection manager started....

connect to ip=10.241.12.75,port=12338,connection size=1000,total request=100000

Tue Nov 23 09:10:46 CST 2010     compeleted=0 TPS=0

Tue Nov 23 09:10:47 CST 2010     compeleted=12704 TPS=12704

Tue Nov 23 09:10:48 CST 2010     compeleted=47477 TPS=34773

Tue Nov 23 09:10:49 CST 2010     compeleted=81916 TPS=34439

completed requests total=100000, cost=3574ms , TPS=27979/s

min=0ms

max=555ms

average=34ms

下面是query.xml的文件内容:

        com.meidusa.amoeba.mongodb.packet.QueryMongodbPacket

        test.test

        0

        3

        0

        ${#atomicInteger.getAndIncrement()+2}

        

注:query.xml文件中的${} 中的内容是属于java表达式,“#”开头的对象定义在 benchmark/context.xml中,”@”开头的对象则是java类静态方法的调用

四、下载地址:

1、Amoeba for Mysql 2.0.1-BETA :

http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.0.1-BETA.tar.gz/download

2、Amoeba for mongoDB 1.2.0-BETA :

http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mongoDB/amoeba-mongodb-binary-1.2.0-BETA.tar.gz/download

Enter labels to add to this page:
Please wait 
查找标签? 在此录入。
  1. 2013-Apr-25

    匿名用户 发表:

    amoeba-mysql-binary-2.0.1-BETA.tar.gz  这个版本在并发的情况下,相当的不稳定。 amoeba-mysql-3....

    amoeba-mysql-binary-2.0.1-BETA.tar.gz  这个版本在并发的情况下,相当的不稳定。

    amoeba-mysql-3.0.4-BETA-distribution.zip 这个3.0的版本较2.0的版本,在处理并发的情况下好很多。

    不知道 有没有3.0的相关文档啊。

添加评论