Table of contents

윈도우 안전모드는 컴퓨터의 기본 설정을 우회하고 최소한의 드라이버와 프로그램만을 로드하여 문제 해결을 위한 모드
진단모드는 윈도우에서 발생한 문제를 해결하기 위해 시스템의 상태를 점검하고 오류를 확인하는 모드
둘 다 윈도우의 문제 해결에 유용하게 사용될 수 있습니다.
⭐️ [시스템 구성] 사용한 안전 모드 부팅
- 안전 모드는 핵심(최소) 드라이버 및 서비스 집합을 사용하여 Windows를 부팅한다.
- 컴퓨터에서 예기치 않은 에러나 문제점이 발생한 경우 안전모드로 부팅하여 문제점을 찾을 수 있다.
- 안전 모드는 네트워크에 연결되지 않아 바이러스나 악성코드 등에 감열될 우려가 없다.
방법 1 : [시작] - [Windows 관리 도구] - [시스템 구성]
방법 2: [시작] - [Windows 시스템] - [실행]에서 열기란에 'msconfig'를 입력하고 [확인] 클릭
방법 3: [Windows 검색 상자]에 '시스템 구성'을 입력한 다음 결과에서 [시스템 구성] 클릭
- [시스템 구성] 대화상자의 [부팅] 탭에서 [부팅 옵션]의 [안전 부팅] 확인란을 클릭, 체크하여 활성화하고 [확인] 클릭
⭐️ 부팅 시작 시 안전모드, 진단모드로 설정
- [안전 모드] 부팅 방법
: 컴퓨터를 재부팅합니다.
부팅 중에 F8 키를 반복해서 누릅니다.
고급 부팅 옵션 화면에서 안전모드를 선택합니다.
- [진단 모드] 부팅 방법
: 컴퓨터를 재부팅합니다.
부팅 중에 F11 키를 반복해서 누릅니다.
진단 화면에서 진단모드를 선택합니다.
⭐️ 안전모드, 진단모드로 부팅 후 어떻게?
- 안전모드에서 에러를 검출하는 과정은 다음과 같습니다.
1. 컴퓨터를 안전모드로 부팅합니다.
2. 안전모드에서 문제가 발생하는지 확인합니다. 문제가 발생하지 않으면, 문제가 발생한 경우와 같은 조건을 만들기 위해 필요한 프로그램이나 드라이버를 추가로 로드해보세요.
3. 문제가 발생한 경우, 윈도우 이벤트 뷰어를 사용하여 로그 파일을 검토합니다. 시작 메뉴에서 "이벤트 뷰어"를 검색하여 찾을 수 있습니다. 이벤트 뷰어는 시스템 로그, 보안 로그, 애플리케이션 로그 등의 로그 파일을 표시합니다.
이러한 로그 파일에서 문제의 원인을 파악할 수 있습니다.
4. 문제의 원인을 파악한 후, 문제를 해결하기 위한 조치를 취하세요.
- 진단모드에서 에러를 검출하는 과정은 다음과 같습니다.
1. 컴퓨터를 진단모드로 부팅합니다.
2. 시작 메뉴에서 "문제 해결"을 검색하여 찾습니다.
3. "하드웨어 및 장치" 또는 "시스템 및 보안"과 같은 윈도우 문제 해결 도구를 실행합니다.
해당 도구에서 제공하는 지시 사항을 따라 시스템의 상태를 점검하고 오류를 확인합니다.
4. 문제의 원인을 파악한 후, 문제를 해결하기 위한 조치를 취하세요.
'운영체제' 카테고리의 다른 글
운영체제 (2) - Windows (0) | 2023.08.09 |
---|---|
운영체제 (1) (0) | 2023.07.05 |
운영체제 (0) (0) | 2023.07.05 |
Table of contents

