티스토리 뷰
프로그래밍이나 데이터 관련 공부를 하다보면 관련 용어들이 많이 등장하는데 용어들이 서로 비슷하기도 하고 서로간에 어떠한 관계가 있는지 정리할 필요성을 느껴 기록하게 되었다.
용어들이 점차 확장되도록 정리하려고 했다.
데이터란 ?
데이터는 실세계의 가공되지 않는 모든 자료들을 말한다.우리는 실세계에서 가공되지 않은 자료들이 넘쳐나는 시대에 살고 있는데, 그 중에는 우리에게 유의미한 자료들도 있을것이고, 필요하지 않은 무의미한 정보들도 섞여 있을 것이다.
정보란 ?
그 많은 데이터들 중 우리에게 쓸모있고 의미있는 내용으로 추출하고 가공하여 체계적으로 조직한 데이터를 의미한다.
데이터베이스(Database, DB) 란 무엇일까 ?
한마디로 '데이터의 집합'이라고 할 수 있다.
위에서 얘기한 수많은 방대한 데이터들을 정보로 처리하기 이전에 어떻게 체계적으로 관리할 수 있을지에 대한 고민이 데이터베이스의 시발점이다. 이 수많은 데이터들을 어떤 특정한 조직에서 여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록 구조적으로 통합하여 저장한 운영 데이터의 집합이다.
=> 데이터베이스의 의미를 정리하면
데이터베이스는
1) 공유데이터(shared data) 이다.
2) 통합된 데이터(integrated data) 이다.
3) 저장된 데이터(stored data) 이다.
4) 운영 데이터(operational data) 이다.
* DB는 실시간으로 모두가 공유하는 데이터를 내용에 따라 참조하여 변화시킬 수 있어야 한다.
DBMS(Database Management System, 데이터베이스 관리 시스템) 란 ?
데이터베이스를 운영하고 관리하는 소프트웨어를 DBMS라고 한다.
이를 이용하여 데이터베이스에 접근하여 데이터를 조작할 수 있도록 도와준다.
즉, 사용자는 DB에 직접 접근하여 데이터를 다루는 것이 아니라, DBMS의 도움으로 데이터를 다루고 변화시킬 수 있다.
그렇기 때문에 다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 한다.
데이터베이스 시스템(Database System) 이란 ?
데이터베이스 시스템은 데이터를 데이터베이스에 구조화하고 저장하며 관리하는 전체 시스템을 가리킨다.
이는 데이터베이스 관리 시스템(DBMS)과 관련된 소프트웨어뿐만 아니라 데이터베이스를 구성하는 하드웨어, 소프트웨어, 데이터, 사용자 등을 모두 포함한다.
- 데이터베이스 관리 시스템 (DBMS) 의 정의를 다시 짚고 가자.
데이터베이스 관리 시스템(DBMS)은 데이터베이스 시스템의 핵심 구성 요소 중 하나로, 데이터를 구조화하고 저장하며 관리하는 소프트웨어를 가리킨다. 이는 사용자가 데이터베이스에 접근하고 데이터를 검색, 추가, 수정, 삭제하는 등의 작업을 수행할 수 있도록 한다.
DBMS는 데이터베이스의 구조를 정의하고 유지하는 데 사용되며, 데이터의 보안, 무결성, 공유, 백업 및 복원 등을 관리한다. 일반적인 DBMS 종류로는 Oracle, MySQL, SQL Server, PostgreSQL, MongoDB 등이 있다.
- 데이터베이스 시스템과 DBMS 의 차이 ?
요약하면, 데이터베이스 시스템은 데이터를 구조화하고 저장하며 관리하는 전체 시스템을 가리키는 반면, 데이터베이스 관리 시스템(DBMS)은 데이터를 구조화하고 저장하며 관리하는 소프트웨어를 가리킨다. DBMS는 데이터베이스 시스템의 일부분으로서 데이터 관리와 관련된 주요 기능을 담당한다.
데이터 언어
데이터 언어는 사용자 또는 응용 프로그램과 DBMS 간에 의사소통(데이터를 정의하고 조작)을 하기위한 언어이다. 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL) 로 구성되어 있다.
- 데이터 정의 언어 (DDL, Data Definition Language)
DDL은 데이터베이스의 구조를 정의하고 변경하는 데 사용되는 언어이다.
테이블, 인덱스, 뷰와 같은 데이터베이스 객체를 생성(create), 수정(alter), 삭제(drop)하는 데 사용된다.
- 데이터 조작 언어 (DML, Data Manipulation Language)
DML은 데이터베이스에 저장된 데이터를 검색(select), 삽입(insert), 수정(update), 삭제(delete)하는 데 사용되는 언어이다.
DML 명령어는 주로 데이터의 조작과 관련된 작업을 수행한다.
- 데이터 제어 언어 (DCL, Data Control Language)
DCL은 데이터베이스에 대한 접근 권한을 제어(grant, revoke)하는 데 사용되는 언어이다.
DCL 명령어는 데이터베이스 보안과 권한 관리와 관련된 작업을 수행한다.
SQL(Structured Query Language) 란?
구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어이다.
일반적으로 SQL(Structured Query Language)이 가장 널리 사용되는 위에서 언급한 데이터 언어이다.
그럼 전반적인 데이터베이스 관련 개념들의 정의는 알아보았다.
이제 파일시스템 / 스토리지 / 데이터베이스 시스템 과의 관계를 알아보자.
파일 시스템 (File System)
파일 시스템은 운영 체제에서 데이터를 저장하고 조직하는 방법이다. 파일 시스템은 파일과 디렉터리를 관리하고, 파일을 생성, 읽기, 쓰기, 삭제하는 기능을 제공한다.
- 파일과 디렉터리의 생성, 삭제
- 파일의 읽기, 쓰기, 수정
- 파일의 권한 및 접근 제어
종류로는 NTFS, FAT32, ext4 등이 있다.
오브젝트 스토리지(object storage)
오브젝트 스토리지(Object Storage)는 파일 시스템과 다른 형태의 스토리지이다. 오브젝트 스토리지는 데이터를 객체(Object)로 저장하고 관리한다. 객체는 데이터와 메타데이터의 조합으로 구성되며, 파일 시스템의 폴더 구조와는 다릅니다. 오브젝트 스토리지는 클라우드 환경에서 주로 사용되며, 대용량의 데이터를 효율적으로 저장하고 접근하는 데 사용 된다.
스토리지 (Storage)
스토리지는 데이터를 물리적으로 저장하는 하드웨어 장치 또는 솔루션이다. 하드 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 클라우드 스토리지 등으로 구성될 수 있다. (HDD, SSD, NAS, SAN, 클라우드 스토리지 등)
파일시스템과 오브젝트 스토리지, 스토리지의 관계는?
데이터를 파일로 관리하면 파일 시스템을 사용하고, 데이터를 객체로 관리하면 오브젝트 스토리지를 사용한다. 파일 시스템과 오브젝트 스토리지는 둘 다 스토리지의 형태이며, 스토리지는 데이터를 실제로 저장하는 물리적인 장치나 서비스를 가리킨다.
데이터베이스 시스템 (Database System) 의 정의를 다시 한번 내려보자
데이터를 체계적으로 저장, 관리, 검색하는 시스템으로, 파일 시스템과 스토리지 위에 구축된 시스템 이다.
데이터베이스 시스템의 구성요소를 살펴보자면
- 데이터베이스 관리 시스템(DBMS) : 데이터를 관리하고, 쿼리를 처리하고, 트랜잭션을 관리하는 소프트웨어
- 데이터베이스 : 테이블, 열, 행 등 구조화된 데이터가 저장된 논리적 집합
- 메타데이터(시스템 데이터베이스) : 데이터베이스 구조, 제약 조건, 권한 등의 정보를 저장
- 하드웨어 : 데이터베이스를 저장하는 물리적 스토리지와 이를 지원하는 서버 및 네트워크 인프라
들이 모여 데이터베이스 시스템을 이룬다고 볼 수 있다.
시스템 데이터베이스 란 ?
데이터베이스는 시스템 데이터베이스 (데이터 사전, System Database or Data Dictionary) + 저장 데이터베이스 (Stored Database) 로 이루어 진다고 볼 수 있다.
- 시스템 데이터베이스
시스템 데이터베이스는 데이터베이스 시스템의 메타데이터를 저장하는 특수한 데이터베이스이다. 데이터 사전(Data Dictionary) 이라고도 불린다.
- 메타데이터 : 데이터베이스 구조, 스키마, 데이블 정의, 열 정보, 데이터 타입, 인덱스, 제약 조건 등 데이터베이스의 구조와 관련된 정보를 저장한다.
- 관리정보 : 사용자 계정, 권한, 데이터베이스 설정, 트랜잭션 로그 등의 데이터베이스 관리 정보를 포함한다.
- 시스템 관리도구 : 쿼리 최적화, 성능 모니터링, 데이터 무결성 유지 등의 작업에 사용
- 저장 데이터베이스
저장 데이터베이스는 실제 데이터가 저장되는 데이터베이스를 의미한다.
그럼 파일시스템과 스토리지, 데이터베이스 시스템의 관계는 ?
스토리지와 파일 시스템
스토리지는 데이터를 저장하는 물리적 장치이다.
파일 시스템은 이러한 스토리지 장치 위에 구축되어, 데이터를 파일과 디렉터리로 조직하고 관리한다.
파일 시스템은 스토리지에 데이터를 읽고 쓰는 방법을 제공한다.
파일 시스템과 데이터베이스 시스템
파일 시스템은 데이터베이스 시스템의 기초를 형성한다. 데이터베이스 시스템은 파일 시스템을 사용하여 데이터를 물리적으로 저장한다.
데이터베이스 시스템은 파일 시스템 위에 구축되어, 더 높은 수준의 데이터 관리 기능을 제공한다. 파일 시스템은 데이터베이스의 물리적 저장소로 사용되며, DBMS는 이를 통해 데이터를 관리하고 쿼리를 처리한다.
예를 들어, 데이터베이스 시스템에서 테이블에 대한 데이터를 파일 시스템의 파일로 저장한다. DBMS는 이 파일들을 관리하고, 사용자가 SQL 쿼리를 통해 데이터를 접근할 수 있도록 한다.
마지막으로 요약하자면,
스토리지는 데이터를 물리적으로 저장하는 장치이다.
파일 시스템은 스토리지 위에 구축된 소프트웨어 계층으로, 데이터를 파일과 디렉터리로 조직하고 관리한다.
데이터베이스 시스템은 파일 시스템 위에 구축된 소프트웨어 시스템으로, 데이터를 구조화된 방식으로 저장, 관리, 검색하는 기능을 제공한다.
'ALL > Data' 카테고리의 다른 글
PostgreSQL, SparkSQL (0) | 2023.07.21 |
---|
- Total
- Today
- Yesterday
- node
- EC2
- AWS
- spring
- 데이터베이스
- 남궁성
- 인덱스
- 컨테이너
- React
- security
- Node.js
- 스프링
- 시큐리티
- Spark
- 자바의정석
- 친절한SQL튜닝
- 이정환
- 한입크기로 잘라먹는 리액트
- 스프링 빈
- 자바스크립트
- JavaScript
- MySQL
- 데브캠프
- @Configuration
- 객체지향
- di
- 스프링 프로젝트
- 스프링의정석
- 리액트
- 코드로 배우는 스프링 웹 프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |