免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 大夫
打印 上一主题 下一主题

拳打Informix 9.3,脚踢Informix 9.4,强烈BS [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-01-10 22:37 |只看该作者
楼主的经验之谈,路过,参考一下。。。

论坛徽章:
0
12 [报告]
发表于 2006-01-12 15:14 |只看该作者
一个项目选什么数据库,不是工程师说了算,集成商要看卖那个软件能给他带来最大的利润,那可是另外的一个领域.好好学习吧,工程师,你的路还远呢。。。

论坛徽章:
0
13 [报告]
发表于 2006-01-12 15:40 |只看该作者
原帖由 ibm_informix 于 2006-1-12 15:14 发表
一个项目选什么数据库,不是工程师说了算,集成商要看卖那个软件能给他带来最大的利润,那可是另外的一个领域.好好学习吧,工程师,你的路还远呢。。。


严重同意。

论坛徽章:
0
14 [报告]
发表于 2006-01-12 15:47 |只看该作者
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺序没注意,好像每次看了执行路径都大概知道了顺序,需要的信息都用了。
不给索引名也没注意过,作者实在觉着麻烦也不用骂娘,这类的缺陷随便那个软件都能找出一堆来。


2. Extend有限制有什么新鲜的,现代计算机最基本的CPU,memory,I/O都有限制,作者说个Oracle没限制的东西给我看看?
Extend问题如果没有经验是会遇到,如果经过培训,学习应该可以掌握吧。

3. 系统监控Informix本身提供的工具并不多,这和Oracle的策略不同。
Oracle本身养了很多研究人员来开发基于Oracle的工具。而IBM对DB2,Informix来说只开发数据库本身的产品,其他工具软件是交给了第三方的软件开发商来做。
比如server studio JE5.1,我还见过一家台湾公司做的Informix监控管理软件。都是基于Informix开放的API函数和系统表来做的。


4. 从来没觉得Informix的系统表少些什么内容,但有些系统表是undocument,就是不希望用户访问的。

5,分区支持
Informix的hash分区偶用过。

6,9.3和9.4的区别
版本的升级,凭什么要规定人家变化什么,不变化什么。9.3升级到9.4很容易呀。


7,系统工具难使用
这恰恰是我觉得Informix的一个优点, 一个onstat就搞定很多事,要查的东西差不多都有了。
有时是要写些sql, shell来完成复杂的管理任务,不过那个资深的DBA没写过sql,shell呢?


8,内存分配,参数初始化设置
我见过很多大型应用用的都挺好的呀。会不会用不等于好不好用。


9,动态SQL
支持!

10,在线交互工具
dbaccess也还可以呀,偶一开始用sqlplus的时候也不习惯呢。


呵呵,好像Q&A的说了那么多。说点题外话吧。

要比数据库,可以从
系统架构
性能
安全性
可扩展性
可用性
易管理性
等等方面去比。作者有空给点建议。

还有估计作者也是受过高等教育的,先抛开做技术的层次,一个有素质的人,说一堆kao,cao,TMD对讨论问题有什么帮助吗?
海纳百川有容乃大。退一步说作者要做到研究关系型数据库的全球顶尖人物,要说点什么大话,大伙也没意见。
可提的这些个问题,呵呵。。。

[ 本帖最后由 zzjijun 于 2006-1-12 15:51 编辑 ]

论坛徽章:
0
15 [报告]
发表于 2006-01-13 09:21 |只看该作者
原帖由 zzjijun 于 2006-1-12 15:47 发表
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺 ...


先回答这一句:
"
还有估计作者也是受过高等教育的,先抛开做技术的层次,一个有素质的人,说一堆kao,cao,TMD对讨论问题有什么帮助吗?
海纳百川有容乃大。退一步说作者要做到研究关系型数据库的全球顶尖人物,要说点什么大话,大伙也没意见。
可提的这些个问题,呵呵。。。
"

我本科毕业,但我从不因为我是本科毕业就认为我比其他人有素质!高中时就曾听哲学老师说过,英国人最绅士,但他们大多回家就打老婆,家庭暴力不断!君子剑岳不群很君子,可惜是伪君子!我就是我,最BS表里不一的人.至于说COW,CAO,KAO,TMD,我说了,表示当时我的情绪比较激动,只觉得通过说这个话才能表达我当时的心情!楼主从没说过这些话?或者说楼主大学毕业后从没说过这些话?如果是,我非常非常认真的给楼主道歉!!!如果不是,那请楼主下次闭上鸟嘴!本人生平最烦伪道学!!!我的观点,宁做真小人,绝不做伪君子!忘记那个电影说的了,说穿着西装的人最危险!!!呵呵,这话又让我想起了部连续剧《不要和陌生人说话》,楼主以为里面的男主角怎样?符合楼主的胃口吗?还是楼主就是这样的人?----一切都是猜测而已。

开篇我就说了,用什么数据库不是我所决定的,是公司决定的,或不能说是公司决定的,是客户决定的,我们公司只是给用户一个建议,具体用户选择哪个厂家的数据库,就要看数据库厂商的销售手段了,我使用的9.3版INFORMIX数据库有2个,INFORMIX 9.4版数据库超过10个,Oracle 8i  超过8个,Oracle 9i超过 8个,Sybase  12.5 超过3个。我没有经过系统的培训,一切全是靠网上看别人的帖子,搜索别人总结的资料,这点真的非常非常感谢那么些无私贡献的人们,让我少走了很多弯路,快速接触数据,同时只能看看厂家随光盘带来的文档,还有就是打技术支持电话。因为我们不是在线运营商,业务不是关键业务,所以对数据库的应用要求不是特别高,这才让我有机会在这3种数据库里学习,我感谢这个环境提供的机会。由于学习时日不长,不到4年,期间还干了其他内容的工作,所以数据库的很多地方是不清楚的,理解错误的可能性不仅是存在的,而且错误的地方可能还非常多。文章开使我就说了,希望通过我情绪化发泄的这个不满,引导出更多的讨论,让我进步学习。用INFORMIX导致我非常不爽,而用ORACLE相对没有那么多让我烦恼的问题。而且打INFORMIX技术支持电话(购买了厂家服务),很多问题,INFORMIX技术支持,并不能认真的,肯定的回答,这点尤其让我郁闷!!!一般都是电话后,他去查,然后电话回来告诉我结果。而有的时候,比如HASH分区,IBM工程师也是说支持的,我看资料上也是说支持的,我问技术支持是否做过实验了,他说做过了,可我就是做不出来,我要求他把实验过程发给我,他不发,让我再做做,我把实验过程发给他,过了两天电话我,才告诉我INFORMIX 9.4不支持,说到这,我不能停止的再次说声KAO !!!有这么胡弄用户的吗,吗???????这部分内容,也请楼主实验以后再回答我,好吗,谢谢!!!

再次请求原谅我因为楼主的一个“素质”让我有机会唠叨这么多废话!

论坛徽章:
0
16 [报告]
发表于 2006-01-13 10:34 |只看该作者
原帖由 zzjijun 于 2006-1-12 15:47 发表
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺 ...
原帖由 zzjijun 于 2006-1-12 15:47 发表
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺 ...



在此,我再次申明:我不是说ORACLE好,我只是拿ORACLE和INFORMIX做个比较。
下面列出的是我认为ORACLE比INFORMIX要让我爽的,而一些,比如分区表在线初始化,我认为INFORMIX就比ORACLE做的好,方便我用,但我没有一一列出来说明。

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺序没注意,好像每次看了执行路径都大概知道了顺序,需要的信息都用了。
不给索引名也没注意过,作者实在觉着麻烦也不用骂娘,这类的缺陷随便那个软件都能找出一堆来。
答:
为了这个问题,今天我再次去认真反复看了一下,承认我的错误,我看懂了他的执行计划了。显示方法和表达方法和ORACLE有点区别,以前我狗眼混花,没注意到,例:
INFORMIX:
Estimated Cost: 140 --估计成本值为140
Estimated # of Rows Returned: 93          ------估计返回93行
  1) informix.b: SEQUENTIAL SCAN              ----第一步全表扫描表b,通过b.territory_id = 1过滤得到row set。
        Filters: informix.b.territory_id = 1
  2) informix.p: INDEX PATH                     -------第二步通过索引扫描得到表p的row set,使用的索引是包含的有字段ne_id start_time stop_time   的索引(索引名称未给出),索引过滤条件为p.start_time = 。。。
    (1) Index Keys: ne_id start_time stop_time   (Serial, fragments: ALL)
        Lower Index Filter: (informix.p.ne_id = informix.b.ne_id AND informix.p.start_time = datetime(2006-01-1
1 14:00:00) year to second )
NESTED LOOP JOIN  ----表示第二步和第一步执行nested loop连接,连接条件是p.ne_id =b.ne_id ,(那个是outer table,那个是inner table?)

  3) informix.t: AUTOINDEX PATH       -----自动索引路径访问。
    (1) Index Keys: territory_id
        Lower Index Filter: informix.b.territory_id = informix.t.territory_id ---索引过滤
NESTED LOOP JOIN   ---------nested loop连接,应该是说1)和2)的连接过后形成的row set再和3)进行NL连接。
  4) informix.m: INDEX PATH        ------索引访问。
    (1) Index Keys: ne_id   (Key-Only)  (Serial, fragments: ALL)   ----索引字段说明。
        Lower Index Filter: informix.m.ne_id = informix.b.related_msc       过滤条件,连接条件
NESTED LOOP JOIN    --------连接方式。

感谢楼主,没有你的批评,我还不知道我到什么时候才会看到这个内容。
个人觉得不好的地方:
1,索引名称未给出,也无所谓。
2,只给出了总的COST和返回行估计,没有给出具体每个步骤的COST和返回行估计。这关系到如果多表连接,我能否快速发现是SQL的那一步执行的性能问题。ORACLE的分析方法此处略过。
3,执行时间统计,楼主有什么好方法记录每次SQL的执行时间?如同sqlplus 的set timing on功能一样。当前我是写了个执行SHELL,在里面每次查询数据库当前时间输出,法子很笨,请给予指导。
4,没有找到原始执行过程的跟踪文件,我们知道,一个SQL语句执行慢,可能是因为很多原因制成的,如果INFORMIX提供一份如ORACLE的udump的trace的原始文件,让我们连接这个SQL从发布到执行结束都做了些什么,在查找性能问题的时候,帮助更大一点。这方面,ORACLE提供的方法很多,分析内容也很丰富。



2. Extend有限制有什么新鲜的,现代计算机最基本的CPU,memory,I/O都有限制,作者说个Oracle没限制的东西给我看看?
Extend问题如果没有经验是会遇到,如果经过培训,学习应该可以掌握吧。
答:其他的先不说,就ORACLE的extend来说,目前可以认为是没有限制的,我们认为的没有限制,是一种相对概念,比如ORACLE的SCN,可以认为几百万年都不会重复一样(几百万年后,都不知道是否还有ORACLE这个名字,你也知道不会计较几百万年后他是否重复了吧),不是死专牛角尖。(在此,借这个机会,能否问一下,楼主使用ORACLE的经验有多少?使用INFORMIX的经验有多少?),不象INFORMIX一样,对extend有限,固定数量。我曾经遇到过好几次因为INFORMIX的extend数满了,无法插入数据,只能把表导出来,重新创建大的extend再导进去,第一次遇到这个问题的时候,我也觉得很新鲜。你也知道,大表操作是很烦人的事,所以我才那么不满了,只是不知道楼主是否曾经管理过大数据库的大表???



3. 系统监控Informix本身提供的工具并不多,这和Oracle的策略不同。
Oracle本身养了很多研究人员来开发基于Oracle的工具。而IBM对DB2,Informix来说只开发数据库本身的产品,其他工具软件是交给了第三方的软件开发商来做。
比如server studio JE5.1,我还见过一家台湾公司做的Informix监控管理软件。都是基于Informix开放的API函数和系统表来做的。
答:恩,那天听一位高人说了,说ORACLE和INFORMIX的策略不同,大概是说,ORACLE是以资源换性能,INFORMIX不是。这个话目前我还没有认真消化完,所以不好说。毕竟如果这是真的,那么多人的脑袋想出来的法子,我相信比我的强,我会去寻找差别。
至于说“Oracle本身养了很多研究人员来开发基于Oracle的工具”,我不知道是否真的,我最喜欢的ORACLE的性能工具STATSPACK,目前也还有很多我不满意的功能,他们的工程师修正的好象也慢了一点。但类似的这种工具,INFORMIX都没有。ORACLE的工具,不管是谁开发的,请楼主做个调查,是ORACLE的多,还是INFORMIX的多,我就不说了。再次说,DB2我不仅没用过,见都没见过。QUEST的性能工具我也见过,但只见过ORACLE的,没见过INFORMIX的,至于说到server studio JE5.1,以前一直不知道有这个工具,后来电话INFORMIX技术支持,他被逼的没招了,第三天吧,好象是,给我打了个电话,说他们工程师用这个工具,他本人没有用过。我找了几个网友,下载来研究了一下。目前还没用熟,没有感觉到多好,慢慢挖掘中,暂时还是不评论了。



