본문 바로가기
반응형

IT/Knowledge208

파티셔닝 이란? 파티셔닝이란? 데이터 사이즈가 큰 테이블을 두 개 이상의 작은 테이블로 나누는 것을 파티셔닝이라고 한다. 보통 쿼리가 스캔할 데이터의 범위를 좁혀서 응답시간을 빠르게 하기 위한 목적으로 사용한다. http://wiki.hash.kr/index.php/%ED%8C%8C%ED%8B%B0%EC%85%94%EB%8B%9D 파티셔닝 - 해시넷 파티셔닝(partitioning)은 데이터베이스를 여러 부분으로 분할하는 것이다. 데이터베이스의 분할은 중요한 튜닝 기법으로 데이터가 너무 커졌을때, 조회하는 시간이 길어졌을 때 또는 관리 용이성, wiki.hash.kr 하나의 공간에 데이터를 모두 저장하기에 너무 크고 부담일 경우에 나눠서 저장하는데 수직 분할과 수평 분할이 있다. 수직분할 수직 분할은 간단히 정규화와 비.. 2024. 1. 24.
Dispatcher Servlet 이란? (feat. FrontController 패턴) Dispatcher 을 직역하면 동사로 보내다 라는 의미를 담고 있다. 그전에 앞서서 FrontController 패턴에 대해서 잠깐 알고 가야한다. Front Controller 다른 자바 패턴들을 공부할때 나왔던 이름이 아니라서 생소할순 있지만, FrontController 패턴은 사용자의 요청을 Servlet 에 전달하기 위해 web.xml 에 Servlet 을 등록하고 mapping 하는 과정을 진행하게 된다. 그럴때마다 수많은 요청을 계속해서 올때마다 이 mapping 작업을 해야하기에 이때 FrontController 패턴이 생겨났다. Front controller 는 각 요청에 맞는 컨트롤러를 찾아서 호출을 시킨다. 만약 그게 url일수도 있고 메서드일수도 있고 다양하다. 아래 그림을 보면 .. 2024. 1. 18.
SPA / MPA 에 대해서 이전 포스팅에서 CSR, SSR 에 대해서 다룬 글이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. SPA와 MPA는 Single Page Application / Multi Page Application 의 약자로 아래 그림을 보면 이해가 갈것이다. MPA는 한 화면에 여러 컴포넌트들이 있지만 부분적으로 뜨지 않고 모든 페이지가 하나의 동작으로 이루어져, 모든 페이지가 리로딩, 전환 등의 작업이 이루어 진다. 하지만 SPA의 경우엔 화면 내에서 컴포넌트로 잡힌 부분만 새로고침이나 전환 작업등을 할수 있다. SPA의 대표적은로는 Vue, React 등 프레임워크등이 있고,(참고 포스팅 참고) MPA로는 서블릿이나 템플릿 엔진 등 JSP, 타임리프 등이 있다.(참고 포스팅 참고) MPA는 화면이 완.. 2024. 1. 16.
HTTP Method (종류 및 상태코드) 클라이언트와 서버와 통신을 하기위한 프로토콜은 HTTP를 주로 사용하는데 Method 방식이라는것이 있다. Restapi를 사용할 경우 이 방식에 대한 개념이 필요하다. Restapi에 대해서는 아래 참고 포스팅을 참고 바란다. HTTP 메소드의 종류는 총 9가지가 있다. 이 중 주로 쓰이는 메소드는 5가지가 있다. 종류는 아래와 같다. 주요 Method 5가지 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 데이터 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스를 일부만 변경 DELETE : 리소스 삭제 기타 Method 4가지 HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환 OPTIONS: 대상 리소스에 대한 통신 가능.. 2024. 1. 12.
Service Mesh 란? 요즘 떠오르는 MSA 에서의 시스템 내부 통신이 Mesh 네트워크의 형태를 띄는것처럼 보인다. MSA와 Mesh 네트워크에 대해서는 아래 참고 포스팅을 참고 바란다. MSA 내부에서 서비스들끼리 서로 Mesh네트워크 형태처럼 서비스를 주고 받는것을 Service Mesh라고 한다. 아래 그림을 참고하면 각 MS에서 필요한 서비스를 Proxy를 통해 호출하고 받고 상호작용을 한다. Service Mesh 적용 이유 Service Mesh를 적용하는 이유는 MicroService Architecture는 Monolitic Architecture의 단점 극복과 Cloud 환경에서 시스템을 운영할 때의 이점을 극대화하기 위해 많이 사용되고 있다. 이를 통해 많은 문제들이 해결되었지만, 또다른 문제점도 발생했는데.. 2024. 1. 9.
[kubernetes] 사이드카 패턴 사이드카 패턴은 클라우드 디자인 패턴의 일종이다. 디자인 패턴에 대한 내용은 아래 참고 포스팅 참고 바란다. 기본 Application 외 필요한 추가 기능을 별도의 Application으로 구현하고 이를 동일한 프로세스 또는 컨테이너 내부에 배치하는 것이다. 동일한 프로세스 또는 컨테이너에 배치된 사이드카 Application은 저장 공간, 네트워크 등의 리소스를 공유하며 모니터링, 로깅, 프록시 등의 동작을 한다. 쉽게 말해 기본 컨테이너의 기능을 확장하거나 보조하는 용도의 컨테이너를 추가하는 패턴이다. 사이드카 패턴 장점 사이드카 Application은 기본 Application과 별도의 Application 기본 Application의 로직을 수정하지 않고도 추가 기능을 수행할 수 있다. 기본 A.. 2024. 1. 8.
메시 네트워크(Mesh network) 나무위키에서는 아래와 같이 소개를 한다. 컴퓨터 네트워크 구조 중 하나. 네트워크를 구성하는 각 노드들이 다른 노드의 작동 가능/작동 불가능에 상관없이 항상 네트워크를 가동하는 형태의 구조이다. 영문표기는 Mesh Network 이며, 국내에 번역시 그물형 네트워크, 메시(메쉬) 네트워크, 망형 네트워크 등으로 번역된다. 사용되는 빈도는 언급된 순서와 비슷하다. https://namu.wiki/w/%EB%A9%94%EC%8B%9C%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC 메시 네트워크 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기.. 2024. 1. 7.
바이너리(binary) 파일이란? 컴퓨터를 다루다 보면 다양한 파일 확장자가 존재한다.(실행파일(exe), 이미지 파일(jpeg,png 등) 등) 이러한 파일을 열어보면 이미지 파일이나 특정 프로그램이 확장자에 맞게 실행이 되나 이런 파일 형식들을 메모장으로 열어보면 좀 다르게 되어있다. 사진과 같이 알수없는 글자들로 되어있다. 바이너리 파일은 2진법의 형태로 글자를 저장하는데, 이는 컴퓨터가 처리하기에 적합한 형태이다. 사람이 알아볼수는 없다. 이렇게 파일이 저장되는 이유는 다양한 이유가 있지만 용량이 큰 이유이다. 바이너리와 텍스트 파일을 비교하면 텍스트는 사람이 읽을수 있도록 문자 하나당 1,2 바이트의 크기를 사용하여 표현이 되지만, 바이너리 파일은 그렇지 않다. 만약 10이라는 숫자를 입력한다면 텍스트는 2바이트의 크기가 되지만.. 2023. 12. 23.
FFMPEG 란? 나무위키에서 소개하기로는 아래와 같다. 마이클 니더마이어(Michael Niedermayer)의 주도하에 개발되고 있는 모든 동영상, 음악, 사진 포맷들의 디코딩과 인코딩을 목표로 만들어지고 있는 오픈 소스 프로젝트. 즉 -> 인코딩, 디코딩을 위한 오픈소스 프로젝트이다. https://namu.wiki/w/FFmpeg FFmpeg - 나무위키 여기에 적혀있는 것들은 유명한 것들이고, 이것들 말고도 수많은 미디어 플레이어들이 FFmpeg를 기반으로 한다. 이쪽은 한마디로 정리가 가능하다. 곰인코더, 바닥, 다음 팟인코더 등 대다수 인코 namu.wiki 설치를 위한 사이트는 아래와 같다. https://ffmpeg.org/ FFmpeg Converting video and audio has never b.. 2023. 12. 17.
반응형