ZFS 是 SUN Microsystem 为其服务器开发的文件系统,2005发行,2009 年开源,是第一个 128 位文件系统。
作者归档:qing
不等圆 packing 问题(拟人拟物法)
不等圆packing拟物拟人问题简单而言是在一个大圆中放置(packing)若干(M)个小园问题,通过拟物和拟人的方法寻找、优化找到这样的放置(packing)问题的方法。
有个简单的经济原理
2007年美国金融危机爆发,2007年中国房价以深圳为代表开始大幅涨价,记得还有个深圳的娃在byhh 爆料自己家人劝他好好读书,深圳房价都涨到一万了。
2008年美国出台刺激消费措施,国内房价开始大幅下跌,出现有意思的情况是深圳许多之前买房的人,要还的贷款比当时房价还贵。
接着美国刺激消费措施失败,国内金融危机进一步加剧,中国房价持续走高。
再接着美国开动印钞机,发行大量美元,这些热钱大量流入中国,进一步促使房价上涨。
Bloom filter
Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见 Bloom filter 是牺牲了正确率换取时间和空间。
如需要判断一个元素是不是在一个集合中,我们通常做法是把所有元素保存下来,然后通过比较知道它是不是在集合内,链表、树都是基于这种思路,当集合内元素个数的变大,我们需要的空间和时间都线性变大,检索速度也越来越慢。 Bloom filter 采用的是哈希函数的方法,将一个元素映射到一个 m 长度的阵列上的一个点,当这个点是 1 时,那么这个元素在集合内,反之则不在集合内。这个方法的缺点就是当检测的元素量很多时候可能有冲突,解决方法就是使用 k 个哈希 函数对应 k 个点,如果所有点都是 1 的话,那么元素在集合内,如果有 0 的话,元素则不再集合内。
Bloom filter 优点就是它的插入和查询时间都是常数,另外它查询元素却不保存元素本身,具有良好的安全性。它的缺点也是显而易见的,当插入的元素越多,错判“在集合内”的概率就越大了,另外 Bloom filter 也不能删除一个元素,因为多个元素哈希的结果可能在 Bloom filter 结构中占用的是同一个位,如果删除了一个比特位,可能会影响多个元素的检测。
OceanStore:An Architecture for Global-Scale Persistent Storage
OceanStore 声称是一个全球规模的存储网络。因为这个网络基于不可信服务器,数据进行冗余和加密处理,为提供高可用性与性能,数据可能在任何地方、任何时间被缓存,OceanStore 能够忍受区域性中断服务和 DOS 服务攻击。在 CMU 已经有了原型,可参见上面 OceanStore 项目地址。