Introduction to CAP [CAP理论简介]
分布式系统领域CAP理论阐述,一个分布式系统无法同时满足一致性[Consistency],可用性[Availability],分区容错性[Partition tolerance]。最多只能满足三个中的两个。
分布式系统领域CAP理论阐述,一个分布式系统无法同时满足一致性[Consistency],可用性[Availability],分区容错性[Partition tolerance]。最多只能满足三个中的两个。
NoSQL是针对海量非关系型数据的数据库系统。其全称存在争议,一般认为是Not Only SQL,意思是不仅仅是SQL,但是Martin Fowler认为,NoSQL不是英文Not Only SQL的缩写,因为如果是,那应该是NOSQL 而不是NoSQL。不过名称并不重要,NoSQL的实质就是非关系型数据库。它和传统关系数据库的区别在于:NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,一般有水平可扩展性的特征,就是scalability很好。
近代西方传统中,认为先验指无需经验或先于经验获得的知识。它通常与后验知识相比较,后验意指在经验之后,需要经验。这一区分来自于中世纪逻辑所区分的两种论证,从原因到结果的论证称为先验的,而从结果到原因的论证称为后验的。
最大似然估计Maximum Likelihood Estimation,简写就是MLE。非常重要且常用的概念,后面要介绍的期望最大化算法就是以它为基础的。这个玩意最早是高斯提出,后经Fisher重新提出并推广。
首先,Likelihood翻译成似然,翻译的很好也很不好,中国古文翻译讲究信达雅,翻译成似然真算是信达雅了。但是我凡夫俗子,还不能理解到位。其实Likelihood的中文解释是可能性,也就是说似然函数叫可能性函数更直接一些。那么问题来了,是什么的可能性函数?我还是举还是硬币的例子,一个硬币,质地均匀,我是非常公正的抛,抛一次正面的概率是多少,这就是probability。如果说一个硬币,我抛了10次,正面的probability是0.4,那么这个硬币质地均匀的概率是多少,这就是likelihood。
作为推荐系统的经典算法,协同过滤可以说是广泛地被学术界和工业界认可,其实协同过滤的原始算法非常简单,并且易于实现。现在很多论文提出的非常复杂的算法,从实验结果看也很漂亮,但在工业界看来根本不能用,这可能就是学术界和工业界的脱节。反观协同过滤算法,虽然简单,但是易于使用,而且确实非常有效。所以,simple but practical is the best。
tree是一种致力于提高索引效率加快存取速度二叉查找树[Binary Search Tree]形数据结构。
如果一个数据库只有一个用户的话,很多我们现在考虑的问题都不会存在,而数据库的设计也会变得比较简单。但是现实中,数据库一般是一个大型的共享资源,也就意味着很多用户都要进行事物操作,这也就带来一个问题就是,如果一个数据被一个以上的用户同时访问怎么办?这个就是数据库中的并发控制问题。举一个估计被说烂的例子: