免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

[SequoiaDB] 读文档型数据库实战对比报告 下载测试提问题得好礼!(获奖名单公布) [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2013-10-10 22:16 |显示全部楼层
qingduo04 发表于 2013-10-10 19:29
呵呵,主要是要在虚拟机上装个linux操作系统,然后测试数据库。今天在另外一台电脑上正在下载linux系 ...


欢迎提交测试报告,呵呵

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
发表于 2013-10-22 15:25 |显示全部楼层
这个东西用起来不是很好用啊

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2013-10-22 16:12 |显示全部楼层
crazyhadoop 发表于 2013-10-22 15:25
这个东西用起来不是很好用啊

火柴你测试了?
有啥不好用的就在这里说啊,呵呵

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-10-28 20:03 |显示全部楼层
就这个community version的安装提点建议吧
文档写得太差了, 一个号称企业级的产品,必须要有一个让客户觉得舒坦的安装过程和部署文档,这是客户信心的第一步。


1. Installation.

Media:
http://www.sequoiadb.com/index.php?p=downserver#
x86 Linux         x86_64         199.96MB        
sequoiadb-1.3-linux_x86_64-installer.tar.gz

Testing Env:
http://www.sequoiadb.com/en/docu ... e/topics/os_en.html
PLATFORMKERNEL GLIBCRESULT
A:  Oracle EL Linux 5.7 64bit 2.6.32-100.37.1  glibc-2.5-42 FAIL
B: Oracle EL Linux 5.4 32bit  2.6.18-164-el5PAE glibc-2.5-42 NO
C:  SuSE SLES 11SP2 3.0.80-0.7-default glibc-2.11.3-17.45.45.1 OK

Install linux.x_64 server:
ORACLE EL Linux is binary compatible to RHEL version accordingly.

A: install failed on glibc.  
    这边EL5.7环境最大的问题在于glibc版本不一致,从网站上居然找不到最低依赖软件要求,起码要写上 最低支持kernel/glibc/gcc/ssh/ksh之类的版本吧。这样才像企业软件。
    我翻了一下没有要求glibc最低版本的。
sc002.png
  
    要求的是GLIBCXXX_3.4.11以上,我这边只有3.4.8。

B: install media not provided
    尽管网站上称支持32位OS 但community version没有提供可借32位OS验证的版本

C: 这个比较详细点, 因为安装成功了,但这边遇到的问题其实在EL上都有。

Installation Cases on UI:
1. 当图形化界面打不开时,自动切换成字符界面安装。
    severity:3  不算大问题,但这边没有必要这么做,企业版本应该只让GUI和TUI在不同的模式下运行,也就是说让客户 安装时候有自主选择权。
                         换句话说,客户调用图形界面前,必然要测试是否正常(比如测试xclock是否调出), 而不需要Installer更进一步地切成TUI.
                         不成功报错即可。

2.  root用户执行安装文件。
     severity:1  这个应当改进,因为很多步骤没必要用到root,应当把Installer的功能切割开来,以普通用户或seqadmin用户来安装。
                         这样可以省下时间,让客户不必对他们不信任的代码 开放root权限。
                         建议:  手动建用户/组,配置系统参数,安装必要RPM
                                     然后普通用户/seqadmin调用安装文件,复制,编译必要文件
                                     切换root起用必要的服务,这个可以写串脚本就好了。

3.  EULA未提供
      severity:1  尽管是社区版也不用这么省吧。中文版有,英文版没提供
            sc001.png

4.  填写用户名密码页面。
     severity:1  尽管产品开发者的意思可能是让用户使用默认的用户名密码走下去,但这个版本想法也太敷衍了事了。
                         没有文档来建议这个页面应当怎么填,是否是os user, 是否要在安装前配置好这个用户,或者使用什么级别的密码。
                        如果先建好自定义用户myuser, 会报错, 因为用户组不匹配, 后面会做chown 操作 使用myuser_group这样的值,这是想当然了。
                        如果使用除seqadmin以外的别的用户,也会报错,因为中间居然有hardcode 用到了seqadmin?

                        只有在没建过用户的情况下使用seqadmin才会成功。

5.  使用默认的参数成功配置SLES 上的server,然后使用 sdbstart 可以成功运行服务器

  1. ~/bin> ./sdbstart
  2. Success: SequoiaDB engine is successfully started (4035)
复制代码
这边有个建议,应当给用户一个列表,可以看懂这些代码如4035的意义。。。

    www server start correctly.
  1. :~/tools/server/php/bin> ./php -S localhost:8080 -t /opt/sequoiadb/
复制代码
这边后台网页只有中文么。。。
   

admin_dashboard

admin_dashboard

  
    这里倒没有大问题,一些报错要注意一下。

  1. From php log output./php:
  2. /lib64/libz.so.1: no version information available (required by /opt/sequoiadb/tools/server/php/libxml2/lib/libxml2.so.2)
  3. 127.0.0.1:55544 [200]: /php/right_1.php - Call to undefined function apache_get_version() in /opt/sequoiadb/www/php/right_1.php on line 220
复制代码
安装部分就是这样子,回头在SLES上面测试一下driver
  
  我觉得我还是可以这么说,从客户和市场的角度,首先,你得显得你专业。 搞个好一点的安装界面吧。不然别人连测试的心情都没有的。

  
-s

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-10-28 20:11 |显示全部楼层
可以测试一些并行读的性能(如DW场景)或者是非序列化数据, 像一段视频,在这个上面存储会做压缩么?

parallel txn rw就不测试了,这个还得靠RDBMS,事务完整性要求高的场景不适合部署NoSQL此类场景,像百度抢钱的服务器就一下垮了~

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2013-10-28 20:36 |显示全部楼层
to407 发表于 2013-10-28 20:11
可以测试一些并行读的性能(如DW场景)或者是非序列化数据, 像一段视频,在这个上面存储会做压缩么?

par ...


欢迎兄弟做一些测试,呵呵

论坛徽章:
0
发表于 2013-10-29 12:49 |显示全部楼层
to407 发表于 2013-10-28 20:03
就这个community version的安装提点建议吧
文档写得太差了, 一个号称企业级的产品,必须要有一个让客户觉 ...


非常感谢这位兄弟的测试。您说的很多问题我们也都注意到了,例如对于操作系统版本的细节,对于网页控制端界面的设计等。
我们会在11月底到12月初推出1.5版,届时相信很多问题都会被修复。

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-10-30 16:45 |显示全部楼层
回复 47# wangzhonnew


    花了点时间看了一下。

1) 本来想拿点数据来试一下,找了citylots.zip ,然后用shp2json转化了一下,想试试读写的速度,可是
    ./sdbimprt 根本用不了。看了前面的一个文章才知道这个导入导出工具本身是有问题的,得不到cl的值

   而且关于sdbimprt有一个参数 -i 在文档里 说这个不用带文件后缀名? 这个不清楚什么意思,比如我的文件名/tmp/my.json.input.file 这个 -i应该填成什么?


