Storage | Database
在這個什麼都可以講求大數據(Big data)的時代下,任何東西都可以透過一些技術來取得相對應的資料,一般來說這類的需求都會透過資料庫來作為儲存單元(我知道很多人用滿地的Excel來當作儲存),這篇就要來做個基本的介紹如何使用資料庫架構。
首先我們先回想一下再買電腦的時候,如果你很仔細的觀看規格,就會知道有兩項是代表記憶體的東西,一個叫做RAM另一個為HDD/SSD。
RAM
RAM正式名稱為「隨機存取記憶體」,稱為電腦的內存記憶體,通常你會感覺到開分頁卡卡或是開一大堆應用程式時,切換或執行相當緩慢,這時候如果打開工作管理員,就會發現記憶體使用整個爆炸這個就是RAM的功能,暫存所有應用與服務的儲存資源(例如作業系統等),例如打開YouTube這個在簡單不過的使用,就是會使得記憶體使用爆炸。
RAM的速度是所有儲存裝置中最快的,價格當然也是最貴的,計算單元可容易且快速的透過RAM來取得需要的資料,所以電競機、交易電腦或挖礦機的記憶體需求都相當高。
像我們在IDE上執行Python後產生的變數或DataFrame等資料,都是儲存在記憶體中,當程式停止運行時,這些變數也無法再使用。
NoSQL: Redis
HDD/SSD
上面提到的RAM屬於「暫存」型的記憶體,當電腦重新啟動後,此類記憶體就會消失並重置了,如果你的資料是需要永久儲存型的,就必須要使用HDD或SSD來儲存啦!直覺概念就是把把Excel檔案存在D槽的概念,當你重新開機後,這個檔案還是躺在D槽,而上面提到的RAM就類似於打開一個新的Excel並不儲存,但仍夠能使用相關的函數操作與儲存資料。
現在大部分電腦的永久儲存單元都是配備SSD了,SSD的價格較高,但存取速度相當快,如果你的應用程式與作業系統放在SSD內,應該就會感覺到速度的不同了,而且噪音也比較少。HDD屬於比較上個世代的產品,執行速度較慢,但優勢在於相當便宜,你可以透過HDD搭建一些不是那麼頻繁會動到的資料,例如以前出遊的照片等。
Relational database: MySQL、MS SQL、PosgreSQL、SQLite
NoSQL: MongoDB
Last updated