伊莉討論區

標題: 如何將大資料量存進程式處理 [打印本頁]

作者: sigefred    時間: 2016-5-14 11:26 AM     標題: 如何將大資料量存進程式處理

如果sql撈出一千萬筆資料不分頁要一次取出要如何存下來 用string 會有陣列65535的大小限制
如果用datagridview最多可以存幾筆 因為datagridview不是也要用陣列索引取出就會有65535
如果用list array可以一直new會不會記憶體被吃光一個dot net 程式是不是有最大記憶體用量2G的限制
作者: rr09192084    時間: 2016-5-14 11:57 AM

我想請教一下,一千萬筆資料不分頁,用途是甚麼,一般不分頁式為了能夠一筆一筆的看,可是‧‧‧一千萬耶,看完頭髮都白了吧!
作者: sigefred    時間: 2016-5-14 01:00 PM

因為用戶想要看line chart要能在這一千萬筆時間中細看哪一分鐘或拉大到哪個小時每哪一天
做時間來回拉動
如果不一次load進去 不是要變成分段load資料 拉到那個區間即時load那個區間時間的資料

補充內容 (2016-5-14 09:21 PM):
可是是要顯示在圖表上再拖移時作load資料會不會產生問題如lag停頓等待load資料,這樣使用者拖拉動作會不順暢,使用者因該會抱怨
作者: rr09192084    時間: 2016-5-14 07:11 PM

我個人的看法是:既然是用了SQL SERVER,那就要善用SQL伺服器的能力,一般來說,既然知道了會一個有龐大資料筆數的TABLE,那麼他的主要KEY就會好好的規劃,通常都用日期和時間來做KEY,在有些資料筆數排大應用上,比方說是系統的LOG,就會用自動累加的數值型態來做主要KEY,再用日期(Date)和時間(Time)規劃這兩個欄位來應用,應該就足夠了。這樣在搜尋應用時,不跨日搜尋只要用Time作為KEY就好,比較大範圍時再用兩欄AND運算來搜尋。以我個人的經驗,這樣的搜尋不會太慢的。因為以真實時間為序列,資料就是已經排序好的。
作者: sigefred    時間: 2016-5-14 09:17 PM

因為常要用機器名稱搜尋 所以加入機器名稱和日期作為key不過日期沒拆成兩個都在程式兜好日期區間如 2016-05-15 00:00:00 2016-06-15 00:00:00這樣搜尋會比較慢嗎?
試過搜尋20天資料5百萬筆要30秒這樣算快還是慢

作者: rr09192084    時間: 2016-5-15 12:06 AM

我個人還是覺得一次撈500萬筆資料不是很有效率的做法,建議你在網路上搜尋"SQL非同步查詢"的相關資料來參考,你這問題是無數前人都遇到過的,現在已經有比較有效率的作法,就不要執著這種沒效率的做法了。執行非同步作業也是SQL Server本身的功能,我之前就說過了,要善用SQL Server的能力啊!
作者: sigefred    時間: 2016-5-15 08:02 PM

感謝回答
了解還有一個問題聽別人說了一個關鍵字
倉儲系統這是為了解決大資料查詢的功能嗎,sql server有這功能看起來是分析資料庫的使用狀態
作者: rr09192084    時間: 2016-5-16 04:04 PM

應該是資料倉儲和資料採礦吧,它們屬於大數據的範疇,資料倉儲的定義:是一種具有主題導向、整合性、時間變化性與非揮發性的資料集合,以作為決策支援之用。原始資料不能直接拿來做倉儲,必須要經過轉換,以你提供這個資料為例,有跟主題性有關的就是機器名稱,可能還會有生產的品名之類的,不同主題分門別類做倉儲,或是相類似做整合,再依時間序列排序做倉儲。
至於資料採礦,它應該被視為一種新的開發技術和方法論,依照不同類型的企業或是經營理念來量身設計人工智慧系統,在龐大的資料數據中找到有用的或是具有前瞻參考價值的資料。
作者: sigefred    時間: 2016-5-16 08:24 PM

了解感謝對於分門別列已經有在做,切到不同的table來查詢
作者: troy007    時間: 2016-8-5 09:45 PM

data warehouse不是用來給人撈一千萬筆資料的,
data warehouse是主要是應付跨系統、跨資料來源、資料量大的分析型複雜查詢的,通常最多也就是查詢數千筆資料。
建議你先想想怎樣程現資料,撈一千萬筆出來不但無效率,還要問問︰真的是要看一千萬資料嗎?
作者: kevinkao809    時間: 2016-9-17 10:04 PM

DataMark 也許是您的解答之一. 你的需要如果是資料分析, 那你不應該拿 transaction DB, 應該是彙整過的 DB, 也就是 SQL Analysis DB. 去了解一下 Data Mark 或是 MS SQL Analysis DB是什麼.
作者: tomil10377    時間: 2017-4-20 10:50 PM

建議一下大大,若是上千萬筆利用分頁,不必要運作
真要想資料全部使用出來,只能求一下微軟修正了
只能力演算法製作更有效運算了
作者: bwong42!@#    時間: 2017-5-2 07:27 PM

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 伊莉討論區 (http://www05.eyny.com/) Powered by Discuz!