我可能没有以前那么确定了
在云环境中,拥抱随机性是必要的。
年轻时,我认为宇宙像一个大钟一样由因果关系支配。从这个角度来看,计算是有道理的。现在我明白,生活和计算都可能是一场赌博,这给了我一种新的平静。
不要陷入“一致性”游戏中
一致性、收敛性和汇合性不是一回事!最终一致性和最终收敛性也与汇合性不同。
“最终一致性”是一个流行的短语,但定义模糊。人们甚至在一致性的使用上也不一致。但另外两个术语“收敛性”和“汇合性”具有更清晰的定义,更容易理解。
ACID:我的个人
我怎么会忽略如此简单的事情?
最近我有机会与我的老朋友,ACID 的发明者 Andreas Reuter 聊天。他和他的博士生导师 Theo Härder 在他们 1983 年著名的论文《面向事务的数据库恢复原则》中创造了这个术语。在基于我的假设看待 C 的近四十年后,我一直蒙在鼓里。对我来说,一个重要的教训是努力始终质疑你的假设。努力让自己周围充满好奇心和热情的人,无论老少,他们都会挑战你,并试图消除你的盲点。
快速失败正在...快速失败!
计算环境的变化给久经考验的分布式系统解决方案带来了压力。
40 多年来,快速失败一直是实现容错的主要方式。在这种方法中,某种机制负责确保每个组件都启动、运行并响应工作。随着行业转向利用云计算,这变得更具挑战性。我们创建稳健解决方案的方式正面临压力,因为单个组件不会快速失败,而是开始运行缓慢,这更糟糕。缓慢的组件可能足够健康,可以说“我还在!”,但速度太慢以至于阻塞了所有工作。这使得快速失败方案变得脆弱。
Baleen 分析
大规模数据过滤提供了意外的惊喜。
数据分析会收集它能找到的任何东西,我们正在发现以前无法获得的模式和见解,这对数据分析以及服务和微服务之间的消息传递都有影响。似乎在许多不同来源之间达成相当好的理解可以带来更大的灵活性和互连性。灵活性越来越胜过完美。
建造地铁的最佳地点
尽管(并且因为)现有复杂系统而构建项目
许多工程项目规模庞大且复杂。它们需要集成到现有环境中,以便与在新的、大型、复杂事物之前存在的东西联系起来。人们通常会抱怨处理先前存在的东西所面临的挑战。很多时候,工程师没有意识到他们的项目(以及他们的薪水)的存在仅仅是因为先前存在的复杂系统对新工作施加了约束。本专栏着眼于旧金山日常生活中非常重要的一些复杂的城市重建项目,并将它们与构建软件固有的挑战进行比较。
时空不连续体
结合来自多个来源的数据可能会导致痛苦的延迟。
当您只有一个数据库供应用程序担心时,您不必考虑部分结果。您也不必考虑数据在其他数据之后到达。一切都只是在那里。现在,您可以使用大型分布式系统做更多的事情,但您必须在及时的答案和完整的答案之间的权衡方面更加成熟。
写放大与读流汗
写入和读取之间的权衡
在计算中,有一个有趣的趋势,即写入会产生做更多工作的需求。您需要重组、合并、重新索引等等,以使您编写的内容更有用。如果您不这样做,您必须搜索或做其他工作来支持未来的读取。
提取、硬塞和加载
数据并不总是能很好地适应新家。
事实证明,不合适的数据的商业价值非常高。获取输入数据、丢弃不合适的数据、为丢失的东西添加默认值或空值,以及通常将其硬塞到规定的形状的过程非常重要。规定的形状通常是适合分析以获得更深层含义的形状。
一致性最终
对于许多数据项,工作永远不会确定一个值。
应用程序不再是孤岛。它们不仅经常在许多基于云的计算机上分布式和复制运行,而且还在许多手持计算机上运行。这使得在单个地点或时间谈论单一真相变得具有挑战性。此外,大多数现代应用程序都与其他应用程序交互。这些交互会影响理解。随着时间的推移,随着新的交互增加越来越多的不确定性,就会形成一种共同的观点。许多商业、个人和计算“事实”实际上是不确定的。当一些变化稳定下来时,另一些变化则从一个地方游荡到另一个地方。由于所有定期、不定期和未结清的支票,我对我们的个人联合支票账户的理解有点模糊不清。
XML 和 JSON 就像纸板
纸板在物品跨越边界时环绕并保护它们。
在纸板中,物品的安全和保护是其存在的重要原因。同样,在 XML 和 JSON 中,数据在传输和存储中的安全和保护是我们关注的原因。
副作用,置于中心位置!
一个系统的副作用是另一个系统的核心。
我们从计算的后果来考虑计算。大型 MapReduce 作业返回一个大型结果。Web 交互显示信息。企业应用程序更新数据库并返回答案。这些是我们工作的理由。我们很少讨论的是做我们打算做的工作的副作用。副作用可能是不需要的,或者它们实际上可能在系统的不同层导致期望的行为。本专栏指出了一些有趣的模式,在构建和使用我们的系统时要牢记这些模式。
闲聊的力量
期待持续且愉快地困惑
元数据定义了形状、形式以及如何理解我们的数据。它遵循了自然语言在我们日益互联的世界中采取的趋势。虽然许多概念可以使用共享元数据进行交流,但没有人能够跟上为达成共识而需要的大量不同的新概念。
SQL 的独特成功
SQL 作为一个数据表示形式的主要人物,拥有辉煌的未来。
SQL 拥有辉煌的过去和辉煌的未来。那个未来不是作为数据的单一且无处不在的持有者,而是作为数据表示形式的主要人物。当数据不保存在 SQL 中时,到底会发生什么?
站在分布式巨人的肩膀上
有远见的古代物理学家真是太聪明了!
如果你眯起眼睛仔细看,分布式计算的许多挑战似乎与伟大的物理学家所做的工作相似。 那些家伙真是太聪明了!在这里,我们研究了一些最重要的物理学突破,并将它们与计算世界中的现象进行了一些异想天开的比较......只是为了好玩。