본문 바로가기

분류 전체보기127

[통신] TCP/UDP 가볍게 읽고 기억하기, TCP vs IP TCP / UDP ? 전송 계층(Transport Layer)은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하여 재전송 요구 제어 등을 담당하는 계층이다. 즉, 데이터의 전달을 담당한다. 전송 계층에서 사용하는 전송방식 TCP, UDP TCP(Transmission Control Protocol)? 응용 프로그램과 컴퓨팅 장치가 네트워크를 통해 메시지를 교환할 수 있도록 하는 통신 표준이다. 인터넷을 통해 패킷을 전송하고 네트워크를 통해 데이터와 메시지를 성공적으로 전달하도록 설계되어 있다. 또한, 인터넷의 규칙을 정하는 기본 표준 중 하나로 인터넷 특별 위원회(IEIF)가 정의한 표준 안에 포함된다. 디지털 네트워크 통신에서 가장 일반적으로 사용되는 프로.. 2022. 2. 13.
Virtualization(가상화)란 무엇인가? | Hypervisor(하이퍼바이저) 가상화란? 가상화를 관리하는 소프트웨어(하이퍼바이저)를 사용하여 하나의 물리적 머신에 가상 머신(VM)을 만드는 프로세스로 가상화 층을 구현하여 물리적 머신의 컴퓨팅 리소스로부터 가상 환경을 분리하고 가상 머신을 생성한다. VM은 물리적 머신과 동일한 역할 및 성능을 수행하지만 실제로 CPU,메모리,스토리지 등은 물리적 머신의 컴퓨팅 리소스를 사용한다. 즉 운영 체제(OS), 서버, 스토리지 장치 또는 네트워크 리소스 등의 실제 버전이 아닌 가상 버전을 생성하는 것이다. 하이퍼바이저가 설치된 물리 하드웨어를 호스트라고 하며 그 리소스를 사용하는 여러 VM을 게스트라고 한다. 게스트는 CPU, 메모리, 스토리지 등의 컴퓨터 리소스를 처리하는 리소스 풀로, 쉽게 재배치할 수 있다. 즉, 하나의 물리적 서버에.. 2022. 2. 13.
NoSQL이란 무엇인가? | 이점, 단점, SQL vs NoSQL NoSQL 데이터베이스? 비관계형 데이터베이스 특정 데이터 모델의 목적에 맞추어 구축되는 데이터베이스로 유연한 스키마를 가지고 있다. (1)DocumentDB - MongoDB 데이터를 json document 형태로 저장한다. 원하는 어떤 형태든 저장이 가능하며 데이터가 같은 모양일 필요가 없다. (2)Key/valueDB - Cassandra, AWS Dynamo Cassandra는 읽고, 쓰기가 매우 빠르다. 굉장히 많은 수의 아이템을 1초만에 쓸 수 있다. 그래서 애플이 cassandra를 이용해서 10PB 데이터 저장하고 있으며 넷플릭스, 우버, 인스타그램 등에서도 사용하고 있다. 검색엔진처럼 많은 양의 데이터를 빠르게 읽어야 하는 경우 좋다. DynamoDB - serverless, distr.. 2022. 2. 12.
[DB] 트랜잭션 ACID 간단하게 알아보자 트랜잭션? 데이터베이스 작업의 단위 쿼리가 실행될 때 동일한 Connection 객체를 공유하여 에러가 발생한 경우 진행 중인 모든 과정을 되돌리기 위함이다. 쿼리가 실행될 때 실패하면 트랜잭션 단위로 롤백한다. 트랜잭션 ACID? 원자성(Atomicity) : 트랜잭션에 포함된 작업은 모두 수행되거나 수행되지 않아야 함 일관성(Consistency) : 트랜잭션을 수행하기 전이나 후에 데이터베이스는 항상 일관된 상태를 유지해야 함 고립성(Isolation) :수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경 중인 데이터 값을 훼손하지 않아야 함 지속성(Durability) : 수행을 성공적으로 완료한 트랜잭션은 변경한 데이터를 영구히 저장해야 함 Reference https://mangkyu.tist.. 2022. 2. 11.
[알고리즘] B-tree에 대해 알아보자 B-tree B-Tree는 데이터베이스와 파일시스템에서 많이 사용하며, RDB 인덱스에서도 일반적으로 B-Tree , B+-Tree 자료구조를 사용한다. 이진 트리의 자식 노드의 개수가 최대 2개라면, B-Tree는 자식 노드의 개수가 2개 이상인 트리이다. 또한 노드 내의 데이터가 1개 이상일 수 있으며, 노드내 최대 데이터 수가 2개라면 2차 B-Tree, 3개라면 3차 B-Tree 라고 한다. 차수가 홀수인지 짝수인지에 따라 알고리즘이 많이 달라진다. B-tree 성립 조건 노드의 데이터수가 n개라면 자식 노드의 개수는 n+1 개이다. btree조건 : root 노드의 데이터가 3개(1,2,3)니까 자식 노드의 개수는 4개 이다. 노드 내 데이터는 반드시 정렬된 상태여야 한다. 한 노드의 자식노드에.. 2022. 2. 11.
[DB] Index? 목차 LIST Index(인덱스)란? 데이터베이스 분야에서 테이블에 대한 동작의 속도를 높여주는 자료 구조로 테이블의 검색 속도를 향상시켜준다. 전공 책에서 궁금한 내용을 찾을 때 제일 뒤 색인을 사용하는데 데이터베이스의 index가 바로 그런 역할을 한다. 데이터베이스에서 테이블 검색 시 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 인덱스를 사용한다. 특정 컬럼에 인덱스를 생성하면 해당 컬럼의 데이터를 정렬하여 별도의 공간에 데이터의 물리적 주소와 함께 저장된다. 위 이미지를 보면 인덱스를 사용해서 검색 쿼리를 날리면 Index에 먼저 접근하고, 저장되어 있는 데이터의 물리적 주소로 가서 데이터를 가져오는 방식으로 검색 속도를 향상시킨다. 인덱스에서 원하는 데이터를 찾고 -> 저장되어 있는 물리적.. 2022. 2. 11.
반응형