大資料批次鍵值查詢怎樣才會更快
一般選擇資料庫來存放資料,並藉助資料表的索引來加快檢索速度。利用索引查詢資料,即使資料總量達到有10億,對於單條記錄的查詢效率大約在數十毫秒( 複雜度為LogN)。但是,如果需要查詢的鍵值很多,比如多達幾千甚至幾萬的時候,如果每次都獨立查詢,那讀取和比較也會累積到幾萬甚至幾十萬次,時間延遲由此也會漲到幾十分鐘甚至小時級別,這時候再簡單地使用資料庫索引對於使用者體驗必然是難以容忍的了。
比如下面這樣的查詢:
結構如下:
欄位 | 型別 | 備註 |
id | long | 1000000000001開始自增 |
data | string | 隨機字串(長度為 180 位元組) |
對這樣結構的6億條資料,從中取1萬個隨機id對應的記錄,用Oracle大約就需要120 秒了。
使用的SQL大概這樣:select * from testdata where id in (…)
另外由於in中的個數最大1000個,還需要多次查詢後的結果再合併,處理起來也比較麻煩。
同樣的資料,用集算器來處理,程式碼簡單且查詢高效,看下面這個例子:
|
A | B |
1 | =file("testdata.ctx").create() | //開啟組表檔案testdata.ctx |
2 | =A1.index@3(id_idx) | //載入三級索引 |
3 | =keys | //待查詢的隨機鍵值序列 |
4 | =A1.icursor(;A3.contain(id),id_idx) | //利用組表索引id_idx查詢 |
這裡使用了集算器組表功能,基於高效能索引和批次鍵值查詢,可以有效地應對這種場景。該場景下,集算器查詢僅用了20秒,相比Oracle的120秒提升了6倍。感興趣可以參考:
集算器還很容易嵌入到Java應用程式中, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699766/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 想要批次查詢快遞,怎麼操作可以一鍵快速查詢物流資訊
- 資料庫查詢配置值資料庫
- 怎樣才算會一種語言?
- 究竟多大才算是大資料,大資料怎麼學習?大資料
- 查詢前90%的資料值
- MYSQL查詢和插入資料的流程是怎樣的MySql
- 將主查詢條件寫到子查詢裡執行效果會怎樣?
- 關於資料庫批次查詢的一個想法資料庫
- (利用索引)大資料查詢索引大資料
- 只做等值查詢,索引鍵值順序怎麼建立好?索引
- Logtail:像查詢資料庫一樣查詢日誌AI資料庫
- [轉載]mtu值怎樣設定才網速最快
- JSP怎樣將查詢的資料實現分頁操作JS
- 大資料的實時查詢大資料
- 在資料庫中查詢關鍵字資料庫
- 大資料時代,怎樣才能獲得真正有價值的資訊大資料
- 基於MSSQLSQL資料庫大批次資料的分塊分頁查詢SQL資料庫
- 用HBase做高效能鍵值查詢?
- 怎樣的遊戲才會讓你覺得有趣呢?遊戲
- 大資料量資料查詢最佳化大資料
- 阿里巴巴在途物流怎樣一鍵批次檢視?阿里
- 怎樣搭建大資料平臺大資料
- BI怎樣才能搞定大資料大資料
- 資料結構之三大查詢資料結構
- 學習 XQuery:XML資料查詢的關鍵XML
- 建設智慧城市怎樣做才不會迷失方向?
- 關於批次分頁查詢
- 批次分頁查詢問題?
- 資料庫資料的查詢----連線查詢資料庫
- 在進行行情 tick 資料儲存時,哪種資料結構查詢起來更快?資料結構
- 怎樣檢查資料庫壞塊(DBV)資料庫
- TableStore多元索引,大資料查詢的利器索引大資料
- 大資料怎樣入門學習?大資料
- 共享資料夾怎麼在另一個電腦檢視 怎樣查詢別人共享的資料夾
- MySQL查詢資料庫中沒有主鍵的表MySql資料庫
- 雲端計算怎樣才安全
- 怎樣學python ,才不會從入門到放棄Python
- “大資料”可是個識才利器大資料