SkyDrive ,Google Drive,DropBox应该是目前云存储市场上比较成熟的几款产品,近日我对他们的功能进行了测试,主要是针对其主要的功能-文件同步进行了测试,同时还对其在并发修改下缓存一致性做了一个测试,以下是一些测试结果:
产品名称 | 同步时机 | 版本管理 | 并发修改 | 缓存一致 |
SkyDrive | 当用户登录客户端时进行同步,提交修改时进行同步 | 服务器端支持历史版本恢复 | 支持 | 当多个客户端对同一个共享文件进行并发修改时,所有的修改都会在本地生成一个新的缓存,这个缓存都会被提交,但该共享文件的最终版本只会是其中的某一个提交。与DropBox不同的是 SkyDrive会在所有的修改提交后,会在所有的客户几点体现出一致性,即所有的修改版本都会实时的同步到本地缓存中区,这样客户就能比较及时的知道自己的修改有没有冲突,如果冲突的话自己之前的修改也会保存在一个修的文件中不会丢失在一定程度上提高了性能。 |
GoogleDrive | 当用户登录客户端时进行同步,提交修改时进行同步 | 服务器端支持历史版本恢复 | 支持 | 当多个客户端对同一个共享文件进行并发修改时,所有的修改都会在本地生成一个新的缓存,这个缓存都会被提交,但该共享文件的最终版本只会是其中的某一个提交。与DropBox和SkyDrive不同的是,用户并发修改后会立即进行同步更新文件,但是所有的客户只能看到唯一的一个更新了的文件版本,如果有一个用户的更新没有成为最终版本,那么客户在这个时候是看不到自己上一次失败的更新的。(但是在服务端应该是保存了那个失败的更新的,只不过没有给客户反映回来而已) |
DropBox | 当用户登录客户端时进行同步,提交修改时进行同步 | 服务器端支持历史版本恢复 | 支持 | 当多个客户端对同一个共享文件进行并发修改时,所有的修改都会在本地生成一个新的缓存,这个缓存都会被提交,但该共享文件的最终版本只会是其中的某一个提交。DropBox采用的是懒惰的一致性即客户端只有在下一次登录时才回看到上次经过修改的那个共享文件的新的版本(有可能是自己的修改,也有可能是其他客户的修改,如果自己的修改没有成为最终版本,那么上次自己修改的缓存也会在这时候看到) |