⭐️ Windows의 특징 및 새로운 기능
- 그래픽 사용자 인터페이스(GUI)
: GUI란 Graphical User Interface의 약자로, 사용자가 컴퓨터와 상호작용하기 위한 그래픽 기반의 인터페이스를 의미함GUI는 마우스, 키보드, 터치스크린 등을 사용하여 사용자가 그래픽 요소를 클릭하거나 드래그하여 작업을 수행할 수 있게 함
GUI는 텍스트 기반의 CLI(Command Line Interface)와 대조적,
CLI는 텍스트 명령어를 입력하여 작업을 수행하는 방식이며, 초기 컴퓨터에서 주로 사용되었습니다.
하지만 GUI는 더욱 직관적이고 시각적으로 보기 좋으며, 사용자가 작업을 더욱 쉽게 수행할 수 있도록 도와줌
GUI는 대부분의 운영체제에서 사용되며, 창, 버튼, 아이콘, 메뉴 등의 그래픽 요소를 포함
또한, 최근에는 터치스크린과 같은 새로운 입력 장치를 지원하며, 모바일 기기에서도 많이 사용
- 선점형 멀티태스킹
선점형 멀티태스킹(Preemptive Multitasking)은 운영체제에서 여러 개의 프로세스를 동시에 실행하는 방식 중 하나
이 방식은 우선순위가 높은 프로세스가 실행 중이더라도, 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있습니다.
선점형 멀티태스킹은 각 프로세스에게 CPU 사용 시간을 할당하고, 이를 시분할하여 실행합니다.
이 때, 우선순위가 높은 프로세스는 더 많은 CPU 사용 시간을 할당받으며, 우선순위가 낮은 프로세스는
더 적은 CPU 사용 시간을 할당받습니다. 이러한 방식으로 모든 프로세스가 동시에 실행되는 것처럼 보이도록 합니다.
선점형 멀티태스킹은 다양한 운영체제에서 사용되며, 우리가 일상적으로 사용하는 컴퓨터나 스마트폰에서도 사용됨
이 방식을 통해 여러 개의 프로그램이 동시에 실행되는 것처럼 보이면서도,
각각의 프로그램이 서로 영향을 미치지 않고 안정적으로 실행될 수 있습니다.
- 플러그 앤 플레이
: 플러그 앤 플레이(Plug and Play)는 컴퓨터 하드웨어나 소프트웨어를 연결하거나 설치할 때, 사용자가 따로 설정이나 드라이버 설치를 하지 않고, 자동으로 인식하여 사용할 수 있도록 하는 기술.
이는 사용자 편의성을 높이고, 시간과 노력을 절약할 수 있도록 도와줌
현재 대부분의 컴퓨터와 주변기기에서 기본으로 지원되고 있음
- 64비트 지원
: 처리 속도 빠름
32비트 프로세서는 x86, 64비트 프로세서는 x64로 표기함
32비트의 최대 메모리는 4GB, 64비트의 최대 메모리는 192GB까지 지원
64비트 버전의 소프트웨어는 32비트 버전에서는 호환되지 않음
- NTFS 지원
: NTFS(New Technology File System), FAT 파일 시스템보다 더 안정적이고 보안성이 높으며, 대용량 파일을 처리할 수 있다. 또한, NTFS는 파일 권한 설정, 파일 복원 및 디스크 공간 할당 등의 기능을 제공
- 핫 스왑(Hot Swap)
: 컴퓨터 전원을 켠 상태에서 컴퓨터 시스템의 장치를 연결하거나 분리할 수 있는 기능
- 점프 목록
: 자주 사용하는 자료(문서, 사진, 웹사이트 등)를 빠르고 간편하게 이용 가능
작업 표시줄 프로그램 단추나 바로 가기 메뉴 등
- 에어로 피크, 에어로 스냅, 에어로 쉐이크
에어로 피크(Aero Peek) :
윈도우 작업 표시줄의 오른쪽 끝에 위치한 작은 직사각형 버튼을 클릭하면, 현재 열려있는 모든 창이 투명해지면서 바탕화면이 보입니다. 버튼을 다시 클릭하면 창이 원래대로 돌아옵니다.
에어로 스냅(Aero Snap) :
윈도우 창을 움직일 때, 창을 화면 가장자리에 가까이 가져가면 창이 자동으로 해당하는 위치에 고정됩니다. 예를 들어, 창을 왼쪽 가장자리에 가져가면 창이 왼쪽 절반만큼 화면을 차지하게 됩니다.
에어로 쉐이크(Aero Shake) :
여러 개의 창이 열려있는 상태에서 한 창의 타이틀바를 클릭하여 드래그한 후 흔들면, 다른 모든 창이 최소화됩니다. 다시 한 번 흔들면 최소화된 창들이 모두 복원됩니다.
'운영체제' 카테고리의 다른 글
운영체제 (3) - Windows 안전모드, 진단모드 (1) | 2023.08.10 |
---|---|
운영체제 (1) (0) | 2023.07.05 |
운영체제 (0) (0) | 2023.07.05 |
Table of contents

⭐️ 클라우드 (Cloud) 란?
클라우드(클라우드 컴퓨팅)란 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 인공지능 등의
컴퓨팅 리소스를 온디맨드(필요에 따라)로 제공하는 기술과 모델을 말합니다.
이는 전통적인 방식으로 컴퓨팅 자원을 보유, 관리, 유지보수하는 방식과는 대조적입니다.
클라우드 컴퓨팅의 핵심 아이디어는 사용자들이 인터넷을 통해 필요한 컴퓨팅 리소스를 언제든지 액세스하고
사용할 수 있도록 하는 것입니다.
이를 통해 사용자들은 자체적으로 서버를 구매하거나 유지보수를 신경쓰지 않고도 필요한 만큼의
컴퓨팅 리소스를 활용할 수 있습니다.
클라우드 컴퓨팅은 일반적으로 다음과 같은 서비스 모델로 제공됩니다.
1. 인프라스트럭처(Infrastructure) 서비스 (IaaS) - Infrastructure as a Service
IaaS는 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 인프라를 제공합니다.
사용자는 이 인프라를 사용하여 가상 머신, 스토리지, 네트워크 등의 리소스를 필요에 따라 사용하고 관리할 수 있습니다. IaaS는 하드웨어 리소스를 물리적으로 구매하거나 유지보수하지 않고도 클라우드 제공 업체가 제공하는 인프라를
사용할 수 있으며, 자원의 유연한 확장과 축소가 가능합니다.
주요 IaaS 서비스 제공 업체 :
Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM Cloud,
Oracle Cloud Infrastructure( OCI) 등
2. 플랫폼(Platform) 서비스 (Paas) - Platform as a Service
PaaS는 개발자들이 애플리케이션을 개발, 실행하고 관리할 수 있는 환경을 제공하는 서비스 모델입니다.
개발자는 PaaS 상에서 필요한 플랫폼과 미들웨어를 사용하여 애플리케이션 코드를 작성하고,
클라우드 서비스 제공 업체가 백엔드 인프라를 자동으로 관리합니다.
PaaS를 사용하면 개발자들은 애플리케이션에만 집중할 수 있고, 인프라에 대한 걱정 없이 개발에 집중할 수 있습니다.
주요 PaaS 서비스 제공 업체 :
Microsoft Azure App Service, Google App Engine, Heroku, IBM Cloud Foundry 등
3. 소프트웨어(Software) 서비스 (SaaS) - Software as a Service
SaaS는 클라우드 기반으로 제공되는 소프트웨어 애플리케이션을 말합니다.
사용자들은 인터넷을 통해 브라우저 등을 통해 해당 소프트웨어를 사용하며, 서비스 제공자가 소프트웨어의
유지보수, 업그레이드, 보안 등을 전적으로 책임집니다.
SaaS는 사용자들에게 편의성과 접근성을 제공하여 소프트웨어 사용을 간편하게 합니다.
주요 SaaS 서비스 제공 업체 :
Google Workspace( 구글 드라이브, 구글 독스 등 ), Microsoft 365(오피스 365), Salesforce, Slack, Dropbox 등
클라우드 컴퓨팅은 자원의 효율성, 유연성, 확장성, 안정성 등을 강화시켜 주요한 이점을 제공합니다.
이를 통해 기업이나 개인은 더 효율적으로 컴퓨팅 환경을 구축하고 운영할 수 있습니다.
또한 클라우드는 인터넷을 통해 액세스되므로 지리적 제약 없이 언제 어디서든 접속할 수 있어 편리성을 높여줍니다.
'네트워크' 카테고리의 다른 글
네트워크 - 백업(Backup) (0) | 2023.07.19 |
---|---|
네트워크 용어 (0) | 2023.07.13 |
네트워크 - 서버를 설치하는 방법 (0) | 2023.07.13 |
네트워크 - 서버 (0) | 2023.07.13 |
네트워크 - URL, URI, URN (0) | 2023.07.13 |
Table of contents

