大名鼎鼎的Paxos算法可能不少人都听说过,几乎垄断了一致性算法领域,在Raft协议诞生之前,Paxos几乎成了一致性协议的代名词。但是对于大多数人来说,Paxos算法太难以理解了,而且难以实现。因此斯坦福大学的两位教授Diego Ongaro和John Ousterhout决定设计一种更容易理解的一致性算法,最终在论文”In search of an Understandable Consensus Algorithm”中提出了Raft算法!论文原文地址:https://raft.github.io/raft.pdf

Read More

PS: 做了多年的后台开发,近来又想再学习一下人工智能方面的内容。虽然在18年初人工智能正火时,由于当时公司要做人工智能方面的规划,因此也看了一些人工智能方面的书籍(注:主要是数学理论方面)。但由于部门本身并不涉及人工智能方向,也没有牛人指引,所看的人工智能理论方面的书籍因难度较大也是似懂非懂,所以一直感觉没有真正入门。另外,由于后续自身本职工作繁忙,以及生活身体方面的一些问题,也没有真正再投入过多的时间来了解人工智能。

直至最近,在自身后台开发技术栈方面逐渐完备,为顺应时代及个人发展,又一次想要自学一下人工智能。回顾以前学习路径,总感觉自己不得要领,于是在网上查找了大量关于人工智能学习路线方面的文章,觉得浅析人工智能入门简易学习路线(附资料和数据一文较好,一方面是因为作者本身系计算机博士;另一方面是在众多的学习路径上,作者也给出了指引,在自学的实际操作层面也对新人较为友好。因此,把文章转载于此,防止原文丢失,并期望自己按此路径也能真正入门人工智能。

注: 下文中“我”均为黄海广博士,并非鄙人。除文章格式略有调整之外,其他均为黄海广博士原文内容

Read More

在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。我们通常只需借助开发平台中特有数据访问技术和框架(例如Spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

Read More