4. 从来没觉得Informix的系统表少些什么内容,但有些系统表是undocument,就是不希望用户访问的。
答:
从没觉得SMI少了点什么,那请楼主帮我查查一个用户从连接开始,不说连接开始了,当前会话执行过的10个SQL语句出来?请教一下,如何查?如果SMI查不出来,那么请楼主用ONSTAT教我查也好,谢谢!如果查不出来,下次就不要这么说啦,我只是说我不满,在寻求帮助,还没如楼主一样容易满足了。
不知道楼主是否给系统做过综合性能分析,在一个大型OLTP里,由于国内的软件开发上线,在上线前各模块是没有经过认真测试的,或者对SQL性能就是没有测试的,每小时生成的SQL大概超过1G内存大小,此时,请问如果不查询这些,如何知道那些SQL是消耗资源最大的,或很大的呢?所以,我才喜欢ORACLE的STATSPACK,它提供趋势分析!!!

论坛徽章:
0
17 [报告]
发表于 2006-01-13 10:35 |只看该作者
原帖由 zzjijun 于 2006-1-12 15:47 发表
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺 ...





5,分区支持
Informix的hash分区偶用过。
答:请问楼主是在什么版本用的?我的IDS 9.4测试失败,INFORMIX技术支持最后也被迫回答不支持,请楼主把9.4版的实验情况帖出来一下,让我学习学习,十分感谢!


6,9.3和9.4的区别
版本的升级,凭什么要规定人家变化什么,不变化什么。9.3升级到9.4很容易呀。
答:确实,我无权规定他变化什么不变化什么,我只是表达他变化大了对我工作的影响,对我影响很大,如果变化不是那么彻底,影响就小了。
1,我曾经写过一个软件dbmonitor,可自适应监控ORACLE,INFORMIX,SYBASE的一些如内存,存储,对象,会话,日志等内容的一个工具。当时做完了IDS 9.4版,做9.3版的时候,才发现很多系统表名都变了,到现在我也没找到说明资料(或许有,是我没翻到,但现在已失去了再升级DBMonitor的兴趣)。
2,楼主说了,从9.3升级到9.4很容易,能否发个方案来看看?这个问题,后来提交给我们系统集成事业部讨论,结论是目前不适合做升级,到现在我们也没做成。环境:一个SUN,一个HP,表实际数据量大概300G左右,chunk使用裸设备。系统离线时间不能太长。谢谢。


7,系统工具难使用
这恰恰是我觉得Informix的一个优点, 一个onstat就搞定很多事,要查的东西差不多都有了。
有时是要写些sql, shell来完成复杂的管理任务,不过那个资深的DBA没写过sql,shell呢?
答:
1,我不是资深DBA,我还是数据库大海里游荡的一个初级选手,所以不知道是否有资格和楼主讨论这个话题,呵呵,楼主是“资深DBA”?景仰一下先。
2,就说写SQL,SHELL来完成吧,就目前google搜索下来,还是ORACLE多,INFORMIX少,而且提供的INFORMIX脚本,转来转去,就是那么几个。如果楼主有套全的,不妨贡献给大家,人民感谢你?呵呵。
onstat ,只是计算输出了当前的值,请注意,是当前,所以无法提供趋势分析。既然楼主是“资深DBA”,那也应该知道趋势分析的重要了吧,要把问题扼杀在摇篮中啊。。。。那只能把当前onstat的数据入库?唉,我再说一次KAO,这样是不是会增加很多资源消费呢?曾经见过,比如onperf,可以提供采集点,画出图形来表示资源的使用曲线,但这得一直开着这个窗口,这样符合例行维护的工作需要吗?我觉得好象不是很符合的吧。
还是说我的理解就是错误的了,请楼主给于指导,我希望我在这方面对INFORMIX的认识,能通过这次讨论,有所突破,谢谢。




8,内存分配,参数初始化设置
我见过很多大型应用用的都挺好的呀。会不会用不等于好不好用。
答:
“会不会用不等于好不好用”,这句话我完全同意!“我见过很多大型应用用的都挺好的呀”,呵呵,楼主可能见过真正的牛人做过的系统吧,我没见识过,向往中啊。。。
我们在做内存分配分析的时候,ORACLE在大体的几个方面进行初始设置后,一般都能取得不错的性能效果,剩下的我定义为微调整了。而INFORMIX,真的很难搞,你比如一个SQL缓冲区,就要配置好几个参数,而同时还有统计数据缓冲区,数据字典缓冲区等等虚拟内存部分。我的其中一个疑惑请参考本版《Informix 内存讨论之一: SQL语句高速缓存 》 http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
请楼主进去对我的疑惑,指导一下,万分感谢!

真的,我测试的时候就把我弄晕了,感觉一环扣一环的,因为没有帮定变量,现在我的hits设置为70,ssc都已经超过900M了。感觉这样,反过来,不如按原始配置,不起用SQL缓冲,但这样又想着每次都要hard parse,效率差,唉,矛盾啊。 绑定变量的问题,下面再说。




