ORM (Object - Relational Mapping) / 데이터전환
2023. 2. 21. 18:54ㆍ정처기 필기/3과목 - 데이터베이스 구축
ORM
1. 개요
- 객체와 관계형데이터베이스의 데이터를 연결하는 기술
- 독립적이어서 재사용 및 유지보수 용이
- 직관적, 간단
2. ORM 프레임워크
JAVA - JPA, Hibernate Eclipse Link 등
C++ - ODB, QxOrm 등
Python - Django, Alchemy 등
iOS - Core Date, Database Objects 등
3. ORM의 한계
- SQL 자동 작성 때문에 테스트가 필요
- 프로젝트가 크고 복잡하면 적용하기 어려워짐
- 기존 데이터베이스를 변환하는데 시간과 노력 필요
쿼리 성능 최적화
- 쿼리 성능 최적화 전, 성능 측정 도구인 APM을 사용해 최적화 할 쿼리를 선정해야 한다.
- 옵티마이저가 수립한 실행계획을 EXPLAIN 명령어를 통해 검토하고, SQL 코드와 인덱스 재구성
* 옵티마이저
: 작성된 SQL이 가장 효율적으로 수행되도록 경로를 찾아주는 모듈
1. RBO vs CBO
RBO (RULE) | CBO | |
최적화 기준 | 규칙 | 비용 |
성능 기준 | 개발자 SQL 숙련도 | 옵티마이저 알고리즘 예측 성능 |
특징 | 예측이 쉬움 | 예측이 어려움 |
고려사항 | 개발자의 규칙 이해도, 규칙 효율성 | 알고리즘 정확성 |
2 . SQL 코드 및 인덱스 재구성
* SQL 재구성
: 서브 쿼리에 특정 데이터가 존재하는지 확인할 때는 EXISTS 활용
: 실행 계획이 잘못되었다고 판단하는 경우에는 힌트(HINT)를 활용
* 인덱스 재구성
: 인덱스 추가 및 변경은 다른 SQL에도 영향을 줄 수 있으므로 신중
: 단일 인덱스로 쓰기나 수정 없이 일기로만 사용되는 테이블의 경우 IOT 구성 고려
데이터전환 계획서
- 구글 검색
'정처기 필기 > 3과목 - 데이터베이스 구축' 카테고리의 다른 글
SQL활용 / DMBS 접속 기술 (0) | 2023.02.21 |
---|---|
SQL응용 (0) | 2023.02.21 |
데이터베이스 보안 / 스토리지 / 논리 데이터 모델의 물리 데이터 모델 변환 및 품질 검토 (0) | 2023.02.19 |
분산 데이터베이스 설계 / 데이터베이스 이중화 / 서버 클러스터링 (0) | 2023.02.19 |
트랜잭션 / 인덱스 / 뷰 / 클러스터 (0) | 2023.02.19 |