分布式存储系统的一致性是什么?
(本文内容仅代表作者个人观点,不代表OceanBase官方。) 在分布式存储系统(包括OceanBase这样的分布式数据库)的使用中,我们经常会提到“一致性”这个词,但是这个术语1在不同的系统、不同人的心目中有不同的内涵,很容易造成混淆。 想象一个最简单的存储系统,只有一个客户端(单进程)和一个服务端(单进程服务)。客户端顺序发起读写操作,服务端也顺序处理每个请求,那么无论从服务器视角还是从客户端视角,后一个操作都可以看到前一个操作的结果。 然后,系统变的复杂一些,系统还是单个服务进程(单副本),但是有多个客户端并发进行操作。这个模型下,多个客户端的操作会互相影响,比如一个客户端会读到不是自己写的数据(另一个客户端写入的)。一般单机并发程序就是这样的模型,比如多个线程共享内存的程序中。 然后,系统向另外一个方向变的复杂一些,为了让后端存储