WIL // RDB 확장, Dynamic Linking, 스케줄러
① RDB 수행할 때 scale up을 수행합니다.
⇢ NoSQL은 scale out(접속된 서버의 대수를 늘려 처리 능력을 향상시키는 것)이 가능합니다. 반면에, RDB는 scale up만 가능합니다.
② 디스크 접근 시간
⇢ 보통의 경우 디스크 접근 시간은 Transfer Time이 은근 많이 걸린다고 한다. (데이터가 상당히 크게 잡히는 부분)
③ Dynamic Linking
⇢ 동적 링킹이란 실행 가능한 목적 파일을 만들 때 프로그램에서 사용하는 모든 라이브러리 모듈을 복사하지 않고 해당 모듈의 주소만을 가지고 있다가, 런타임에 실행 파일과 라이브러리가 메모리에 위치될 때 해당 모듈의 주소로 가서 필요한 것을 들고 오는 방식이다. 런타임에 운영체제에 의하여 이루어진다.
④ 중기 스케줄러
⇢ 너무 많은 프로세스에게 메모리 할당해 시스템의 성능저하가 발생할 경우 메모리에 적재된 프로세스 수를 조절하기 위함
⑤ Load Time / Execution Time Binding
⇢ Load TIme Bindng 은 메모리에 로딩할 때 작업을 미리 해두는것을 의미 반면에 Execution Time Binding은 프로그램을 실행해서 그 코드가 실행될 때마다 변환 반복 작업을 수행해야 하는것을 의미합니다. Load Time Binding은 하드웨어가 필요없지만 overhead가 크다는 단점이 존재합니다. Execution TIme Binding은 MMU를 활용해서 작업을 해줘야 합니다.
⑥ Spring IoC/DI 차이
⇢ DI는 객체의 생성, 소멸, 의존관계는 개발자가 설정하는게 아니라 XML or Annotation을 통해 스프링 프레임워크가 제어합니다. 스프링에서 의존하는 객체를 컨테이너가 실행 시 객체를 주입하는것이 DI(Dependency Injection) 역할입니다. 각 클래스 객체를 Bean이라고 부르고 의존관계를 설정하는것이 xml파일에서 표시합니다. (<bean> tag) 즉, DI는 클래스간에 의존관계를 낮추게 됩니다. 의존관계를 스프링 자체에서 관리해주는 특징을 IoC(Inversion of Control)라고 부릅니다.
⑦ 무상태 아키텍처
⇢ HTTP는 stateless 한 과정을 거치게 되는데 상태 정보를 공유할 수 있는 공유 저장소를 만들어 관리하게 됩니다. Stateless 라고 하는것은 비연결적인 특성으로 연결이 해제됨과 동시에 서버와 클라이언트는 클라이언트가 이전에 요청한 결과에 대해 잊어버리는 과정을 의미합니다. (Stateless Protocol)
참고
③ : https://live-everyday.tistory.com/69
⑤ : https://jhnyang.tistory.com/246
'WIL' 카테고리의 다른 글
WIL // dijksta, python 정렬, delete/truncate/drop 차이 (0) | 2021.10.17 |
---|---|
WIL // SRP, Spring Boot 동작원리, 냅색 알고리즘 (0) | 2021.10.14 |
댓글
이 글 공유하기
다른 글
-
WIL // dijksta, python 정렬, delete/truncate/drop 차이
WIL // dijksta, python 정렬, delete/truncate/drop 차이
2021.10.17 -
WIL // SRP, Spring Boot 동작원리, 냅색 알고리즘
WIL // SRP, Spring Boot 동작원리, 냅색 알고리즘
2021.10.14