好,不裝文青了,不過我們今天要談的內容,還真跟時間有那麼一點點的關係。
在高頻交易系統中,最重要的一塊就是資料的累積。而歷史資料累積的完整,能夠提供強大的資料挖礦演算法一個強大的後盾,讓資料挖礦的過程中,完全無後顧之憂。但是,一天五個小時的開市時間,以每秒來計算,單一一種股票或期貨,就會有一萬八千筆資料,更別論還有其他的市場資料和技術指標等。那如此大量的歷史之料,要用什麼時光盒來保存呢?今天貓大會為大家介紹兩種技術,分別是Hadoop的HDFS(Hadoop Distributed File System)及HBase。
HDFS
HDFS﹝Hadoop Distributed File System , Hadoop 分散式檔案系統﹞是 Apache Hadoop 項目的一個子項目。HDFS的特點為,可儲存空間超大的檔案(MegaBytes、GigaBytes、TeraBytes)。
允許連接多個分佈著資料檔案的Hadoop集群中所包含的節點,並且將那些資料檔案作為一個無縫檔案系統來進行訪問和存儲。
詳細介紹請至:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/ExtendedAttributes.html
HBase
HBase是一個開源的非關係型分布式資料庫(NoSQL)。它是Apache軟體基金會的Hadoop項目的一部分,運行於HDFS文件系統之上,為 Hadoop 提供類似於BigTable 規模的服務。因此,它可以容錯地存儲海量稀疏的數據。﹝以上取自Wikipeida﹞詳細介紹請至:http://hbase.apache.org/
HDFS、HBase在歷史資料儲存上的優缺點
在大量資料的存取的速度上,HDFS是占有優勢的,大量資料儲存於一TXT檔案,上傳至HDFS所花費時間,與HBase 上傳同樣資料量,同樣格式的速度相比,HDFS是較為快速的。﹝以HDFS檔案為TXT檔案,並分行,空格分列。及HBase 相同Rowkey,相同Column Family,但分Column Qualifier、Column Qualifier Value。為例﹞
HBase雖然非關聯式資料庫,但是在資料的搜尋上,還是強於HDFS,但若在資料的儲存上,能夠很清楚資料的位置的話,可以考慮採用HDFS,
如果需要修改資料,HBase會是較好的選擇。若當某筆資料存入後,後續還有可能修改,那HBase會是較好的選擇,不僅搜尋資料方便,修改資料也方便,還有timestamp標記不同時間所儲存的資料。相比,HDFS在修改資料上,就較為麻煩,因HDFS設計,無法直接在HDFS上做修改,必須先把資料所存放的檔案自HDFS下載下來,完成更改後再上傳,才可以完成修改的步驟。
如果各位看倌須要快速、大量、單一檔案的資料儲存,清楚知道資料的位置,不需要使用搜尋功能,並且資料儲存後,就不會再更動。那麼推薦您可以選擇HDFS作為您的資料儲存系統。
但若您需要搜尋功能,且有可能會常對資料做更動,貓大會推薦您使用HBase作為您的資料儲存系統。
但是事情並無絕對,最重要的是,找到一個適合您的系統的資料儲存方式。
但若您需要搜尋功能,且有可能會常對資料做更動,貓大會推薦您使用HBase作為您的資料儲存系統。
但是事情並無絕對,最重要的是,找到一個適合您的系統的資料儲存方式。
採礦貓
採礦貓過去在許多金控公司當過顧問,看到很多台灣散戶投資者被國外的投資公司坑殺,因而希望能提供散戶強大的投資工具與武器以提升獲利率、避免走上被坑殺的道路