⭐️ 서버 가상화란?
서버 가상화는 하나의 물리적인 서버에 여러 개의 가상 서버를 운영하는 기술을 말합니다. 기존에는 하나의 물리적 서버에
하나의 운영체제(OS)가 설치되어 독립적으로 작동하였지만, 가상화 기술을 이용하면 하나의 물리적 서버 안에서
가상 서버들이 각각 독립적으로 작동할 수 있게 됩니다.
가상화 기술을 사용하면 가상 머신(Virtual Machine, VM)이라고 하는 가상 서버를 만들 수 있습니다.
가상 머신은 하드웨어 리소스를 논리적으로 분리하여 할당받으며, 각 가상 머신은 독립된 운영체제를 가지고 있습니다.
이렇게 하나의 물리적 서버에서 여러 개의 가상 머신을 운영함으로써 물리적 자원의 효율성과 유연성을 높일 수 있습니다.
⭐️ 서버 가상화의 장점
1. 하드웨어 자원의 효율적 활용 : 가상화를 통해 하나의 물리적 서버에 여러 개의 가상 머신을 운영할 수 있기 때문에 물리적 자원을 최대한 활용할 수 있습니다. 이를 통해 비용을 절감하고 자원의 효율성을 높일 수
있습니다.
2. 유연성과 높은 이동성 : 가상 머신은 독립적으로 운영체제와 애플리케이션을 가지고 있어서,
가상 서버를 다른 호스트로 이동시키거나 복제하는 등의 작업이 간편합니다.
이로 인해 서버의 이동과 복제가 용이해지며, 하드웨어 유지보수 작업이 더 편리해집니다.
3. 쉬운 백업과 복구 : 가상화 환경에서는 가상 머신의 상태를 스냅샷으로 쉽게 저장하고 백업할 수 있습니다.
문제가 발생했을 때 해당 스냅샷으로 빠르게 시스템을 복구할 수 있습니다.
4. 테스트와 개발 용이성 : 가상 머신을 사용하면 개발과 테스트 환경을 구축하기가 쉽습니다.
가상 머신을 이용하여 다양한 테스트와 실험을 수행할 수 있으며,
개발자들이 독립적으로 개발 환경을 구축하여 작업할 수 있습니다.
5. 고가용성과 복구 기능 : 여러 개의 물리적 서버에 가상 머신을 분산시켜서 구성하면, 하나의 물리적 서버에 문제가
발생해도 다른 서버로 자동으로 이전하여 시스템의 고가용성과 복구 기능을 보장할 수 있습니다.
6. 확장성 : 비즈니스 요구에 따라 가상 머신을 더 추가하여 시스템을 쉽게 확장할 수 있습니다.
새로운 서버를 물리적으로 구매하는 것보다 비용과 시간 측면에서 훨씬 유리합니다.
7. 다중 운영체제 호스팅 : 가상화를 통해 하나의 물리적 서버에서 다양한 운영체제를 호스팅 할 수 있습니다.
예를 들어, Windows, Linux 등 서로 다른 운영체제를 동시에 실행할 수 있습니다.
⭐️ 서버 가상화의 단점
1. 성능 손실 : 가상화 계층을 통해 물리적 자원을 가상 머신에 할당하므로, 일부 성능 손실이 발생할 수 있습니다.
특히 CPU, 메모리, 디스크 I/O 등의 작업에서 물리적 서버보다 성능이 저하될 수 있습니다.
이러한 성능 저하는 가상화 솔루션의 종류와 설정에 따라 다를 수 있습니다.
2. 리소스 경합 : 여러 개의 가상 머신이 물리적 자원을 공유하므로, 자원 경합이 발생할 수 있습니다.
특정 가상 머신이 과도하게 리소스를 사용할 경우 다른 가상 머신의 성능에 영향을 줄 수 있습니다.
3. 호스트 의존성 : 가상화 환경은 호스트 머신에 의존적입니다.
호스트 머신이 고장이 나면 호스트에 배치된 모든 가상 머신이 영향을 받을 수 있습니다.
4. 관리 복잡성 : 가상 서버들의 독립성과 유연성은 관리의 용이성을 높여줄 수 있지만,
가상 서버의 수가 증가하면 관리의 복잡성이 증가할 수 있습니다.
따라서 적절한 가상화 관리 툴과 정책이 필요합니다.
5. 라이센스 및 비용 : 일부 가상화 솔루션은 상용 라이선스를 필요로 하며, 이로 인해 추가 비용이 발생할 수 있습니다.
또한 가상 머신을 운영하기 위해서는 물리적인 서버 자원 뿐만 아니라 가상 머신을 위한
소프트웨어 라이선스 및 지원 비용도 고려해야 합니다.
6. 하드웨어 호환성 : 모든 하드웨어가 가상화를 지원하지는 않을 수 있으며,
특히 물리적 서버의 특정 하드웨어가 가상 머신에서 문제를 일으킬 수 있습니다.
7. 보안 이슈 : 여러 개의 가상 머신이 동일한 물리적 하드웨어를 공유하게 되므로,
하나의 가상 머신이 침해당할 경우 다른 가상 머신들에 영향을 미칠 수 있습니다.
이를 해결하기 위해서는 적절한 보안 조치가 필요합니다.
⭐️ 서버 가상화 종류
1. 하이퍼바이저 기반 가상화 : 하드웨어 위에 하이퍼바이저를 설치하고, 가상 머신을 생성하여 사용하는 방식입니다.
예시로는 VMware, Hyper-V, KVM 등이 있습니다.
2. 컨테이너 기반 가상화 : 운영체제 레벨에서 가상화를 수행하는 방식으로, 하나의 호스트 운영체제에서
여러개의 컨테이너를 생성하여 사용합니다. 예시로는 Docker, Kubernetes 등이 있습니다.
도커와 쿠버네티스는 최근 많은 기업들이 원하는 기술입니다. 다음 포스팅에 다뤄보려 합니다!
3. OS 가상화 : 하나의 운영체제를 여러개의 가상 운영체제로 분리하여 사용하는 방식입니다.
예시로는 OpenVZ, LXC 등이 있습니다.
Table of contents

