/*******************************************************************************************************************
-- Title : [Cb5.0] Bucket 유형(Couchbase vs. Memcached vs. Ephemeral 버킷)
-- Reference : developer.couchbase.com/documentation/server/current/architecture/core-data-access-buckets.html#couchbase-bucket-types
-- Key word : couchbase 카우치베이스 버킷 bucket memcached ephemeral nru not recentlry used
*******************************************************************************************************************/
■ Couchbase 버킷
o 할당된 RAM 만큼 메모리에 상주하고 Cache-miss시 디스크에서 로드(RDB Caching 처리와 유사)
o 버킷의 RAM 할당이 초과하면 기존 항목을 버림
- Value-only : 키-값만 제거. Cache-miss에 대한 성능을 그나마 유지
- Full : 키, 키-값, 메타 데이터 모두 제거
o 모든 버킷을 NRU(Not Recently Used) 알고리즘을 사용하여 배출
■ Ephemeral 버킷
o Couchbase 버킷의 대안으로 지속적이지 않음(RDB의 Temporal In-Memory와 유사)
o RAM에 신규 추가 및 제거가 제한적
o 복제처리 되고 디스크-메모리 전환 가능
■ Memcached 버킷
o RDB 플랫폼과 같이 다른 DB 플랫폼과 함께 사용하도록 설계(뭔 소린지?)
o 디스크 없이 RAM에만 상주
o RAM 할당량 초과시 항목 배출
o 복제처리 되지 않고 메모리에만 상주
■ 버킷 유형 및 관련 기능
Capability | Memcached buckets | Couchbase buckets | Ephemeral buckets |
---|---|---|---|
Item size limit | 1 MB | 20 MB | 20 MB |
Persistence | No | Yes | No |
Replication (DCP) | No | Yes | Yes |
Cross Datacenter Replication (XDCR) | No | Yes | Yes |
Rebalance | No | Yes | Yes |
Statistics | All except disk-related | All | All except disk-related |
Client support | Ketama consistent hashing | Full smart client support | Full smart client support |
Backup | No | Yes | Yes |
Querying via N1QL | No | Yes | Yes |
Map-reduce & spatial views | No | Yes | No |
Global Secondary Indexes | No | Yes | No |
Memory Optimized Indexes | No | Yes | Yes |
Full-Text Search | No | Yes | Yes |
External connectors | No | Yes | Yes |
Encrypted data access | Yes | Yes | Yes |
Durability: Persist To | No | Yes | No |
Durability: Replication | No | Yes | Yes |
TTL | Yes | Yes | Yes |