精華區beta CSSE 關於我們 聯絡資訊
※ 引述《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
seagal:換了之後問題會很多吧 08/18 20:18