⭐️ DBMS (DataBase Management System)란?
DBMS(Database Management System)는 데이터를 관리하기 위한 소프트웨어입니다.
DBMS는 데이터를 저장, 수정, 삭제, 검색하는 등의 작업을 수행할 수 있으며, 다음과 같은 기능을 제공합니다.
데이터 정의 언어(DDL): 데이터베이스의 구조를 정의하는 언어입니다.
테이블, 뷰, 인덱스 등을 생성하고 삭제하는 등의 작업을 수행합니다.
데이터 조작 언어(DML): 데이터베이스에 저장된 데이터를 조회, 삽입, 수정, 삭제하는 등의 작업을 수행하는 언어입니다.
데이터 제어 언어(DCL): 데이터베이스의 보안과 권한을 관리하는 언어입니다.
사용자의 권한을 설정하거나 데이터베이스에 접근하는 권한을 부여하는 등의 작업을 수행합니다.
DBMS는 관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)로 나뉩니다.
RDBMS는 테이블 형태로 데이터를 저장하며, SQL(Structured Query Language)을 사용하여 데이터를 처리합니다.
대표적인 RDBMS로는 Oracle, MySQL, PostgreSQL 등이 있습니다.
반면에 NoSQL은 다양한 데이터 모델을 사용하며, SQL이 아닌 다른 쿼리 언어를 사용합니다.
대표적인 NoSQL로는 MongoDB, Cassandra, Redis 등이 있습니다.
DBMS는 대규모 데이터 처리와 분석에 필수적인 기술입니다.
DBMS를 사용하면 데이터를 효율적으로 관리할 수 있으며, 다양한 분석과 의사 결정에 활용할 수 있습니다.
⭐️ DAC(Database Access Control)
DAC는 데이터베이스 액세스 제어(Database Access Control)의 약어입니다.
데이터베이스에 저장된 데이터에 대한 액세스를 제어하는 기술이나 메커니즘을 의미합니다.
DAC는 데이터베이스 시스템에서 데이터의 보안과 개인정보 보호를 위해 사용됩니다.
DAC는 주로 데이터베이스 사용자나 애플리케이션에게 데이터베이스에 접근할 권한을 부여하고, 어떤 유형의 작업(읽기, 쓰기, 수정, 삭제 등)을 수행할 수 있는지 제어하는 데 사용됩니다. 이를 통해 데이터베이스 소유자는 데이터의 보안을 강화하고, 민감한 정보에 대한 무단 액세스를 방지할 수 있습니다.
DAC는 주로 사용자 기반 액세스 제어(User-bases Access Control)와 개체 기반 액세스 제어(Object-based Access Control)의 두가지 접근 방식으로 구현될 수 있습니다.
사용자 기반 액세스 제어는 데이터베이스 사용자에게 직접 권한을 부여하고 제어하는 방식이며,
개체 기반 액세스 제어는 데이터베이스 내의 개별 데이터 개체에 대한 액세스 권한을 정의하고 제어하는 방식입니다.
DAC는 데이터베이스 시스템의 중요한 보안 요소이며, 데이터의 기밀성, 무결성, 가용성을 보장하기 위해
적절한 액세스 제어 메커니즘을 구현해야 합니다.
🌙 정리
1. 권한이 있는 사용자만 접근해서 정해진 규칙하에 작업할 수 있게 통제하는 역할
2. 사고발생 시 어떤 일들이 있었는지 조사할 수 있는 감사기능 제공
'데이터베이스' 카테고리의 다른 글
데이터베이스 기초 (0) (0) | 2023.07.19 |
---|
Table of contents

⭐️ 데이터베이스의 용어와 기술
- OLTP ( Online Transaction Processing ) : 온라인 트랜잭션 처리
OLTP 시스템은 일반적으로 매우 빠른 응답 시간과 대규모 데이터베이스의 동시 접근을 지원하는데 사용됩니다.
OLTP 데이터베이스는 보통 매우 정형화된 데이터를 다루며, 데이터베이스 스키마는 테이블, 컬럼, 제약 조건 등으로
구성됩니다.
OLTP 시스템은 주로 온라인 판매, 은행 거래, 항공 예약 등과 같은 일상적인 업무 프로세스를 처리하는 데 사용됩니다.
OLTP 시스템은 데이터의 정확성과 일관성을 유지하기 위해 트랜잭션을 사용하며,
ACID(원자성, 일관성, 고립성, 지속성) 원칙을 준수합니다.
이러한 특징 때문에 OLTP 시스템은 데이터의 실시간 처리와 동시 접근이 필요한 다양한 업무 분야에서 사용됩니다.
- DW ( Data Warehouse ) : 거대한 데이터 저장소
데이터 웨어하우스는 기업이나 조직에서 생성된 대량의 데이터를 수집, 통합, 저장, 관리하고,
이를 분석하여 의사 결정에 활용하는 데이터베이스입니다.
DW는 여러 시스템에서 추출한 데이터를 통합하여 중복을 제거하고 일관성을 유지하며, 분석에 필요한 형태로 변환합니다.
이렇게 변환된 데이터는 다양한 BI(Business Intelligence) 도구를 사용하여 분석, 시각화하고 의사 결정에 활용됩니다.
DW는 주로 기업 내부에서 사용되며, 매출, 재고, 인사 등의 업무 분야에서 사용됩니다.
DW는 데이터의 정합성과 일관성을 유지하면서 대량의 데이터를 처리하기 때문에,
OLAP(Online Analytical Processing)과 같은 분석 기능을 지원합니다.
- Data Mart
데이터 웨어하우스(Data Warehouse)의 일종으로, 기업이나 조직에서 특정 업무 분야에
'대한 데이터를 수집, 저장, 관리하고 분석하는 데이터베이스입니다.
Data Mart는 데이터 웨어하우스와 유사하지만, 보다 작은 규모의 데이터베이스입니다.
Data Mart는 특정 업무 분야에 대한 데이터만을 수집, 저장하고, 이를 분석하여 의사 결정에 활용합니다.
이러한 특징 때문에 Data Mart는 특정 부서나 그룹에서 사용되는 경우가 많습니다.
Data Mart는 주로 OLAP(Online Analytical Processing)과 같은 분석 기능을 지원하며, BI(Business Intelligence) 도구를 사용하여 데이터를 시각화하고 분석합니다.
Data Mart는 대규모의 데이터 웨어하우스보다 구축 및 운영이 쉽고 빠르며, 비교적 적은 비용으로
구축할 수 있다는 장점이 있습니다.
- OLAP (Online Analytical Processing)
대규모 데이터를 다차원적으로 분석하고 조회하는 기술입니다.
OLAP은 데이터 웨어하우스(Data Warehouse)나 데이터 마트(Data Mart)와 같은 데이터베이스에서
데이터를 추출하여 다차원적으로 분석하고 시각화할 수 있습니다.
OLAP은 다차원 데이터베이스 모델을 사용하여 데이터를 저장하고, 다차원 데이터 큐브를 생성하여
이를 분석합니다.
다차원 데이터 큐브는 여러 차원의 데이터를 포함하며, 예를 들어 시간, 지역, 제품, 고객 등의 차원을 포함할 수 있습니다.
OLAP은 다양한 분석 기능을 제공하며, 예를 들어 피봇 테이블(Pivot Table), 드릴 다운(Drill Down),
슬라이스-앤-다이스(Slice-and-Dice) 등의 기능을 지원합니다.
이러한 기능을 통해 사용자는 다양한 관점에서 데이터를 분석하고 시각화할 수 있습니다.
OLAP은 데이터 마이닝(Data Mining), 예측 분석(Predictive Analysis), 비즈니스 인텔리전스(Business Intelligence) 등의 분야에서 활용되며, 데이터 분석과 의사 결정에 매우 유용합니다.
- SQL (Structured Query Language) - 데이터베이스를 위한 프로그래밍 언어
관계형 데이터베이스 관리 시스템(RDBMS)에서 사용되는 데이터베이스 질의 언어입니다.
SQL은 데이터베이스에서 데이터를 검색, 삽입, 수정, 삭제하는 등의 작업을 수행할 수 있습니다.
SQL은 ANSI(미국 국립 표준 협회)와 ISO(국제 표준화 기구)에서 표준화되어 있으며, 대부분의 RDBMS에서 지원됩니다. SQL은 명령어가 짧고 직관적이며, 다양한 데이터베이스에서 사용할 수 있기 때문에 매우 널리 사용됩니다.
🌙 SQL은 크게 다섯 가지 유형으로 분류할 수 있습니다.
DDL(Data Definition Language):
데이터베이스 스키마를 정의하고 관리하는 데 사용됩니다.
CREATE, ALTER, DROP 등의 문을 사용하여 테이블, 인덱스, 제약 조건 등을 생성, 수정, 삭제할 수 있습니다.
DML(Data Manipulation Language):
데이터를 삽입, 수정, 삭제하는 데 사용됩니다.
INSERT, UPDATE, DELETE 등의 문을 사용하여 데이터를 조작할 수 있습니다.
DQL(Data Query Language):
데이터를 조회하는 데 사용됩니다.
SELECT 문을 사용하여 데이터를 검색하고, WHERE 절을 사용하여 조건을 지정할 수 있습니다.
DCL(Data Control Language):
데이터베이스에 대한 권한을 관리하는 데 사용됩니다.
GRANT, REVOKE 등의 문을 사용하여 데이터베이스 사용자에게 권한을 부여하거나 취소할 수 있습니다.
TCL(Transaction Control Language):
트랜잭션을 관리하는 데 사용됩니다.
COMMIT, ROLLBACK 등의 문을 사용하여 트랜잭션을 완료하거나 취소할 수 있습니다.
각각의 SQL 유형은 데이터베이스를 다루는 데 필요한 다양한 기능을 제공합니다. 이들을 조합하여 복잡한 데이터베이스 작업을 수행할 수 있습니다.
- NoSQL
🌙 NoSQL이란?
관계형 데이터베이스가 아닌 다양한 형태의 데이터를 저장하고 처리하는 데이터베이스를 의미합니다.
NoSQL 데이터베이스는 기존의 RDBMS와는 다른 구조와 특징을 가지고 있습니다.
NoSQL은 대용량 분산 데이터 처리, 고속 처리, 비정형 데이터 처리 등의 요구사항에 적합합니다.
NoSQL은 다양한 데이터 모델을 지원하며, 예를 들어 key-value, document, graph, column-family 등의
모델을 사용할 수 있습니다.
NoSQL 데이터베이스는 수평적인 확장이 가능하며, 여러 대의 서버에 데이터를 분산하여 저장하고
처리할 수 있습니다. 이러한 구조는 대규모 데이터 처리에 적합하며, 높은 성능과 가용성을 제공합니다.
NoSQL 데이터베이스는 ACID(원자성, 일관성, 격리성, 지속성) 특성을 보장하지 않는 경우가 많습니다.
대신 BASE(Basically Available, Soft State, Eventually Consistent) 모델을 따르며,
일관성보다 가용성과 분할 용이성을 중시합니다.
NoSQL 데이터베이스는 대규모 분산 시스템에서 사용되며,
예를 들어 소셜 미디어, 온라인 게임, 로그 분석 등의 분야에서 활용됩니다.
🌙 NoSQL의 등장 배경
기존의 RDBMS는 대부분 ACID 특성을 보장하며, 정형화된 데이터를 처리하는 데 적합합니다.
하지만 대규모 분산 시스템에서는 수평적인 확장과 높은 가용성이 요구되며, 이러한 요구사항을 만족시키기 위해서는
새로운 데이터베이스 모델과 구조가 필요했습니다.
둘째, 대규모 데이터 처리와 분석에 적합한 기술들이 등장하면서 NoSQL 데이터베이스의 필요성이 대두되었습니다.
예를 들어 Hadoop과 같은 분산 데이터 처리 프레임워크와 같은 기술들이 등장하면서, 대규모 데이터 처리와 분석이 가능해졌습니다.
셋째, 비정형 데이터의 증가와 함께 관계형 데이터베이스의 한계가 드러나면서 NoSQL 데이터베이스가 등장하게 되었습니다.
예를 들어 소셜 미디어, 로그 데이터, 센서 데이터 등은 비정형 데이터이며, 이러한 데이터를 관계형 데이터베이스에 저장하고 처리하는 것은 어렵습니다.
데이터의 증가 > 데이터 트랜잭션 증가 > 데이터 트래픽 증가로 데이터의 처리비용이 당연하게 증가하는 문제와
더 많은 데이터를 처리하기 위해서 추가적인 데이터베이스를 늘려야 하기 때문에 하드웨어적인 비용의 문제 등의 한계를
극복하고자 새로운 데이터 저장 기술이 필요했습니다.
🌙 NoSQL의 종류
NoSQL 데이터베이스는 다양한 종류가 있으며, 주요한 종류는 다음과 같습니다.
Key-Value Store: 키와 값으로 이루어진 데이터를 저장하는 데이터베이스입니다.
키를 이용하여 값을 검색하므로, 매우 빠른 검색 속도를 가지고 있습니다.
대표적인 예로는 Redis, Riak, DynamoDB 등이 있습니다.
Document Store: JSON, XML과 같은 문서 형태의 데이터를 저장하는 데이터베이스입니다.
문서 내부에 필드와 값으로 이루어진 데이터를 저장하며, 복잡한 구조의 문서도 저장할 수 있습니다.
대표적인 예로는 MongoDB, Couchbase 등이 있습니다.
Column-Family Store: 컬럼 패밀리 단위로 데이터를 저장하는 데이터베이스입니다.
여러 개의 컬럼 패밀리를 가지고 있으며, 각 컬럼 패밀리는 여러 개의 컬럼으로 이루어져 있습니다.
대표적인 예로는 HBase, Cassandra 등이 있습니다.
Graph Database: 노드와 엣지로 이루어진 그래프 형태의 데이터를 저장하는 데이터베이스입니다.
그래프 형태의 데이터를 저장하므로, 복잡한 관계를 효율적으로 처리할 수 있습니다.
대표적인 예로는 Neo4j, OrientDB 등이 있습니다.
NoSQL 데이터베이스는 각각의 종류마다 특징과 장단점이 있으며, 적절한 종류를 선택하여 사용해야 합니다.
또한 NoSQL 데이터베이스는 ACID 특성을 보장하지 않는 경우가 많으므로,
데이터 일관성과 가용성을 적절히 균형있게 유지해야 합니다.
🌙 NoSQL vs RDBMS
각 언어의 장점이 있고, NoSQL이 RDBMS의 한계를 극복하고자 나왔다고 하지만 오랜 기간 사용해온 RDBMS 또한
익숙하기에 NoSQL이 RDBMS를 완벽히 대체하기는 어려움이 있을 것으로 예상합니다.
그러나 많은 사용자들을 위한 서비스이며, 한번 생성되어 저장하면 수정할 일이 없는 데이터, 불변 데이터들을 다루는 기업
중 많은 기업이 NoSQL을 사용하고 있다. 앞으로의 점유율도 궁금해지고, 추후에 NoSQL을 학습하는 것도 좋을 것 같다.
'데이터베이스' 카테고리의 다른 글
데이터베이스 기초 (1) - DBMS, DAC (0) | 2023.07.19 |
---|
Table of contents

