Software Development/Database
-
[데이터 중심 애플리케이션] 저장소와 검색Software Development/Database 2021. 9. 5. 21:05
해시 색인 프로그래밍 언어에서 볼 수 있는 사전 타입과 유사. 파일에 추가만 한다면 디스크 공간이 부족. 해결: 세그먼트로 로그를 나누는 방식. 세그먼트 파일들에 대해 컴팩션을 수행 컴팩션은 로그에서 중복된 키를 버리고 각 키의 최신 갱신 값만 유지. 추가와 세그먼트 병합은 순차적인 작업이기 때무에 무작위 쓰기보다 훨씬 빠르다. 세그먼트 파일이 추가 전용이나 불변이면 동시성과 고장 복구는 훨씬 간단하다. 오래된 세그먼트 병합은 시간이 지남에 따라 조각화되는 데이터 파일 문제를 피할 수 있다. 해시 테이블은 메모리에 저장해야 하므로 키가 너무 많으면 문제가 된다. 디스크에 해시 맵을 유지할 수 있지만 불행하게도 디스크 상의 해시 맵에 좋은 성능을 기대할 수 없다. 해시 충돌 해결을 위한 복잡한 로직도 필요..
-
[MongoDB] 몽고디비 정리Software Development/Database 2021. 7. 7. 19:27
'몽고디비 인 액션 '의 내용을 바탕으로 정리하였습니다. 코어 서버 MongoDB를 상용에서 구동할 때는 복제가 권장사항이며, 두 개의 복제 노드와 아비터 모드로 구동하는 mongod로 이루어진 복제 세트가 일반적이다. 자바스크립트 셸 MongoDB 명령어 셸은 자바스크립트에 기반한 툴인데, 데이터베이스를 관리하고 데이터를 조작하는 데 사용. 데이터베이스 드라이버 모든 드라이버는 애플리케이션상에서 MongoDB 서버와 통신하기 위해 사용된다. 모든 드라이버는 질의, 결과 검색, 데이터 쓰기, 데이터베이스 명령어를 실행하기 위한 기능을 가지고 있다. 커맨드라인 툴 MongoDB는 여러 가지 커맨드 라인 유틸리티가 번들로 제공된다. mongodump, mongorestore: 데이터베이스 백업과 복구를 위한..
-
[Oracle] 오라클 - Function 생성 및 실행 방법Software Development/Database 2020. 10. 15. 20:37
오라클에서는 TO_DATE, CONCAT 등과 같은 내장함수가 있지만 사용자가 정의하여 사용할 수 있는 사용자 정의 함수(User Defined Function)를 생성할 수도 있다. 기본적인 함수를 만드는 문법은 아래와 같다. CREATE OR REPLACE FUNCTION function_name (agr1 NUMBER) RETURN VARCHAR2 IS return_value VARCHAR(14); BEGIN SELECT data INTO return_value FROM TABLE WHERE sequence = arg1 and ROWNUM =1; RETURN return_value; END; 생성한 함수를 실행하는 방법은 아래와 같다. SELECT function_name(1000413) FROM ..
-
[Database] 인덱스 자세히 알아보기Software Development/Database 2020. 8. 19. 18:34
인덱스의 기본적인 목적은 검색 성능의 최적화이다. 즉, 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있도록 돕는다. 그렇지만 Insert, Update, Delete 등과 같은 DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려질 수 있다는 단점이 존재한다. 인덱스 기능 인덱스는 어떤 종류의 검색 연산을 최적화하기 위해 데이터베이스상에 로우들의 정보를 구성하는 데이터 구조이다. 인덱스를 이용하면 전체 데이터를 검색하지 않고 데이터베이스에서 원하는 정보를 빠르게 검색할 수 있다. 인덱스는 인덱스를 생성한 컬럼값으로 정렬되어 있고 테이블 내 값들이 저장된 위치를 갖고 있으므로 인덱스를 이용하면 전체 테이블을 읽지 않아도 찾으려는 데이터를 찾을 수 있다. 그래서 테이블에..
-
ORA-01654 인덱스를 확장할 수 없습니다Software Development/Database 2020. 7. 9. 19:00
테이블 스페이스 에러가 나는 이유 http://database.sarang.net/?inc=read&aid=18973&criteria=oracle&subcrit=&id=&limit=&keyword=&page= 데이터베이스를 사랑하는 사람들의 모임 데이터베이스 사랑넷 오라클 초보입니다.. 들어가는 자료 크기가 좀 큰 배치 몇개를 돌리다가 ... 모두 이런 오류로 종료되었는데 정확히 원인이 뭔지 알고 싶습니다. ORA-01654: IVLU01.S02_EB574DM 인덱스를 256(으)로 DATA 테�� database.sarang.net https://m.blog.naver.com/PostView.nhn?blogId=bluejames77&logNo=80039596674&proxyReferer=https:%2..
-
Oracle - 반드시 알아야 하는 오라클 힌트절 7가지Software Development/Database 2020. 4. 8. 12:57
출처: http://www.dbguide.net/knowledge.db?cmd=view&boardConfigUid=19&boardUid=183970 데이터 전문가 지식포털 DBGuide.net 이병국 andongcn@dreamwiz.com 프리랜서 DB 엔지니어. 동아제약 전산실에서 SW 개발 업무를 시작으로 프리랜서 개발자로 독립해 활동하던 중 우연한 기회에 DB와 인연을 맺게 됐다. 현재 삼성생명 전산 운영팀에서 쿼리 성능을 개선하는 DB 튜닝과 IOA 업무를 맡고 있다. 개발자 출신의 DB 엔지니어로 활동하면서 개발자에게 DB 관련 지식이 꼭 필요함을 절감했다. ‘정보의 불균형이 시장 왜곡을 가져온다’는 ‘레몬시장이론’은 중고차 거래에서 www.dbguide.net CBO[1] 방식에서 옵티마이저는..