大规模分布式存储系统: 问题, 概念, 及领域语言
问题域分布式存储解决的是单机存储的性能, 单点故障问题, 容量一开始到还在其次, 但随着应用规模的发展, 要解决容量也得必须分布式了.
分布式存储解决容量问题即可扩展性的方式, 就是数据分片. 可扩展性是分布式的已经解决的问题, 任何关于分布式存储的现存问题的讨论, 都不会再涉及可扩展性.数据分片也能部分的解决性能问题. 而解决性能问题的方法还包括数据复制.分布式存储解决单点故障问题的手段, 也许是唯一的手段, 就是复制.而复制会带来一致性问题.鉴于解决容量问题的手段并没有引入新问题, 因而如果要实现一种分布式存储机制, 需解决或者需平衡的是性能(或者说可用性), 单点故障(或者说分区容忍性), 及一致性
基础结构分层,一般是两到三层
最底层分布式文件系统, 解决数据分块,复制, 读写等需求往上是数据结构层, 解决数据模型, CAP取舍等再往上是更高层API, 解决诸如事物等问题实现关注点数据分布策略考虑因素包括读写场景, 即随机还是顺序, 包括如何保证负载均衡从而提高性能等
哈希分布, 一致性哈希等顺序分布一致性策略强一致性: 强一致性(即时一致性) 假如A先写入了一个值到存...阅读全文
分布式存储解决容量问题即可扩展性的方式, 就是数据分片. 可扩展性是分布式的已经解决的问题, 任何关于分布式存储的现存问题的讨论, 都不会再涉及可扩展性.数据分片也能部分的解决性能问题. 而解决性能问题的方法还包括数据复制.分布式存储解决单点故障问题的手段, 也许是唯一的手段, 就是复制.而复制会带来一致性问题.鉴于解决容量问题的手段并没有引入新问题, 因而如果要实现一种分布式存储机制, 需解决或者需平衡的是性能(或者说可用性), 单点故障(或者说分区容忍性), 及一致性
基础结构分层,一般是两到三层
最底层分布式文件系统, 解决数据分块,复制, 读写等需求往上是数据结构层, 解决数据模型, CAP取舍等再往上是更高层API, 解决诸如事物等问题实现关注点数据分布策略考虑因素包括读写场景, 即随机还是顺序, 包括如何保证负载均衡从而提高性能等
哈希分布, 一致性哈希等顺序分布一致性策略强一致性: 强一致性(即时一致性) 假如A先写入了一个值到存...阅读全文