⭐️ 백업(Backup)이란 무엇인가요?
백업은 데이터나 파일 등을 복사하여 다른 저장소에 보관해 두는 것을 말합니다.
이를 통해 데이터 손실이나 장애 발생 시에도 원래의 데이터를 복원할 수 있습니다.
🌙 백업의 종류는 어떤 것이 있나요?
주요 백업 종류는 다음과 같습니다.
* 전체 백업(Full Backup):
모든 데이터를 한 번에 백업하는 방식입니다.
데이터가 늘어남으로 시간은 점점 오래 걸리고, 스토리지도 부족하게 되기 때문에 나타난 것이
증분 백업입니다.
* 증분 백업(Incremental Backup):
전체 백업 이후 변경된 데이터만 백업하는 방식입니다.
오늘 전체 데이터의 양인 1TB를 백업 했다면, 다음 날 전체 데이터의 양이 1.3TB라면 나머지 0.3TB를 백업하는 방식입니다.
* 차등 백업(Differential Backup):
전체 백업 이후 변경된 데이터만 백업하는 것이 아니라, 해당 기간 동안 변경된 전체 데이터를 백업하는 방식입니다.
* 미러 백업(Mirror Backup):
원본과 동일한 복제본을 만드는 방식으로, 동일한 용량의 저장소가 필요합니다.
🌙 백업을 하는 이유는 무엇인가요?
백업은 데이터 손실, 장애, 해킹 등으로 인한 데이터 유실 가능성을 줄이기 위해 중요합니다.
또한, 데이터 복원을 통해 업무 중단 시간을 최소화하고 비즈니스 연속성을 유지할 수 있습니다.
또 예를 들어, 노트북에 보관하고 있는 데이터가 있습니다.
실수로 노트북을 떨어트려 고장이 나 데이터들이 손실되는 상황에도 백업을 진행했더라면 손실을 막을 수 있습니다.
🌙 백업을 어떻게 하면 좋은가요?
백업을 할 때에는 다음과 같은 사항을 고려해야 합니다.
어떤 종류의 백업을 사용할 것인가?
어떤 주기로 백업을 할 것인가?
어떤 저장소를 사용할 것인가?
어떤 보안 수준이 필요한가?
🌙 백업을 자동화하는 방법은 무엇인가요?
백업을 자동화하기 위해서는 스케줄링 기능이 있는 백업 소프트웨어나 클라우드 서비스를 사용하는 것이 좋습니다.
이를 통해 정기적으로 자동으로 백업을 수행할 수 있으며, 일일이 수동으로 백업하는 것보다 효율적입니다.
🌙 클라우드 백업
클라우드 백업은 인터넷을 통해 데이터를 저장하는 백업 방식입니다.
클라우드 백업 서비스 제공 업체가 제공하는 클라우드 저장소에 데이터를 업로드하면, 해당 업체는 데이터를
안전하게 보관합니다. 이를 통해 데이터 손실이나 장애로부터 데이터를 보호할 수 있습니다.
클라우드 백업은 사용자가 저장장치를 구매하거나 유지보수하는 것과 같은 추가 비용이 들지 않으며,
데이터를 안전하게 보관할 수 있어 매우 편리합니다. 또한, 인터넷에 연결된 기기에서 언제 어디서든
데이터에 접근할 수 있어 유연성이 높습니다.
'네트워크' 카테고리의 다른 글
클라우드(Cloud) (0) | 2023.07.27 |
---|---|
네트워크 용어 (0) | 2023.07.13 |
네트워크 - 서버를 설치하는 방법 (0) | 2023.07.13 |
네트워크 - 서버 (0) | 2023.07.13 |
네트워크 - URL, URI, URN (0) | 2023.07.13 |
Table of contents

