Couchbase权威指南(五)

内存数据

Couchbase架构包含了一个内置的cache层。这种机制允许非常快速的响应时间,因为数据是直接写往内存的,并且读的时候,也是从内存返回数据给客户端。

这种设计的效果,提供了一个内置的cache层作为系统操作的中央部分延伸。客户端接口与内存数据打交道,它将信息写往Couchbase的内存;返回的数据也是从内存里获取,或者先从磁盘加载到内存,再返回给客户端。

这种处理方式保证了最佳性能。为了提高性能,你应该给每个节点分配最大数量的可用内存。内存跨集群汇总起来以供使用。

这点与其他数据库系统的设计不同,其他数据库的处理方式是,信息写往数据库,然后要么有一个独立的cache层,要么依赖于操作系统的cache机制,把经常使用的信息放在内存以供访问。

Ejection

Ejection是和Couchbase buckets一起使用的机制,它的作用是从内存里删除数据,给活跃的、更频繁使用的数据让出空间,它是cache系统的核心部分。Ejection自动执行,它联合磁盘持久存储系统,保证内存里的数据已经持久写往磁盘,从而安全的删除。

该系统确保内存存储的数据在删除前,已经写往磁盘,在下次客户端需要时,它又可以从磁盘加载到内存。Ejection的核心作用是让系统能够保持经常使用的数据驻留在内存,并且在客户端需要从磁盘加载数据时,它能重新在内存里分配空间。

对于Couchbase buckets,数据永不删除,除非客户端明确的删除文档,或者文档已到达过期时间。而ejection机制在从内存里删除数据时,会保存数据的副本到磁盘上。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。