본문 바로가기

✨ DBMS/etc14

[DB] 인덱스 B-TREE , BITMAP 개념과 차이 인덱스는 보통 사용자가 인덱스를 지정하라고 지정한 컬럼 ( KEY)와 위치주소(ROWID) 쌍으로 저장하고 관리된다. B-TREE 인덱스 실시간으로 데이터 입력과 수정이 일어나는 환경에서 많이 사용 OLTP ( Online Transaction Processing ) - 실시간 트랜잭션 처리 BITMAP 인덱스 대량의 데이터를 한꺼번에 입력하고 주로 분석이나 통계 정보를 출력할 때 많이 사용 OLAP ( Online Analytical Processing ) - 온라인 분석 처리 데이터 값의 종류가 적고, 동일한 데이터가 많을 경우 사용한다. 2023. 12. 27.
[DB] 프로시저(Procedure)와 트리거(Trigger) 차이 프로시저 절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어이다. 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. 여러 프로그램에서 호출하여 사용 가능하고, 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용된다. 트리거 DB 시스템에서 삽입, 갱신, 삭제 등 이벤트가 발생할 때마다 자동 수행되는 절차형 SQL이다. 무결성 유지, 로그 메시지 출력 등 목적으로 사용한다. 구문에 DCL을 사용할 수 없고, DCL이 포함된 프로시저나 함수 호출도 불가능하다. 즉, Commit과 Rollback이 불가능한 것이다. 프로시저 트리거 COMMIT, ROLLBACK 실행 가능 COMMIT, ROLLBACK 실행 불가능 실행 명령어로 실행 생성 후 자동 실행 CREATE PROCEDU.. 2023. 12. 26.
[DB] UNDO, REDO의 차이 UNDO - 원 상태로 되돌리다. 라는 뜻을 가진다. REDO - 다시 하다. 라는 뜻을 가진다. 공통점 REDO는 기본적으로 복구의 역할을 가진다. 오라클 서버에 무슨 작업을 하든지 모두 REDO에 기록된다. UNDO는 작업 롤백과 읽기 일관성, 복구를 한다. 즉, REDO와 UNDO의 공통점으로는 복구를 한다는 것이다. 차이점 REDO - 복구할 때 사용자가 했던 작업을 그대로 다시한다. UNDO - 사용자가 했던 작업을 반대로 진행한다. 즉 사용자의 작업을 원상태로 돌린다. 2023. 12. 25.
[DB] MyBatis와 JPA의 차이와 장점, 단점 MyBatis와 JPA의 주요한 차이점은 DB의 상호작용 방식이다. MyBatis - 개발자가 SQL 쿼리를 직접 작성하며 데이터 매핑을 위해 XML 또는 어노테이션을 사용한다. 장점 접근이 쉽고 코드가 간결하다 ( 배우기가 쉬움 ) SQL문과 프로그래밍 코드가 분리되어 있어 SQL 문에 변경이 있을 시 자바 코드를 수정하거나 컴파일 안해도 됨. 다양한 프로그래밍 언어로 구현이 가능 ( 이식성 높음 ) 직접 작성한 SQL에 의존하기 때문에, 성능 최적화가 상대적으로 쉽다. 단점 스키마 변경시 SQL 쿼리를 직접 수정해주어야 한다. 반복된 쿼리가 발생하여 반복 작업이 있다. 쿼리를 직접 작성하기 때문에 데이터베이스에 종속된 쿼리문이 발생할 수 있다. JPA - 객체와 관계형 데이터베이스 간의 매핑을 제공하.. 2023. 12. 24.