LAN(Local Area Network):
LAN은 지리적으로 제한된 작은 지역 내에서 사용되는 네트워크입니다. 일반적으로 가정, 학교, 사무실 등에서 사용됩니다.
WAN(Wide Area Network:
WAN은 지리적으로 넓은 지역을 연결하는 네트워크입니다. 인터넷이 가장 대표적인 예입니다.
쉽게 설명하자면 LAN + LAN + LAN ... + LAN으로 볼 수 있다.
Router(라우터):
라우터(Router)는 두 개 이상의 네트워크를 연결하는 장치입니다. 라우터는 패킷을 전달하고 경로를 선택하는 역할을 합니다. 라우터는 인터넷에서 데이터를 전송할 때, 출발지와 목적지 IP 주소를 확인하여 최적의 경로를 선택합니다. 이를 라우팅(Routing)이라고 합니다.
라우터는 네트워크의 경계에 위치하여, 외부 네트워크와 내부 네트워크를 연결합니다. 예를 들어, 가정에서 인터넷을 사용하기 위해서는 인터넷 서비스 제공자(ISP)와 가정 내부 네트워크를 연결해야 합니다. 이때, 라우터를 사용하여 ISP와 가정 내부 네트워크를 연결할 수 있습니다.
라우터는 패킷을 전달할 때, 패킷의 목적지 주소를 확인하여 다음 경유지를 결정합니다. 라우터는 경로를 선택할 때, 다양한 요소들을 고려합니다. 예를 들어, 경로의 대역폭, 지연 시간, 비용 등을 고려하여 최적의 경로를 선택합니다.
라우터는 네트워크 보안에도 중요한 역할을 합니다. 라우터는 외부에서 내부로의 접근을 제어하고, 내부에서 외부로의 데이터 전송을 제한함으로써, 네트워크 보안을 유지합니다.
Switch(스위치):
스위치(Switch)는 네트워크의 여러 대의 컴퓨터를 연결하는 장치입니다. 스위치는 컴퓨터 간의 데이터 전송을 관리하고, 데이터 충돌을 방지합니다. 스위치는 패킷을 받아서 목적지 컴퓨터에게 전달하는 역할을 합니다.
스위치는 네트워크 상에서 데이터 전송을 위해 MAC 주소를 사용합니다. MAC 주소는 네트워크 어댑터(Network Adapter)에 할당된 고유한 식별자입니다. 스위치는 패킷의 목적지 MAC 주소를 확인하여, 해당 MAC 주소를 가진 컴퓨터에게 패킷을 전달합니다.
스위치는 네트워크 상에서 데이터 전송을 빠르게 처리할 수 있습니다. 스위치는 각 포트마다 별도의 대역폭을 할당하여, 여러 대의 컴퓨터 간에 동시에 데이터를 전송할 수 있습니다. 스위치는 또한 데이터 충돌을 방지하기 위해, 각 포트마다 별도의 캐시 메모리를 사용하여, 패킷을 저장하고 처리합니다.
스위치는 네트워크 보안에도 중요한 역할을 합니다. 스위치는 각 포트마다 VLAN(Virtual LAN)을 설정하여, 네트워크 상의 데이터 전송을 분리할 수 있습니다. VLAN은 하나의 물리적인 네트워크를 여러 개의 논리적인 네트워크로 분할하는 기술입니다. 이를 통해, 네트워크 보안을 강화할 수 있습니다.
OSI 7계층을 공부할 때 보면 L4 스위치, L7 스위치 등이 있지만 다음에 다뤄보도록 하겠습니다.
IP Address(아이피 주소):
IP 주소는 인터넷 상에서 컴퓨터를 식별하기 위한 고유한 주소입니다. IP 주소는 32비트 또는 128비트로 구성됩니다.
DNS(Domain Name System):
DNS는 IP 주소와 도메인 이름을 매핑하는 시스템입니다. DNS를 사용하면 도메인 이름을 입력하여 웹 사이트에 접속할 수 있습니다.
Firewall(방화벽): 애플리케이션 방화벽 , 프록시 방화벽 등 종류가 많다. 다음에 다뤄보겠습니다.
방화벽은 네트워크 보안을 유지하기 위한 장치입니다. 방화벽은 외부에서 내부로의 접근을 제어하고, 내부에서 외부로의 데이터 전송을 제한합니다.
VPN(Virtual Private Network): 가상사설망, ISP 같은 제 3자에 정보를 넘기지 않고 익명성을 유지 하여 인터넷에 접속한다.
VPN은 인터넷을 통해 안전하게 데이터를 전송하기 위한 기술입니다.
VPN을 사용하면 인터넷 상에서 안전한 터널을 만들어 데이터를 전송할 수 있습니다.
Bandwidth(대역폭):
대역폭은 네트워크에서 전송할 수 있는 데이터 양의 크기를 의미합니다.
대역폭이 높을수록 데이터 전송 속도가 빨라집니다.
Protocol(프로토콜):
프로토콜은 네트워크 통신에 사용되는 규칙과 규격을 의미합니다.
대표적인 프로토콜로 TCP/IP, HTTP, FTP 등이 있습니다.
브로드캐스트(Broadcast): 1 : all 통신 , 라디오 방송 생각하면 됨
브로드캐스트는 네트워크 상의 모든 호스트에게 데이터를 전송하는 방식입니다. 브로드캐스트는 네트워크 상의 모든 호스트가 데이터를 수신하기 때문에, 대역폭을 많이 사용하며, 보안성이 낮습니다.
유니캐스트(Unicast): 1:1 통신, 카카오톡, 기타 메신저 등 1 : 1 채팅 등을 생각하면 됨.
유니캐스트는 네트워크 상에서 특정한 호스트에게 데이터를 전송하는 방식입니다. 유니캐스트는 브로드캐스트와 달리, 특정한 호스트만 데이터를 수신하기 때문에, 대역폭을 적게 사용하며, 보안성이 높습니다.
멀티캐스트(Multicast): 1:N 통신, 단톡방을 생각하면 됨.
멀티캐스트는 네트워크 상에서 특정한 그룹의 호스트들에게 데이터를 전송하는 방식입니다.
멀티캐스트는 브로드캐스트와 달리, 특정한 그룹의 호스트들만 데이터를 수신하기 때문에,
대역폭을 적게 사용하며, 보안성이 높습니다. 멀티캐스트는 IPTV나 온라인 게임 등에서 많이 사용됩니다.
애니캐스트(Anycast):
1:1 통신으로 유니캐스트와 비슷하지만 여러 대의 서버 중에서 가장 가까운 서버에 데이터를 전송하는 방식입니다.
애니캐스트는 서버의 가용성과 성능을 향상시키기 위해 사용됩니다.
💫 앞으로 다루거나 알아둘만한 용어들을 몇 개정도 정리해봤습니다.
'네트워크' 카테고리의 다른 글
클라우드(Cloud) (0) | 2023.07.27 |
---|---|
네트워크 - 백업(Backup) (0) | 2023.07.19 |
네트워크 - 서버를 설치하는 방법 (0) | 2023.07.13 |
네트워크 - 서버 (0) | 2023.07.13 |
네트워크 - URL, URI, URN (0) | 2023.07.13 |