作者micklin (mick)
看板CSSE
标题Re: [问题] 行与列
时间Fri Aug 18 16:42:02 2006
※ 引述《reader (读者)》之铭言:
: ※ 引述《micklin (mick)》之铭言:
: : 最近在处理基因序列, 资料的储存一直让我很头痛,
: : 在传统资料处理时, 我都把column对应到feature, 把row当成一笔资料.
: : 但是现在的问题是MySQL不能处理2000个column (colon dataset),
: : 更别说另一个五万多个基因的dataset了.
: : 转成文字模式再用UltraEdit处理, 在4096个字元後就强迫断行了 = =
: : 虽然可以自己用程式接起来就是了....
: : 所以我的问题是,
: : 在处理行与列的时候有没有什麽不同呢?
: : 为什麽我们平常处理文字档或资料库的时候,
: : 会偏好row很多而不是column很多?
: : 是档案结构的问题还是什麽地方的限制呢?
: : 谢谢回答.
: 比较技术性的解法,是使用 data_index, feature_index, feature 三个栏位,
: 并设定 index 在 data_index 栏位上。
: 电脑系统本来就倾向处理大量资料,而不是复杂资料,单是要处理复杂资料,就
: 会需要建立复杂的输出入介面,大大地减低电脑对於复杂资料的处理能力。
: 如果不需要建立复杂的介面,也就等同於可以拆解资料了。
: 而且,避开极端性状况来设计通用系统,原本就是一个有效降低软体开发困难、
: 增加系统效能的好方法。这几乎是所有便宜好用的系统的共同设计理念。
: 所以无论就介面、效能、开发上,多数资料系统都会倾向以处理简单资料 (栏位
: 较少) 而不是复杂资料 (栏位较多) 为主要目的,并适度加上限制。
那麽, 假设现有有个资料库, 并将每个table储存为tbs,
在column很多的情况下, 能不能以标记的方式将此table的row与column转换(转置)?
举个例子,
Table A是10个column配上10K个row,
Table B是10K个column配10个row的Table,
能不能将这两个Table用一样的档案格式储存起来,
然後对Table B做一个标记, 表示Table B的row与column是转置的,
然後在进行存取的时候转换回来?
这样可以解决问题吗?
: 就你的情况,使用二进位资料档,写程式来储存处理,其实是比较适合的做法,
: 要有几个栏位都随你。
之所以会有点坚持在使用资料库, 一部分的原因是因为要配合现有的程式,
一部份是有时候要进行简单的column运算时, 用sql去进行运算还蛮快的,
不太想reinventing the wheel....
现在解决的方法是将两千个feature存成row,
patient的编号则是column, 自己在程式内部进行row与column转换,
只是对这个问题觉得很好奇~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 70.171.224.50
1F:推 seagal:换了之後问题会很多吧 08/18 20:18