Category: Databases



Redis #.4 Database namespace & Expiry

  Namespace Redis의 네임스페이스란 Database를 말합니다. 쉽게 말해서 PostgreSQL는 하나의 클러스터 안에 여러개의 Database를 생성하여 용도를 나눠 사용할 수 있듯이 Redis는 네임스페이스를 나눠서 Database를 구분합니다. 네임스페이스는 숫자로 구분되며, 0이 설치되면 접속해서 사용할 수 있는 디폴트...

Redis #.3 Sort Set

  Sort SET Sort SET은 Redis가 가진 각각의 데이터 타입들의 특성을 고루 가지고 있습니다. List 처럼 정렬되며, Set처럼 고유한 값들을 갖습니다. Hash 처럼 키 필드와 값의 쌍으로된 데이터를 갖지만, 문자열 대신 값의 순서를 나타내는 지수(score)를...

Redis #.2 트랜잭션과 데이터 타입

  SET 과 GET SET : 키 값을 추가 할 수 있음. 항상 Key-Value로 된 두개의 매개변수를 필요로 함. GET : SET으로 입력한 값을 읽을때 사용. 간단하게 웹 주소를 단축하는 키 값을 추가해 봅니다. 127.0.0.1:6379>...

Redis #.1 소개 및 설치

  Redis 란? Redis가 주목 받는 이유는 빠른 처리 속도와 검증된 소프트웨어 안정성에 있습니다. 모든 데이터를 메모리에 상주시켜 처리하고 이벤트 기반의 네트워크 비동기 입출력 처리를 해서, 한 Redis 서버는 초당 수만 건 이상의 요청을 처리할...

갈레라 클러스터 WSREP GTID

갈레라 클러스터 WSREP GTID   갈레라 클러스터는 마리아DB의 리플리케이션과는 상당히 다른, 인증기반의 리플리케이션 방식을 가지고 있습니다. 갈레라의 GTID가 각각의 노드에 대해서만 일관성을 가지지 않고 전체 노드에 유니크한 값을 가진 쓰기셋으로 갈레라 클러스터에 연동된다면 충분히 갈레라...

샤드와 샤딩 (Shard and Sharding)

  샤드 (Shard: Database Architecture) 데이터베이스 샤드는 데이터베이스 혹은 검색엔진의 수평적 파티션을 말합니다. 각각의 파티션을 샤드 또는 데이터베이스 샤드라고 합니다. 각 샤드는 별도의 데이터베이스 서버 인스턴스에 분리 보관되어 로드를 분산시킵니다. 어떤 데이터는 데이터베이스의 모든 샤드에...

갈레라 클러스터 (Galera Cluster): Multi Master Replication

  Galera Cluster: 다중 마스터 복제 갈레라 클러스터는 코더십이 만든 동기적 다중 마스터 방법입니다. MariaDB의 공식적인 클러스터 입니다. 갈레라 클러스터는 인증 기반 복제를 제공합니다. 데이터 완전성에 대해서는 자동으로 관리합니다.   Galera Cluster 동작 원리 Multi...

pg_trgm

  pg_trgm postgresql 추가모듈 중 pg_trgm을 이용하여 ‘%문자열%’ like 검색시 인덱스 스캔을 실행할 수 있습니다. (3글자 미만에 대한 패턴검색의 경우 인덱스 탐색비용이 급격히 증가, table full scan의 비용을 초과함.) pg_trgm 모듈은 유사한 문자열을 빠르게 검색...

PostgreSQL과 MariaDB의 사이에서의 선택

  PostgreSQL과 MariaDB의 사이에서의 선택 클라우드가 대세가 되고, 오픈소스가 많은 영역에서 중요한 자리를 차지하게 됨에 따라서, 데이터베이스 영역 역시 오픈소스 DB가 많은 시장 점유율을 차지하고 있습니다. 여전히 성능과 안정성, 모든 부분에서 상용인 오라클이 가장 뛰어나다는...

Oracle Lock

  대표적인 오라클 Lock의 종류 래치(Latch) : SGA에 공유돼 있는 갖가지 자료구조를 보호할 목적으로 사용되는 가벼운 Lock 버퍼 Lock : 버퍼 블록에 대한 액세스를 직렬화 라이브러리 캐시 Lock : 라이브러리 캐시 오브젝트에 대한 핸들을 보호...