所谓「加密只能增加破解成本,高到超过本身的价值了,就安全了」是一种误导的说法。加密增加破解成本是针对信道加密和具有一定时效性的信息的。对于这种长期使用的数据,破解成本永远远远小于本身价值。
一、制作大型软件一般选用什么类型的数据库以保护数据安全
所谓「加密只能增加破解成本,高到超过本身的价值了,就安全了」是一种误导的说法。加密增加破解成本是针对信道加密和具有一定时效性的信息的。对于这种长期使用的数据,破解成本永远远远小于本身价值。因为破解成本会随着信息破解所需的时间大幅降低,而没有时效性的信息其破解成本几乎相对为零。
所以我非常不喜欢这种需求。在战争里就是「战略目的不明」。所谓「不希望客户轻易」,就如同战争里的为了「扬我皇威」之类的模糊不清的目的。实现起来必定矛盾百出。
话说回来,如果题主真的就是要一个「知识封锁」的方案,不如根本不用 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等大部分流行的程序语言。