可伸縮性 是應用程序有效使用更多資源以執行更多有用工作的能力。例如,一個在單處理器系統上供 4 個用戶使用的應用程序也許能夠在一個四處理器系統上服務于 15 個用戶。在這種情況下,該應用程序是可伸縮的。如果添加更多處理器但無法增加所服務的用戶數量(例如,如果單線程應用程序),則說明該應用程序是不可伸縮的。

可伸縮性有兩種:縱向擴展和橫向擴展。縱向擴展 (Scaleup) 意味著擴展到更大、功能更強的服務器 - 例如,從 4 處理器服務器擴展到 16 或 32 處理器服務器。這是最常見的數據庫擴展方式。如果數據庫的當前硬件資源不夠用,則可能需要采購具有更多處理器和更多內存的硬件。縱向擴展的優勢是:不需要對數據庫進行重大更改。通常,只需在較大的系統中安裝數據庫并以常用方式保持運行,這樣就可以使用更多的數據庫功能來處理更多負載。橫向擴展 (Scaleout) 意味著擴展到多個服務器而非單個、更大的服務器。橫向擴展通常具有可利用初始硬件成本這一優勢(八臺 4 處理器服務器通常比一臺 32 處理器服務器更便宜),但是如果把授權和維護成本算在內,這項優勢往往就被抵消掉了。在某些情況下,從可用性角度看,橫向擴展解決方案提供的冗余度也是有用的。