본문 바로가기
반응형

SW LAB/DataBase21

Oracle의 PL/SQL 에 관하여 (1) PL/SQL 이란 ? Oracle’s Procedural Language extension to SQL 의 약자 변수정의, 조건처리(IF), 반복처리(LOOP, WHILE, FOR)등을 지원하며,오라클 자체에 내장되어 있는 Procedure Language PL/SQL Block Structure DECLARE (Declarative Section(선언부)) - Optional - Variables, cursors, user-defined exceptions BEGIN (Executable Section(실행부)) - Mandatory - SQL Statements - PL/SQL Statements EXCEPTION (Exception Handling Section(예외처리)) - Actions to .. 2020. 4. 24.
MongoDB : Too Many Open File 현상 현재 프로젝트에서 두 대의 서버로 MongoDB의 ReplicaSet를 구성하였습니다. 그런데, 운영 중 서버B에서 동작중인 RS1 Secondary가 죽기도 하고 .. 서버A에서 동작중인 RS1 Primary가 죽기도 하는 현상이 간헐적으로 발생하였습니다. MongoDB 로그를 분석 중, 여러 에러 코드가 있었지만 Too many file opens와 함께 Prefix로 [Error] 를 발견하였습니다. 우선 1차적인 조치로 이 것을 해결하기 위해 살펴보던 중 Linux에서 허용하는 open files가 4096으로 되어 있는 것을 보았습니다. 우선 이 값을 최대치로 높여주기 위핸 조치를 취했습니다. ulimit -a 로 현재 시스템에서의 수치 확인 ... open files 4096 max user .. 2020. 4. 24.
Redis 소개 Redis 란? (REmote DIctionary Server) Salvatore Sanfilippo 가 개발한 오픈 소스 소프트웨어 휘발성이면서 영속성을 가진 key-value 형 스토어 Memory DB : 메모리에 데이타를 저장, 관리 Redis 특징 오픈 소스 소프트웨어 디스크가 아닌 메모리 기반의 데이터 저장소이다. (In-Memory data structure store) NoSQL & Cache 솔루션이며 메모리 기반으로 구성된다. 명시적으로 삭제, expire를 설정하지 않으면 데이터는 삭제되지 않는다(영구적 보존) 여러대의 서버 구성 가능하다. 데이터베이스로 사용될 수 있으며, Cache로도 사용될 수 있는 기술이다. 성능은 서버에 따라 다르나 초당 2만 ~ 10만회 수행한다. Memor.. 2020. 4. 23.
Mongodb : Linux 설치 가이드 tar 다운로드 https://www.mongodb.com/download-center#atlas 위 주소로 접속하여, 최신버전 다운로드 linux 서버로 파일 복사 압축 풀기 tar xzf mongodb-linux-x86_64-rhel70-3.4.2.gz 데이터 저장용 폴더 생성 mkdir -p /data/db 서버 시작 /[압축푼 경로]/mongodb-linux-x86_64-rhel70-3.4.2/bin/mongod --port 27017 --dbpath /data/db 인증을 주고자 할 경우는 /[압축푼 경로]/mongodb-linux-x86_64-rhel70-3.4.2/bin/mongod --port 27017 --dbpath /data/db -- auth 백그라운드로 실행할 경우는 /[압축푼 경.. 2020. 4. 23.
OpenSource MongoDB : (4) Aggregation Pipeline Optimization 명령어 (연산자) 실행 입출력 형태 $project reshape (1:1) 키를 지우거나 추가하기 $match filler (n:1) 필터링하기 $group aggregate (n:1) 합계 연산 $sort sort (1:1) 분류하기 $skip skips (n:1) 건너뛰기 $limit limits (n:1) 제한하기 $unwind normalize (1:n) tags:["red","blue","green"] -> tags:red, tags:green, tags:blue $out output (1:1) 출력하기 1. Pipeline Sequence Optimization 1) $project or $addFields + $match Sequence Optimization Before Optimizat.. 2020. 4. 23.
OpenSource MongoDB : (3) 집계 연산 - 집계동작 소개 집계 파이프라인 db.orders.aggregate( [ -- status field 가 "A" 인 것을 추출 { $match: { status: "A" } }, -- 그룹 식별 값은 "cust_id" field 로.. -- 그룹핑 된 document 들의 amount 값을 합친 것을 "total" field 로.. { $group: { _id: : "$cust_id", total : { $sum : "$amount" } } } ]) 파이프라인 연산자와 인덱스 $match, $sort 파이프라인 연산자들은 파이프라인의 시작점에 사용하는 경우 인덱스로서의 장점을 발휘합니다. 버전 2.4 이후로 도입된 $geoNear 파이프라인 연산자는 위치 인덱스의 장점을 갖습니다. 선점 필터링 (Ear.. 2020. 4. 23.
반응형