2013-10-30-06.59.18.541401               Level:ERROR
PID:14968                                TID:14968
Function:getCollection                   Line:503
File:SequoiaDB/engine/pmd/sdbimprt.cpp
Message:
Failed to get collection bar, rc = -75

  所以没办法拿大量数据来试了


2) 有个问题,好像找不到sql 的interface,dbshell好像只能运行函数 除非用 db.execUpdate()和db.exec()
    文档里sql和function对应的那张表,也对不上号,student(name), foo(bar)对不上

     另外dbshell不能同时copy多行,即 选中复制多行命令到shell处 只能认第一行。

     dbshell的函数分大小写,这样有一些问题
  1. >  var db = new Sdb('localhost', 50000)
  2. Takes 0.13928s.

  3. > db.foo.createCL('cl10')
  4. localhost:50000.foo.cl10
  5. Takes 0.845s.
  6. > db.foo.createCL('cl11')
  7. localhost:50000.foo.cl11
  8. Takes 0.436s.
  9. > db.foo.createCL('cl12')
  10. localhost:50000.foo.cl12
  11. Takes 0.502s.>  
  12. db.foo.createCL('cl12')
  13. (nofile):0 uncaught exception: -22
  14. Takes 0.507s.
  15. > db.foo.createcl('cl12')
  16. (nofile):0 uncaught exception: -23
  17. Takes 0.380s.
