간단한 IT 개념 정리 ( 쓰레드 풀, DB 등등)

찬민·2024년 7월 31일

TIL

목록 보기
26/62

1. 쓰레드 풀

쓰레드 풀이란, 미리 생성된 쓰레드의 집합으로, 필요할 때마다 작업을 할당하여 실행할 수 있도록 준비된 쓰레드 관리 메커니즘이다. 쓰레드 풀은 다중 스레딩 작업을 효율적으로 관리하고 시스템 자원을 절약하기 위해 사용된다.

  • 장점:
    • 자원 관리 효율성: 쓰레드를 미리 생성해 두기 때문에 쓰레드를 생성하고 종료하는 데 드는 비용을 줄일 수 있다.
    • 응답 시간 향상: 미리 준비된 쓰레드를 사용함으로써 작업 요청에 대한 응답 시간을 줄일 수 있다.
    • 자원 경합 감소: 동시 실행 가능한 쓰레드 수를 제한함으로써 시스템 자원의 경합을 줄이고 안정성을 높일 수 있다.
  • 단점:
    • 복잡성 증가: 쓰레드 풀을 구현하고 관리하는 것이 복잡할 수 있다.
    • 고정된 쓰레드 수: 풀의 크기가 고정되어 있는 경우, 예상치 못한 작업 부하에 대해 유연하게 대응하기 어렵다.

2. 동시성과 병렬성

  • 동시성 (Concurrency): 동시성은 여러 작업을 동시에 처리하는 개념으로, 실제로 동시에 실행되지 않더라도 여러 작업이 번갈아 가며 실행되는 것을 포함한다. 이는 하나의 CPU에서 여러 작업이 시간 분할을 통해 수행되는 방식으로 이루어질 수 있다. 동시성은 주로 입출력 대기 시간을 줄이고 응답성을 높이기 위해 사용된다.
  • 병렬성 (Parallelism): 병렬성은 여러 작업이 실제로 동시에 실행되는 개념이다. 이는 다수의 CPU 코어를 활용하여 여러 작업을 동시에 수행하는 방식이다. 병렬성은 작업의 처리 시간을 단축하고 성능을 극대화하기 위해 사용된다. 예를 들어, 멀티코어 프로세서에서 여러 작업을 동시에 처리하는 것이 병렬성의 예이다.

3. 데이터베이스(DB)

  • 데이터베이스(DB)는 데이터를 체계적으로 저장하고 관리하는 시스템이다. 데이터베이스는 데이터의 효율적인 저장, 검색, 수정, 삭제를 가능하게 하며, 데이터 무결성을 보장한다.

    DBMS (데이터베이스 관리 시스템)

    DBMS는 데이터를 효율적으로 관리하고, 사용자가 데이터에 접근할 수 있도록 도와주는 소프트웨어다. 데이터베이스의 생성, 수정, 삭제, 검색 등의 기능을 제공하여 데이터 관리를 용이하게 한다.

    RDBMS (관계형 데이터베이스 관리 시스템)

    RDBMS는 데이터를 관계형 모델로 관리하는 DBMS이다. 테이블 간의 관계를 이용하여 데이터를 관리하며, 복잡한 쿼리를 통해 다양한 데이터를 연관 지어 처리할 수 있다.

4. 데이터베이스(DB)

  • SQL 데이터베이스:
    • 구조적 데이터베이스로, 관계형 모델을 사용하여 데이터를 테이블 형식으로 저장한다.
    • SQL (Structured Query Language)을 사용하여 데이터를 정의하고 조작한다.
    • ACID 특성(Atomicity, Consistency, Isolation, Durability)을 제공하여 데이터 무결성과 일관성을 보장한다.
    • 예: MySQL, PostgreSQL, Oracle.
  • NoSQL 데이터베이스:
    • 비구조적 데이터베이스로, 다양한 데이터 모델을 사용하여 데이터를 저장한다. 문서, 키-값, 그래프, 컬럼 패밀리 등의 형태가 있다.
    • 데이터의 유연한 스키마와 확장성을 제공하며, 대규모 데이터와 빠른 처리 속도를 필요로 하는 응용 프로그램에 적합하다.
    • BASE 특성(Basically Available, Soft state, Eventually consistent)을 제공하여 높은 가용성을 보장한다.
    • 예: MongoDB, Cassandra, Redis.

5. 이진수, 비트, 바이트의 개념

  • 이진수 (Binary Number): 0과 1로 이루어진 숫자 체계로, 디지털 컴퓨팅의 기본이다. 이진수는 컴퓨터 내부에서 데이터를 표현하고 처리하는 데 사용된다.
  • 비트 (Bit): 이진수의 한 자리를 의미하며, 데이터의 가장 작은 단위이다. 비트는 0 또는 1의 값을 가질 수 있다.
  • 바이트 (Byte): 8비트의 집합으로, 컴퓨터 메모리에서 데이터의 기본 단위로 사용된다. 바이트는 일반적으로 한 문자를 표현할 수 있는 크기이며, 데이터 저장과 처리의 기본 단위로 사용된다.

이진수, 비트, 바이트는 컴퓨터의 데이터 표현과 연산의 기본적인 단위이며, 디지털 시스템의 핵심 개념이다.

0개의 댓글