전체 글 1383

MySQL/MariaDB Timezone 설정 및 확인

MySQL/MariaDB Timezone 설정 및 확인 · Version : MySQL 5.7, Docker MySQL/MariaDB를 운영할때, 타임존에 대해서 알아본다. 아래 스크립트는 현재 데이터베이스의 타임존을 확인한다. 타임존이 SYSTEM 으로 표시되면 별도의 타임존 설정이 되어 있지 않다는 뜻이며 시스템의 타임존을 사용하겠다는 뜻이다. SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone; 데이터베이스 설정에서 default-time-zone 변경 방법은 my.ini (my.cnf)에서 [mysqld] 영역에 타임존을 추가한다. 아래 스크립트는KST로 타임존을 설정하였으며 스크립트 적용 후MySQL 서비스 재시작이 필요하다. ..

MySQL, MariaDB 2019.06.13

Redis Memory LFU(Least Frequently Used) 캐시

Redis Memory LFU(Least Frequently Used) 캐시 · Version : Redis 4.0 Redis 4.0 부터 제공되는 LFU 알고리즘 캐시는 자주 참조되는 데이터만 배치하고 그렇지 않은 데이터들은 메모리로부터 제거하여 자주 사용되는 데이터들이 메모리에 배치되도록하는 알고리즘이다. LRU 알고리즘은 최근에 액세스 했지만 실제로는 거의 요청하지 않는 항목에 대해서도 메모리에 보관하고 자주 요청되는 키에 대해서는 만료가 되기 때문에 의도하지 않은 성능이 나타날 수도 있다. LFU는 Approximated LRU와 유사하다. 모리스 카운터라고 하는 확률적 카운터를 사용하여 개체의 액세스 빈도를 계산하고 감쇠 기간과 결합하여 시간이 지남에 따라 카운터가 감소한다. 알고리즘은 액세스 ..

NoSql, MemoryDB 2019.06.07

Redis Memory LRU(Least Recently Used) 캐시

Redis Memory LRU(Least Recently Used) 캐시 · Version : Redis 3.2.100 (Windows) Redis에서 캐시로 사용되는 알고리즘으로 LRU(Least Recently Used)를 사용한다. LRU 알고리즘은 최근에 사용된 데이터들은 재사용이 될 가능성이 높다고 판단하여 계속해서 메모리에 상주 시킬수 있도록 재배치 하는 작업이다. LRU 알고리즘으로 Redis 서버 인스턴스를 운영하기 위해서는CONFIG SET 명령어 또는 redis.conf 파일에서 아래 파라메터를 수정한다. · maxmemory · maxmemory-samples 5 maxmemory 파라메터는 Redis 서버에 할당할 수 있는 최대 메모리 크기이며, 이 값을 0로 설정할 경우 최대 메모..

NoSql, MemoryDB 2019.06.04

Redis Memory 정보

Redis Memory 정보 · Version : Redis 3.2.100 (Windows) Redis에서 info명령은 서버의 각종 통계 및 상태를 보여준다. 다양한 매개 변수를 사용하여 특정 정보를 확인할 수 있으며 이번 포스트에서는 메모리 관련 정보를 확인해본다. Redis에 접속하여 Redis info 명령을 실행하면 메모리 관련 사용 정보를 반환한다. info memory · *_human 값은 동일 항목의 byte 값을 Kbyte로 변환하여 나타낸 값 Info linst Comments used_memory Redis 서버에 현재 할당된(libc, jemalloc, tcmalloc 등) 메모리 크기 (byte) used_memory_rss 운영체제에서 볼 때 Redis가 할당한 byte 수. ..

NoSql, MemoryDB 2019.05.21

Redis Architecture

Redis Architecture · Version : Redis 3.2.100 (Windows) 아래 그림은 Redis Server Architecture 이며, 크게 3가지 영역인, 메모리, 파일, 프로세스 영역으로 구성되어 있다. [메모리 영역] · Resident Area (Working Set) : 사용자가 Redis 서버에 접속해서 처리하는 모든 데이터가 가정 먼저 저장되는 영역이며 실제 작업이 수행되는 영역. · Data Structure : Redis를 운영하기 위한 다양한 정보를 저장하고 관리하기 위한 영역. [파일 영역] · AOF 파일 : 메모리에 저장된 사용자 데이터를 파일에 기록하는 영역 (스냅샷 데이터) · DUMP 파일 : 소량의 데이터를 일시적으로 저장할때 사용하는 영역 [프..

NoSql, MemoryDB 2019.05.18

Redis 데이터 타입 – Geo

Redis 데이터 타입 – Geo · Version : Redis 3.2.100 (Windows) Redis 의 Geo 데이터 타입은 위치정보(위도, 경도) 데이터를 효율적으로 저장하고 사용할 수 있다. geoadd, geopos, geodist, georadius, geohash 명령어를 사용한다. [geoadd] 데이터를 저장한다. geoadd key longitude latitude member [longitude latitude member] … ex) geopos position 127.1058431 37.5164113 “Local A” 127.0980748 37.5301218 “Local 2” [geopos] 데이터를 검색한다 geopos key member [member] … ex) geop..

NoSql, MemoryDB 2019.05.15

Redis 데이터 타입 – bit

Redis 데이터 타입 – bit · Version : Redis 3.2.100 (Windows) Redis 의 bit는 0과 1로 표시하며 setbit, getbit, bitcount 명령어를 사용한다. [setbit] 데이터를 저장한다. Serbit key offset value ex) setbit order:20190509 1001 1 [getbit] 데이터를 검색한다. getbit key offset ex) getbit order:20190509 1001 [bitcount] 키 범위내의 value 카운트를 나타낸다. bitcount key start end ex) bitcount order:20190509 0 -1 [참고자료] https://redis.io/commands 2019-05-09 / ..

NoSql, MemoryDB 2019.05.10

Redis 데이터 타입 – Sorted Set

Redis 데이터 타입 – Sorted Set · Version : Redis 3.2.100 (Windows) Redis 의 Sorted Set 데이터 타입은 Set과 동일한 구조이며 차이점은 데이터가 정렬된 상태로 저장된다는 것이다. 명령어는 zadd, zrange, zcard, zcount, zrank, zrevrank를 사용한다. [zadd] 데이터를 저장할때 zadd 명령을 사용한다. zadd key member member … ex) zadd order:20190502 1 “{order_id:1, order_name:sungwook, item_name:redis_1, itemprice:1}” 2 “{order_id:2, order_name:sungwook, item_name:redis_2, it..

NoSql, MemoryDB 2019.05.03

SQL Server에서 테이블 이름을 변경하지 않고 테이터만 교체하기

SQL Server에서 테이블 이름을 변경하지 않고 테이터만 교체하기 · Version : SQL Server SQL Server에서 파티션 테이블을 사용하기 위해서는 SQL Server Enterprise Edition을 사용해야한다. Standard Edition에서도 파티션 테이블 처럼 사용하기 위해서는 새로운 테이블을 생성하고 sp_rename 함수를 사용하여 기존테이블과 새로운 테이블의 이름을 변경하는 방식으로 사용하였다. -- Replace live with staging BEGIN TRAN DROP TABLE DataTable; EXEC sp_rename DataTable_Staging, DataTable; COMMIT -- Swap live and staging BEGIN TRAN EXEC..

Redis 데이터 타입 - Set

Redis 데이터 타입 - Set · Version : Redis 3.2.100 (Windows) Redis 의 Set 데이터 타입은 Element 단위로 저장한다. Set 타입의 데이터를 핸들링할 때에는 sadd, smembers, scard, sdiff, sunion 명령어를 사용한다. [sadd] 데이터를 저장할때 sadd 명령을 사용한다. sadd key member member … ex) sadd order “order_id:1, order_name:sungwook, item_name:redis, itemprice:0” “order_id:2, order_name:sungwook2, item_name:redis2, itemprice:2” [smembers] Set 으로 저장된 데이터 검색은 sme..

NoSql, MemoryDB 2019.04.30