复制代码
第一次做createCL操作,在我的环境里大约是0.8-0.9s 这比后面每次createcl时间要长,连续几次的操作,后面几次基本上都是0.5s完成的

还有一个问题,对比文档里的"Error Code List",. 这边-22指集合已存在,-23指集合不存在, 显然当我输错了命令大小写,其错误码也是不对的。

3)  试了几个小特性
    关于建CL,即相当于RDBMS建表,建空表的时候基本没有物理IO,这是很不错的。只有在插入数据的时候才做实际的物理IO
    适当调高值,发现cpu/mem略升,但压力不大(分析主要是建立connection的问题)
  1. for i in `seq -w 800`
  2. do
  3. ./sdb -s "var db = new Sdb('localhost', 50000) ; db.foo.createCL('cl${i}')"
  4. done
复制代码
当我尝试把800调高到8000时候就显示
(nofile):0 uncaught exception: -15 //网络错误
#文档有说明只支持4096个CL

但此后我再尝试去删CL的时候已经有问题了
  1. > var db = new Sdb('localhost', 50000)
  2. (nofile):0 uncaught exception: -15
  3. Takes 0.12956s.
  4. >
  5. > db.foo.dropCL('cl3')
  6. (shell):1 TypeError: db is undefined
  7. Takes 0.159s.
  8. > var db1 = new Sdb('localhost', 50000)
  9. (nofile):0 uncaught exception: -15
  10. Takes 0.12544s.
复制代码
发现是服务器进程已经down了, 运行sdbstop 再sdbstart后正常
但不能批量删除,估计还是这个connection太多的原因。

同样,因为每次都要new connection,导致这个sdb脚本化比较有难度。每一步都要新建连接。

4). 关于索引, 支持建在尚不存在的列上, 但这边的索引都是B Tree的, 没有多种选择。
     我想,这样会有一个问题,大量IO的时候,会有index split
     建立可以create index 在今后的版本里加上不同的index选项, 当然如果觉得数据并不会很格式化,那么也无所谓。

5)  关于sql,还有很多改进的空间,比如这边where语句
因为外层已经用了引号, 那么select本身等号后面的值,非专有值,非变量值就加不了引号,也不能包括引号了。
  1. >  db.exec("select * from foo.bar where last=Black");
  2. {
  3.   "_id": {
  4.     "$oid": "5270b0985f7f5d413a000000"
  5.   },
  6.   "first": "Jhon",
  7.   "last": "Black"
  8. }
  9. {
  10.   "_id": {
  11.     "$oid": "5270b1c05f7f5d413a000001"
  12.   },
  13.   "first": "Jhon2",
  14.   "last": "Black"
  15. }
  16. Return 2 row(s).
  17. Takes 0.1434s.
复制代码
关于groupby  
其效果是和mysql的相同的,和oracle的不一样。同样语句在oracle报错
此处如果只取一项groupby last,则上面两值只有一个。
  1. >  db.exec("select * from foo.bar where last=Black group by  last");
  2. > db.exec("select * from foo.bar where last=Black group by  last,first");
  3. > db.exec("select * from foo.bar where last=Black");

复制代码
6)关于文档提一点, 里面关于什么vi :wq的就不用写进去了,如果不是凑字数的话。

7) 另外的性能问题,很多其实比较没什么直接意义,像这里的产品,把read write server分开了,那么其io的性能必然是较好的,当没有rw分离的情况下呢? 我没有搭多节点cluster,但我觉得如果用的节点间网络比较慢,会是一个瓶颈。



-s

论坛徽章:
0
发表于 2013-10-31 16:28 |显示全部楼层
呵呵,好活动啊

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
发表于 2013-11-05 15:58 |显示全部楼层
还继续么?我只是安装测试了一下。感觉比较傻瓜。linux上。
link
http://blog.chinaunix.net/uid-22130203-id-3966399.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP