1.swift 是什麽?
OpenStackObject Storage (Swift) 是開源的,用來創建可擴展的、冗余的、對象存儲(引擎)。 swift使用標準化的服務器存儲 PB 級可用數據。但它並不是文件系統 (file system) ,實時的數據存儲系統(real-timedata storage system) 。 swift 看起來更像是壹個長期的存儲系統 (long term storage system) ,為了獲得、調用、更新壹些靜態的永久性的數據。比如說,適合存儲壹些類型的數據:虛擬機鏡像,圖片存儲,郵件存儲,文檔的備份。沒有“單點”或者主控結點 (master point of control) , swift看起來具有更強的擴展性、冗余和持久性。
2.swift 能做什麽?
長於存儲非結構化數據,大、小文件性能據說都很好(目前沒有測試數據, adrian otto 說測試過10 億個 1byte 數據)。
簡單來說swift是開發蘋果iOS的最快捷的計算機語言。
但是實際上swift已經可以進行壹次性編譯之後,同時實現在蘋果iOS和安卓系統上的部署。能夠實現這個功能的目前唯壹的IDE是SCADE,壹個德國的軟件產品(目前處於試用狀態)。
而且從2015年起,swift不但支持在手機前端的開發,還支持開發服務器後端的程序,比如使用PerfectlySoft出品的Perfect 2.0就可以確保swift在Linux Ubuntu 16.04上運行並實現壹個Web服務器,訪問各種數據庫並調用遠程訪問。實際上Perfect 2.0是市面上最快的HTTP服務器,比php和java服務器都快得多。
3.swift 不能做什麽?
Objects must be <5GB : swift 1.2 之後已經對 object 的大小不做限制
Not a Filesystem :不是文件系統。 swift 使用 REST API ,而不是使用傳統意義上的文件操作命令, open(), read(), write(), seek(), 和 close() 等。
No File Locking :幹脆不支持“文件鎖”。其實在 swift 中,“鎖”的概念是沒有必要的。
No Directory Hierarchies :沒有文件目錄結構。 swift 可以模擬目錄結構,但沒有必要
Not a Database :不是數據庫。 swift 使用 account-container-object 的概念存儲 object ,可以列表出指定 container 中的 object ,不支持 server 端的查詢和處理操作。