一、制作大型軟件一般選用什么類型的數據庫以保護數據安全
所謂「加密只能增加破解成本,高到超過本身的價值了,就安全了」是一種誤導的說法。加密增加破解成本是針對信道加密和具有一定時效性的信息的。對于這種長期使用的數據,破解成本永遠遠遠小于本身價值。因為破解成本會隨著信息破解所需的時間大幅降低,而沒有時效性的信息其破解成本幾乎相對為零。
所以我非常不喜歡這種需求。在戰爭里就是「戰略目的不明」。所謂「不希望客戶輕易」,就如同戰爭里的為了「揚我皇威」之類的模糊不清的目的。實現起來必定矛盾百出。
話說回來,如果題主真的就是要一個「知識封鎖」的方案,不如根本不用 RDBMS。既然就要把數據 deploy 到 client machine 上,相比 ACID 也不需要了。實現一個帶 disk backup 的 hashtable 就足以完成任務了。
延伸閱讀:
二、MemCache是什么
MemCache是一個自由、源碼開放、高性能、分布式的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫的負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高了網站訪問的速度。MemCaChe是一個存儲鍵值對的HashMap,在內存中對任意的數據(比如字符串、對象等)所使用的key-value存儲,數據可以來自數據庫調用、API調用,或者頁面渲染的結果。MemCache設計理念就是小而強大,它簡單的設計促進了快速部署、易于開發并解決面對大規模的數據緩存的許多難題,而所開放的API使得MemCache能用于Java、C/C++C#、Perl、Python、PHP、Ruby等大部分流行的程序語言。