云存储系统:从传统到新兴的技术演进
1. Paxos算法与一致性达成
Paxos算法是实现分布式系统一致性的重要算法。在该算法中,主要步骤如下:
- 主节点向所有副本广播包含所选值的接受消息,并等待回复(确认或拒绝)。
- 当大多数副本发送确认消息时,达成共识,主节点广播提交消息。
然而,Paxos算法的实现并不简单。虽然算法可以用短短十行伪代码表达,但实际实现可能需要数千行C++代码。并且,在实际应用中,不能忽视各种故障模式,包括算法错误和实现中的漏洞,测试数千行代码的软件系统也具有挑战性。
2. 事务处理与NoSQL数据库
许多云服务基于在线事务处理(OLTP),并在严格的延迟约束下运行。这些应用需要处理极高的数据量,并为大量用户提供可靠的服务。传统的关系数据库难以应对海量数据和在线应用的实时需求,因此促使人们寻找替代的数据存储模型。
2.1 降低延迟与数据分布
为了降低延迟,可将频繁使用的数据缓存在专用服务器的内存中,而不是反复获取。此外,将数据分布在大量服务器上可以使多个事务同时进行,减少响应时间。对于这类应用,将关系模式转换为键值数据库似乎是更好的方法,但这类系统通常不存储有意义的元数据信息,除非使用不易导出的扩展。
2.2 Memcached系统
Memcached是一种通用的分布式内存系统,用于在主内存(RAM)中缓存对象。它基于一个分布在多个服务器上的大型哈希表,采用客户端 - 服务器架构,可在多种操作系统(如Linux、Unix、Mac OS X和Windows)上运行。服务器维护一个键值关联数组,客户端可以使用API向数组中添加条
订阅专栏 解锁全文
1696



被折叠的 条评论
为什么被折叠?



