什么是数据库复制?
复制(Replication),也通常被称为镜像,只是简单地将所有数据复制到另一个位置。它允许可以从两个或两个以上的位置中获取数据,从而确保高可用性。由于某种原因,它对主要数据位置的降低很有帮助,仍然可以从一个副本中读取数据。
在Redis中,一旦你至少有一个slave的安装,你可以设置复制(Redis,使用主/从设置复制)。从配置文件中,你可以使用slaveof命令,如以下示例。
如果你设置一个主密码,您还需要在masterauth中进行设置。一旦这样做,你就可以在slave上启用复制来启动(或重启)Redis服务。
什么是数据库分片?
分片(Sharding),也通常被称为分区,包括基于密钥拆分数据。这样可以提高性能,因为它减少了每个个体的资源,让它们分开进行负担而不是在一个地方。
例如,您可以使用一个哈希函数把它们变成Redis密钥。然后,如果你想要两个碎片,你可以发送所有偶数编号的密钥到一个实例中,而把所有奇数的密钥放在第二个实例中。这可能是使用其他算法进行不同数量的碎片。
Redis分片可以从几个方面来实现:
客户端分区:客户选择合适的Redis实例去读或写一个特定的密钥。
Proxy-assisted分区:一个代理是用来处理请求并将请求发送到适当的Redis实例中。
路由查询:查询发送到一个随机的实例中去,然后需要负责将客户端重新定向到适当的Redis实例中。
复制和分片一起使用
如果你想要高可用性,同时能提高性能,那么可以让复制和分片一起使用。采用分片,基于密钥你将有两个或两个以上的实例带有特定的数据。你可以复制这些实例生成一个复制和分片的数据库,那么,它们将同时提供可靠性和速度!
无论你使用Redis还是侧重于切分,Morpheus可以使你工作变得更加容易。