왕현성
코딩발자취
왕현성
전체 방문자
오늘
어제
  • 코딩 (277)
    • Python (71)
    • Java (16)
    • MySQL (34)
    • 인공지능 (48)
      • 머신러닝 (16)
      • 딥러닝 (32)
    • 영상처리 (4)
    • Rest API (21)
    • Android Studio (25)
    • streamlit (13)
    • DevOps (22)
      • AWS (9)
      • PuTTY (5)
      • Git (4)
      • Serverless (2)
      • Docker (2)
    • IT 기술 용어 (6)
    • 디버깅 ( 오류 해결 과정 ) (17)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • imageprocessing
  • alibi-detection
  • unsupervised
  • 딥러닝
  • 영상처리
  • alibidetect
  • ckpt_file
  • 기상탐사
  • labelme
  • TensorFlow
  • 영상기술
  • get_long_description
  • UnboundLocalError
  • yolov8
  • PIL
  • maskimage
  • 비지도학습
  • numpy
  • 의료이미징
  • tune()
  • 영상처리역사
  • 컴퓨터비전
  • pytorch
  • encoding='utf-8'
  • pip install labelme
  • OpenCV
  • labelme UnocodeDecodeError
  • matplotlib
  • ComputerVision
  • PYTHON

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
왕현성
IT 기술 용어

애플리케이션에서 데이터베이스 cursor와 connection 닫는 이유

애플리케이션에서 데이터베이스 cursor와 connection 닫는 이유
IT 기술 용어

애플리케이션에서 데이터베이스 cursor와 connection 닫는 이유

2023. 4. 20. 17:36
728x90

 

소개:

데이터베이스로 작업할 때 cursor와 connection을 적절하게 관리하는 것이 중요합니다.

데이터베이스 커서 및 연결을 닫는 것의 중요성과 그렇게 하지 않을 경우에 대한 잠재적인 결과에 대해 설명합니다.

 

 

 

1. 리소스 관리:

 

    데이터 베이스 연결 및 커서를 닫으면 메모리 및 파일 핸들과 같은 시스템 리스소를 효율적으로 관리하는 데 도움이 됩니다.

이는 리소스 누수가 성능 저하 및 심지어 충돌로 이어질 수 있으므로 장기 실행 애플리케이션이나 많은 수의 연결을 처리하는 애플리케이션에 특히 중요합니다.


 

2. 연결 풀링:

    많은 데이터베이스 시스템은 연결 풀링을 사용하여 연결을 재사용하고 각 쿼리에 대한 새 연결을 설정하는 오버헤드를 줄임으로써 성능을 향상시킵니다.

연결을 닫으면 풀로 반환되고 응용 프로그램의 다른 부분에서 사용할 수 있습니다.

연결을 닫지 못하면 사용 가능한 연결 수가 줄어들어 잠재적으로 성능 문제나 교착 상태가 발생할 수 있습니다.


3. 거래 관리:

    연결을 닫으면 데이터베이스 시스템의 구성에 따라 보류 중인 트랜잭션이 커밋되거나 롤백됩니다.

이는 데이터베이스에서 데이터의 일관성과 무결성을 유지하는 데 도움이 됩니다.

보류 중인 트랜잭션이 있는 연결을 열린 상태로 두면 데이터 불일치, 잠금 또는 교착 상태가 발생할 수 있습니다.


 

4. 동시성 제어:

    커서 및 연결을 닫으면 리소스가 적시에 해제되도록 하여 애플리케이션의 동시성을 관리하는 데 도움이 됩니다.

이렇게 하면 애플리케이션의 다른 부분이 데이터베이스에 액세스할 수 있고 공유 리소스에 대한 충돌이나 경합을 방지할 수 있습니다.


결론 : 

 

요약하면, 시스템 리소스를 관리하고, 연결 풀링을 통해 성능을 개선합니다, 또 데이터의 일관성과 무결성을 유지하며 동시성을 효과적으로 관리하기위해서 응용 프로그램에서 데이터베이스 커서와 연결을 닫는 것은 필수적입니다. 이렇게 하면 잠재적인 문제를 방지하고 애플리케이션의 안정성과 신뢰성을 보장할 수 있습니다.

 

이 글을 쓰기 전에는, 그냥 형식적으로 습관적으로 커서와 연결을 닫고 코딩을 진행을 했었는데, 이렇게 내용을 정리하고보니 정말 좋은 습관을 들였었구나 하며 다행으로 생각합니다.

'IT 기술 용어' 카테고리의 다른 글

[DB] 트랜잭션 (Transaction )  (0) 2023.04.19
RDBMS vs NoSQL  (0) 2023.04.18
REST API  (1) 2023.04.17
[백엔드] Django vs Flask vs FastAPI  (0) 2023.04.17
MySQL - 데이터베이스 인덱스(Index) 기본 개념과 설명 / 단점 / Cardinality  (0) 2023.03.31
  •  
  • 소개:
  • 1. 리소스 관리:
  • 2. 연결 풀링:
  • 3. 거래 관리:
  • 4. 동시성 제어:
  • 결론 : 
'IT 기술 용어' 카테고리의 다른 글
  • [DB] 트랜잭션 (Transaction )
  • RDBMS vs NoSQL
  • REST API
  • [백엔드] Django vs Flask vs FastAPI
왕현성
왕현성
AI 머신비전 학습일지

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.