今天还是在弄数据库的集群,在验证和测试各种东西,简单总结一下:
1,cassandra数据库,新增节点的时候,所有节点的token值会重新计算一次,然后再平均分配给所有节点,数据也会平均分配,不过在老的节点上的数据不会自动减少,所以老节点每隔一段时间需要手动的清理一下重复的数据 nodetool cleanup
2,mongodb的副本集,他跟cassandra的集群其实很不一样,就是主从复制,主节点可以读写,从节点默认不能读也不能写,但是可以配置成可读的,永远都不能写;而主节点,可读可写。关于仲裁节点,是不存储数据的,只是起到一个投票的作用,可以有也可以没有。但是他无法做到像cassandra那样的横向扩展,因为所有的节点数据完全一样的,要想横向扩展只能通过mongodb的分片功能。
1,cassandra数据库,新增节点的时候,所有节点的token值会重新计算一次,然后再平均分配给所有节点,数据也会平均分配,不过在老的节点上的数据不会自动减少,所以老节点每隔一段时间需要手动的清理一下重复的数据 nodetool cleanup
2,mongodb的副本集,他跟cassandra的集群其实很不一样,就是主从复制,主节点可以读写,从节点默认不能读也不能写,但是可以配置成可读的,永远都不能写;而主节点,可读可写。关于仲裁节点,是不存储数据的,只是起到一个投票的作用,可以有也可以没有。但是他无法做到像cassandra那样的横向扩展,因为所有的节点数据完全一样的,要想横向扩展只能通过mongodb的分片功能。
3,mariadb galera集群,是一个多主的集群,具有高度的一致性的。所有的节点,都是可读可写的。他跟主从复制不同的是,主从复制是异步的,主节点的读写操作完成后,返回给客户端一个结果,然后主节点把修改的结果同步到从节点去;而多主的结构是,操作的结果在所有的节点中是事务性的,要么所有的都成功,要么所有的都失败,因此他的数据才是高度一致性的。