9,动态SQL
支持!
答:我原来说的话有问题,当时一冲动,直接就说了“一个字:不支持。”,我本意是这样的,INFORMIX提供在接口程序里使用宿主变量的方式提供绑定,这是提供的。但比如在procedure里(我们绝大部分中间计算都是通过procedure来完成的,7*24小时每小时都有大批数据要计算),ORACLE就提供了如execute immediate的动态接口,但INFORMIX里,他没有!!!
这会导致什么问题呢?举例给楼主:
1,我们做程序开发,都是提供一个接口程序给程序员,程序员把写好的SQL直接发给接口程序输出执行,接口程序他们只需要编译进去就好了。这样程序员写的程序,就不好使用宿主变量的方式提供绑定了!
2,在procedure里,比如我有很多个地市,比如山西省,有10多个地市,我们就几张表,是按地市进行分表数据存储的,但汇总上来的时候,计算方法是完全一样的。这就有一个问题了:
   仅仅是因为表名的后缀不一样,我就不得不每个地市写一个procedure。(我们很多这种procedure,这样一来,procedure的数量就很大很大了,不知道楼主是否遇到过),而ORACLE指定动态SQL,哈哈,很好,遇到这种情况,就用动态SQL,把地市组合起来就好了,所以ORACLE一类就一个procedure,而INFORMIX就得很多过,即使我通过方法改进,提前进行数据预处理,那也需要3个procedure才能处理完!
3,procedure每小时,每网元重复计算,执行的频率很高,如果不提供SQL缓存,不使用绑定变量,每次都要hard parse,很浪费资源。

不知道楼主遇到这种问题的时候,是怎么解决的,也请指导一下,这部分内容对我来说很重要。


10,在线交互工具
dbaccess也还可以呀,偶一开始用sqlplus的时候也不习惯呢。
答:恩,刚开始用工具的时候,都不习惯,但两种工具都要经常用的时候,你发觉一个可以提供好多方便,灵活,丰富的功能,而另外一个死活没有的时候,你就知道不爽了。看来楼主缺少使用sqlplus的丰富经验。

在此,推荐研究一下,呵呵。



啊,总算又请楼主赐教的内容写了一遍,诚恳的请楼主指导。

论坛徽章:
0
18 [报告]
发表于 2006-01-13 10:39 |只看该作者
原帖由 zzjijun 于 2006-1-12 15:47 发表
工作太忙,时间没有,大多潜水。今天看了这贴,就说几句吧

1, 现在商业的关系型数据库查询优化器大多是基于成本的,需要的是执行路径,cost,预计返回的行数。
我一直用Informix都觉着蛮好用的。
说到执行顺 ...


刚看到这一段:

要比数据库,可以从
系统架构
性能
安全性
可扩展性
可用性
易管理性
等等方面去比。作者有空给点建议。


回复:
恩,很认同你的观点,全方便比较数据库,但我不是要做数据库比较,测评,专门有组织这样做的。我只是在工作中应用的时候,在我用的到的部分进行比较,仅仅比较的是因为数据库的差异,给我的工作带来的麻烦和便利。如果你非要说,那我再回答一次,如果给我选择,我希望公司,客户选择国产数据库,比如梦龙的,我想我虽然会骂,但绝对会认真的对他进行测试,总结提出自己的建议。

论坛徽章:
0
19 [报告]
发表于 2006-01-13 10:43 |只看该作者
批判一下自己,刚给楼主发站内信请求过来指导的时候,发现楼主是女孩,确实听到KAO,TMD等可能很不习惯,或许是我错了。因我确实见过一次TMD等Z话都没说过的女孩(至少在我面前)。下面,只请楼主指导吧。

论坛徽章:
0
20 [报告]
发表于 2006-01-13 10:48 |只看该作者
原帖由 ibm_informix 于 2006-1-12 15:14 发表
一个项目选什么数据库,不是工程师说了算,集成商要看卖那个软件能给他带来最大的利润,那可是另外的一个领域.好好学习吧,工程师,你的路还远呢。。。


我也严重同意,我们就是系统集成商,但我们以软件生产为主。所以一些第三方软件,我们都是建议用户买,由用户决定买那个厂家的。一般都是用户在做项目的时候,做预算,就根据不同的预算我们做选择,报价了。所以买什么,用什么,我控制不了,我发这个帖子的意图,1是发发牢骚,2是这些牢骚都是严重影响我工作了的,希望同时得到其他牛的人帮助。如果INFORMIX真的不支持,那就当笑话看了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP