> For the complete documentation index, see [llms.txt](https://go.raymondctw.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://go.raymondctw.dev/technology/data/storage-or-database.md).

# Storage | Database

在這個什麼都可以講求大數據(Big data)的時代下，任何東西都可以透過一些技術來取得相對應的資料，一般來說這類的需求都會透過資料庫來作為儲存單元（我知道很多人用滿地的Excel來當作儲存），這篇就要來做個基本的介紹如何使用資料庫架構。

首先我們先回想一下再買電腦的時候，如果你很仔細的觀看規格，就會知道有兩項是代表記憶體的東西，一個叫做RAM另一個為HDD/SSD。

#### RAM

RAM正式名稱為「隨機存取記憶體」，稱為電腦的內存記憶體，通常你會感覺到開分頁卡卡或是開一大堆應用程式時，切換或執行相當緩慢，這時候如果打開工作管理員，就會發現記憶體使用整個爆炸這個就是RAM的功能，暫存所有應用與服務的儲存資源（例如作業系統等），例如打開YouTube這個在簡單不過的使用，就是會使得記憶體使用爆炸。

RAM的速度是所有儲存裝置中最快的，價格當然也是最貴的，計算單元可容易且快速的透過RAM來取得需要的資料，所以電競機、交易電腦或挖礦機的記憶體需求都相當高。

{% hint style="info" %}
像我們在IDE上執行Python後產生的變數或DataFrame等資料，都是儲存在記憶體中，當程式停止運行時，這些變數也無法再使用。
{% endhint %}

{% hint style="info" %}
**NoSQL**: Redis
{% endhint %}

#### HDD/SSD

上面提到的RAM屬於「暫存」型的記憶體，當電腦重新啟動後，此類記憶體就會消失並重置了，如果你的資料是需要永久儲存型的，就必須要使用HDD或SSD來儲存啦！直覺概念就是把把Excel檔案存在D槽的概念，當你重新開機後，這個檔案還是躺在D槽，而上面提到的RAM就類似於打開一個新的Excel並不儲存，但仍夠能使用相關的函數操作與儲存資料。

現在大部分電腦的永久儲存單元都是配備SSD了，SSD的價格較高，但存取速度相當快，如果你的應用程式與作業系統放在SSD內，應該就會感覺到速度的不同了，而且噪音也比較少。HDD屬於比較上個世代的產品，執行速度較慢，但優勢在於相當便宜，你可以透過HDD搭建一些不是那麼頻繁會動到的資料，例如以前出遊的照片等。

{% hint style="info" %}
**Relational database**: MySQL、MS SQL、PosgreSQL、SQLite

**NoSQL**: MongoDB
{% endhint %}
