資料儲存概況

2021-10-22 23:52:23 字數 1126 閱讀 1906

一.物理儲存與讀寫瓶頸

1.磁碟(固態硬碟,機械硬碟)

(1)磁碟定址:毫秒級別

(2)磁碟io:百兆級別

(3)磁碟讀寫方式:順序讀寫(慢),隨機讀寫(快)

2.記憶體

(1)記憶體定址:納秒級別

二.解決思想

1.解決思想:因為全量io很慢,所以分治。

2..具體解決方案

(1)關係型資料庫

a.分成資料塊(db2中叫datapage):有大小約束(4,8,16k的小格仔),大的資料散在小格仔裡面,分治思想。

b.索引(解決資料全量掃瞄問題):如果只是資料分塊(分治),必然會觸發資料全量掃瞄,因為並不知道資料具體在哪個分塊內。因此要正確建立索引。首先,每個索引記錄多個分塊,索引也是資料(即元資料:資料的資料),索引資料的總量比資料總量小,因此索引可以加快查詢。然後,在記憶體裡維護索引樹b+(記錄索引頁),通過記憶體中建立的資料結構再一次加快(避免了索引的全量掃瞄)。

記憶體索引樹->索引頁->資料頁

c.資料庫儲存資料結構化(有列,資料型別的概念):沒有資料結構化的話只能通過偏移量/定址讀資料。

d.行級儲存:每一行物理連續儲存在一起。如果一行有空值,也佔空間。

e.關係型

注:資料變大,增刪改肯定變慢(破壞了原有索引),查詢不一定(索引命中了不會變慢)。

(2)nosql/key-value資料庫:reids,memecache

因為磁碟io慢,所以解決方案:1.記憶體中建立關聯式資料庫 2.redis(中間折中技術):完全使用記憶體儲存資料,不會和磁碟有資料交換。頻繁使用的資料(熱資料)放在記憶體,不頻繁使用的資料放在磁碟。

關係型資料庫有資料庫,因為資料完整性。nosql資料庫沒有資料約束,資料不完整。

redis的value有豐富的資料型別,每種型別有豐富的方法,計算好後直接返回,即:計算向資料移動。

注:json可以表示單元素,陣列,鍵值對。

注:資料向計算移動?計算向資料移動?

redis是單程序,處理使用者事務只有乙個執行緒。單機。

redis因為要持久化寫,所以要多點。主從複製。

redis作用:1.快取2.資料庫

注:單點:高可用;壓力:

(3)hdfs,mapreduce

併發訪問,分布式檔案儲存。

實驗資料集概況

1789張影象 包含6類object clock,lamp desk lamp faucet,outlet,switch,sign 類別數量 物體數量 訓練集數量 訓練集物體數量 測試集數量 測試集物體數量 測試集物體數量 訓練集物體數量 clock 404440 333360 7180 0.22 ...

資料結構概況比較

資料結構 優點 缺點 陣列 插入快,得知下標可以快速訪問 查詢刪除慢,大小固定 有序陣列 比無序陣列查詢快 刪除插入慢,大小固定 棧後進先出訪問 訪問其它項慢 佇列先進先出訪問 訪問其它項慢 鍊錶插入刪除快 查詢慢二叉樹 查詢插入刪除都快 如果樹平衡 刪除演算法複雜 紅黑樹查詢插入刪除都快,樹平衡 ...

資料倉儲簡介 概況

1 資料倉儲的定義 資料倉儲是乙個面向主題的 整合的 穩定的 反映歷史變化的 隨著時間的流逝發生變化的資料集合。它主要支援管理人員的決策分析。資料倉儲收集了企業相關內部和外部各個業務系統資料來源 歸檔檔案等一系列歷史資料,最後轉化成企業需要的戰略決策資訊。2 資料倉儲的特點 3 資料倉儲和資料庫的區...