728x90
반응형

💡 데이터베이스 개요

📍 데이터베이스 : 데이터를 관리하는 곳

📍 DBMS : 데이터베이스 관리 시스템

📍 RDBMS : 관계 데이터베이스 관리 시스템

📍 DB Server : DB(DBMS or RDBMS 같은 의미로 사용됨)가 구축된 시스템을 의미함

📍 RDBMS의 종류

           - Oracle : 오라클, 최적화 OS는 리눅스 다만 모든 OS에 다 안정화되어 있음

           - MySQL : 오라클, 최적화 OS는 리눅스 다만 모든 OS에 다 안정화되어 있음

           - MS-SQL : 마이크로소프트, 최적화 OS는 윈도우, 보안에 취약함

           - MariaDB : 오픈소스기반 DB, 최적화 OS는 리눅스 다만 모든 OS에 다 안정화되어 있음


📂파일시스템 vs DBMS

📍 파일 시스템

  • 파일 시스템은 데이터들이 모아져 있는 파일을 저장 장치에 저장하고 사용하기 위한 일종의 규칙이나 체계를 뜻하며, 파일의 이름을 붙이거나 쉽게 파일에 접근할 수 있도록 배치를 신경 쓰는 등 파일과 관련된 기능을 수행하는 시스템이다.
  • 파일의 기본적인 구성요소는 순차적인 레코드들이다. 여기서 레코드란 파일을 다룰 때 실제로 읽고 쓰는 단위로서 사용되는 데이터 단위를 뜻한다.
  • 파일 시스템에서는 데이터 정의가 응용 프로그램에 내포되어 있어 응용 프로그램과 데이터 간의 의존관계가 존재하게 된다. 그렇기 때문에 데이터의 구조, 접근 방법이 변경되면 기존의 프로그램과 데이터를 함께 변경해야한다.
  • 프로그램에서 데이터를 접근하고 조작하는 것 이외에 별도의 제어가 없다.
파일 시스템 장점 파일 시스템 단점
리속도가 DB에 비해 빠르다 데이터 무결성을 유지하기가 어렵다.
구현이 간편하다 다수 사용자를 위한 동시성 제어가 제공되지 않는다.
비용이 저렴하다. 쉬운 질의어가 제공되지 않는다.
  보안 기능이 미흡하다.
  회복 기능이 없다.
  데이터 독립성이 없어 유지보수 비용이 크다.
  데이터 공유가 잘 되지 않는다. 
  생산성이 낮다

 

📍 DBMS

  • 데이터베이스는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것을 말한다.
  • 데이터베이스 시스템은 데이터의 검색과 변경을 주로 수행한다. 여기서 변경은 삽입, 삭제, 수정 등의 작업을 말한다.
  • 데이터베이스는 각 조직에서 사용하던 데이터를 모아서 통합하고 공유할 목적으로 구축된다.

📍 DBMS 특징

  • 실시간 접근성 (Real Time Processing) : 의사 결정에 즉각 반영
  • 계속적인 변화 (Continuous evolution) : 삽입, 삭제, 갱신등 현재 최신의 상태 유지
  • 동시 공용 (Concurrent Sharing) : 다수의 사용자가 동시에 접근, 이용가능
  • 내용에 의한 참조 (Content reference) : 실제 데이터 값을 참조함 

📍 DBMS 정의

  1. 통합된 데이터 (Intergrated Data)
    여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 말한다. 통합 시 각자 사용하던 데이터의 중복을 최소화하여 데이터의 불일치 현상을 없앤다.
  2. 저장된 데이터 (Stored Data)
    문서로 보관된 데이터가 아니라 디스크, 데이프 같은 컴퓨터 저장장치에 저장된 데이터를 의미한다.
  3. 운영 데이터 (Operational Data)
    조직의 목적을 위해 사용되는 데이터로 업무를 위한 검색을 목적으로 저장된 운영데이터를 의미한다.
  4. 공용 데이터 (Shared Data)
    한사람 또는 한 업무를 위해 사용되는 데이터가 아닌 공동으로 사용하는 데이터를 의미한다.
DBMS 장점 DBMS 단점
자료의 독립성 시스템의 부하 및 복잡성
- 데이터 무결성 보장 별도의 관리 이력 필요
개발 생산성 보장 (표준 SQL, 개발기간 절감, 운영비용 절감)  추가 도입비용 발생

💻클라이언트와 서버

📍 Request와 Response의 관계

📍 서버 

  • 데이터를 포함하거나 네트워크의 다른 컴퓨터에서 액세스하는 기능을 제공하는 컴퓨터
  • 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터이지만, 하드웨어의 사양으로 서버와 클라이언트를 구분하는 것은 절대 아니며, 사양의 관계없이 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라고 한다.

📍 클라이언트 

  • 서버로부터 서비스나 데이터를 요청하는 컴퓨터
  • 서버와 이어진 모든 기기(컴퓨터의 경우 WIFI / 모바일은 모바일 네트워크)와 단말기에서 이용하는 웹에 접근하는 SW이며, 주로 서버에 요청을 보내고 응답을 받는 역할을 한다.
728x90
반응형

+ Recent posts