这是一个非常广泛的问题,但我将尝试涵盖Couchbase快速和可扩展的一些关键原因.
默认情况下,Couchbase中的写入是异步的,复制和持久性在后台发生,并且智能客户端(SKD)会收到成功或失败的通知.所以基本上任何新的文档或文档的突变都写入ram,然后在后台异步刷新到磁盘并复制到其他节点.这意味着IO /磁盘速度没有等待时间或争用.(这意味着可以写入ram,然后在将请求持久保存到磁盘或复制到辅助/第三节点之前使节点翻转).可以同步进行写入,但会大大降低吞吐量.
在处理ram时,写入和读取速度非常快(我们只将我们的集群推迟到20k操作一秒钟),但大公司很快就会达到400k以上的操作.LinkedIN仅用4个节点支持此操作速率---> http://www.couchbase.com/customer-stories
在传统的数据库体系结构中,通常设置将是主数据库(Mysql/Postgres/Oracle)与从数据库相结合以实现数据冗余,当负载变得更高时,写入/读取也可以在2之间进行分割.Couchbase旨在用作分布式系统(Couchbase建议在生产中至少使用3个节点).数据在集群中的节点之间自动分片,从而在多台机器上传播写入/读取.在需要更高吞吐量的情况下,在Couchbase中添加节点就像单击添加节点然后重新平衡群集一样简单,数据将在新的群集映射中自动分区.
所以基本上用ram写入/读取异步磁盘持久性+分布式读写==高吞吐量
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |