Rest API & 인덱스 & garbege collector

bluesky·2022년 8월 4일
0

1 rest api 설명

  • rest API는 특정한 조건을 만족하는 API를 지칭하는 말입니다.
  • 그 특정한 조건이란 rest의 성질을 띄어야합니다.
  • 자원에 대한 행위는 HTTP method로 표현해야하고, 자원은 uri로 잘 나타내야 합니다.
  • 세세한 조건들은 팀과 조직마다 다른데, 이런 것들은 모두, url과 메서드만 참고해도 API를 한눈에 확인할수 있도록 하기 위한 조건들입니다.

2 인덱스의 내부구조, 클러스터형 DB vs Non클러스트형 DB

  • 인덱스의 내부구조
    • 인덱스는 어떠한 방식으로 정의했냐에 따라 저장되는 방식이 다르긴 합니다.
    • 그렇지만 보통 B+트리(그외 해쉬) 구조를 씁니다.
      • 해쉬 테이블은 키를 컬럼의 값으로, 벨류를 데이터의 위치값을 값는 테이블을 말합니다.
      • B+트리는 이진 트리와 유사한데, 자식노드가 2개 이상일 수 있다는 특성을 갖습니다.
        • 탐색의 과정은 이진탐색과 유사하며, 말단노드에는 데이터의 실제 위치가 저장되어 있습니다.
  • 제가 알기로 클러스터형 인덱스와 논클러스터형 인덱스가 있는데 그것으로 설명하겠습니다.
  • 클러스터 인덱스는 해당 인덱스의 순서대로 행을 재배치 합니다.
    • 따라서 B+트리의 말단 노드가 곧 실 데이터를 가지고 있습니다.
    • 그 예시로 프라이머리 키가 있고, 순서가 동일하여 접근속도가 논클러스터에 비해 빠른 것으로 알고 있습니다.
    • 테이블에 단 1개만 존재 할 수 있습니다.
    • 검색시 빠르고, 수정 삭제시 느립니다.
  • 논클러스터형 인덱스는 인덱스 페이지에 있는 데이터 순서와 실 데이터 페이지에 존재한 데이터의 순서가 다릅니다.
    • 인덱스페이지의 데이터만 항상 정렬된 상태를 갖습니다.
    • 그래서 속도는 약간 느립니다.
    • 하지만, 1개 이상으로 설정할 수 있습니다.

3 가비지콜렉터

  • 가비지 콜렉터는 동적할당된 공간 중, 쓰이지 않은 할당된 메모리 공간을 해제하는 기능을 합니다.
  • 데몬 쓰레드로 돌아가며, 인스턴스가 무엇에 의해서도 참조되지 않는 것이 확인되면, 해당 메모리 공간을 해제합니다.
  • 동작원리는 stop-the-world, mark and sweep 방식에 의해서 동작한다.
    • 그외 쓰레드 모두 멈춤
    • 참조되고 있는거 marking하고, 참조 안되는 것은 sweep (청소)

참고자료

REST API 제대로 알고 사용하기 : NHN Cloud Meetup

[DB] 데이터베이스 인덱스(Index) 란 무엇인가?

[데이터베이스] 클러스터 인덱스와 넌클러스터 인덱스/ 개념 총정리

[Java] Garbage Collection(가비지 컬렉션)의 개념 및 동작 원리 (1/2)

profile
SMART https://github.com/dongseoki?tab=repositories

0개의 댓글