항해99 3기

2021.12.16 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 데이터베이스

na_o 2021. 12. 19. 23:53
728x90
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
      • 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 '작업의 단위' 입니다
        여기서 데이터베이스의 상태를 변화시킨다는 것은 INSERT, SELECT, UPDATE, DELETE 를 수행하는 것을 말합니다
        주의할 점은 INSERT나 SELECT, UPDATE, DELETE 작업을 하나만 하는 것을 말 하는것이 아닙니다
        하나의 기능을 수행할 때 실행되는 여러가지의 SQL문을 통틀어서 말합니다
    • 트랜잭션과 Lock
      •  
    • 트랜잭션의 특성
      • 트랜잭션의 특징은 크게 4가지로 분류됩니다
        원자성은 트랜잭션이 데이터베이스에 모두 반영되거나 반영되지 않는 것을 말합니다.
        일관성은 트랜잭션의 작업 처리가 항상 일관성이 있어야 한다는 것입니다
        독립성은 어떤 하나의 트랜잭션이라도, 다른 트랜잭션이 연산에 끼어들 수 없다는 점을 말합니다
        마지막으로 지속성은 트랜잭션이 완료되었을 경우, 영구적으로 반영이 되어야한다는 점을 말합니다
    • 트랜잭션의 상태
      • 활동(Active): 트랜잭션을 수행 중인 상태
        실패(Failed): 트랜잭션 수행 중에 오류가 발생하여 중단 상태
        철회(Aborted): 트랜잭션을 비정상적으로 종료하여 Rollback을 수행한 상태
        부분 완료(Partially Committed): 트랜잭션의 마지막 연산까지 수행하였고 Commit연산을 수행하기 직전의 상태
        완료(Committed): 트랜잭션을 성공적으로 종료한 상태, Commit 연산을 실행한 이후의 상태
  • 트랜잭션을 사용할 때 주의할 점
    - 데이터베이스 Connection 개수가 제한적이기 때문에 트랜잭션의 범위를 최소화
    - Conntection을 소유하는 시간이 길어질수록 사용가능한 Connection 수는 줄어듬  
  • https://mommoo.tistory.com/62
    https://ehpub.co.kr/tag/%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98%EC%9D%98-%EC%83%81%ED%83%9C/
    https://dheldh77.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98Transaction


  • Statement vs PreparedStatement
    PreparedStatement 와 Statement의 가장 큰 차이점은 캐시(cache) 사용여부입니다
    Statement를 사용하면 매번 쿼리를 수행할 때마다 쿼리 문장 분석, 컴파일, 실행의 과정을 거쳐가지만
    PreparedStatement는 처음 한 번만 쿼리 분석, 컴파일, 실행 과정을 거친 후 캐시에 담아서 재사용을 합니다.
    만약 동일한 쿼리를 반복적으로 수행한다면 PreparedStatement가 DB에 훨씬 더 적은 부하를 주며, 성능도 좋습니다.

    https://devbox.tistory.com/133#comment13383841


  • RDB과 NoSQL 차이
    • RDBMS는 관계형 데이터베이스이며
      서버 한 대 중심으로 확장이 이루어집니다
      스키마가 고정되어있어 정해진 타입만 저장이 가능하고
      데이터간의 관계를 정의합니다
      하지만 NoSQL은 비관계형 데이터베이스이며
      여러 대의 서버를 중심으로 확장이 이루어집니다
      스키마가 유동적이며 데이터간의 관계를 정의하지 않습니다
      빠른 읽기와 쓰기가 가능하고 저렴한 비용으로 분산처리와 병렬 처리가 가능합니다

    • 관계형데이터베이스의 장점? 조인이 가능함
    • https://snow-line.tistory.com/171
      https://blog.naver.com/PostView.naver?blogId=qja9605&logNo=222264773729&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView
    • 이거 읽어보기 : https://91ms.tistory.com/2
 

#1 신입 프로그래머 기술(실무) 면접준비 [데이터베이스]

#1 신입 프로그래머가 필요한 기본 소양 # 데이터베이스 [1] PK, FK, ER 모델이란? Primary Key : 테이블에서 각 Row(행)을 유일하게 구분하는 Column-Key Foreign Key : 하나의 테이블에 있는 Column(열)으로는..

91ms.tistory.com