목차
데이터베이스
데이터베이스 설명
- 데이터베이스(DB: DataBase)는 특정 조직의 여러 사용자가 "공유"하여 사용할 수 있도록 "통합"해서 "저장"한 "운영"데이터의 집합이라고 정의합니다.
- 공유 데이터(shared data)
- 데이터베이스는 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있어야 하는 공용 데이터
- 통합 데이터(integrated data)
- 데이터베이스는 데이터의 중복을 최소화하고 통제가 가능한 중복만 허용하는 통합 데이터
- 저장 데이터(stored data)
- 데이터베이스의 데이터는 주로 컴퓨터가 처리하므로, 컴퓨터가 접근할 수 있는 매체에 데이터베이스를 저장
- 운영 데이터(operational data)
- 데이터베이스는 조직을 운영하고 조직의 주요 기능을 수행하기 위해 꼭 필요한 것이므로 지속적으로 유지해야 하는 데이터
- 공유 데이터(shared data)
- 데이터베이스의 주요 특징
- 실시간 접근성(real-time accessibility)
- 데이터베이스는 사용자의 데이터 요구에 짧은 시간안에 실시간으로 응답할 수 있어야 합니다.
- 계속 변화(continuous evolution)
- 데이터베이스는 현실 세계의 상태를 정확히 반영해야하므로 데이터를 계속 삽입(insert), 삭제(delete), 수정(update)하여 현재의 정확한 데이터를 유지해야 합니다.
- 동시 공유(concurrent sharing)
- 데이터베이스는 여러 사용자가 동시에 이용할 수 있는 동시 공유의 특징을 제공해야 합니다.
- 같은 데이터를 동시에 사용할 수 있도록 하기 위해서는 까다로운 처리가 필요합니다.
- 내용 기반 참조(content reference)
- 데이터베이스는 저장된 주소나 위치가 아닌 데이터의 내용(content), 즉 값(value)으로 참조할 수 있습니다.
- "재고량이 100개 이상인 제품의 이름을 검색하시오"처럼 찾고자 하는 데이터의 내용 조건만 제시하면 조건에 맞는 데이터가 서로 다른 위치에 저장되어 있어도 모두 검색할 수 있습니다.
- 실시간 접근성(real-time accessibility)
데이터베이스 종류
- 관계형 데이터베이스(Relational Database)
- 테이블 형태로 데이터를 저장하는 데이터베이스. 테이블은 열(column)과 행(row)으로 구성되며, SQL을 사용하여 데이터를 관리합니다.
- 비관계형 데이터베이스(Non-relational Database, NoSQL Database)
- 관계형 모델을 사용하지 않고 데이터를 저장하는 데이터베이스. 여기에는 문서 기반(Document-based Database), 키-값(Key-Value Database), 그래프(Graph Database), 열 기반(Column-family Database) 데이터베이스 등이 포함됩니다.
- 관계형 데이터베이스 와 비관계형데이터베이스(NoSQL) 비교
- 일반적으로는 Relational Database(관계형 데이터베이스) / Document Database 중에 하나 골라서 사용합니다.
- 정확도와 일관성이 중요하면 Relational Database가 일반적
- 입출력이 매우 많으면 Document Database가 일반적
데이터베이스 관리 시스템(DBMS : DataBase Management System)
데이터베이스 관리 시스템 설명
- 데이터베이스 관리 시스템 정의
- 데이터베이스 관리 시스템(DBMS)은 데이터베이스와 사용자 사이의 인터페이스 역할을 하는 소프트웨어로, 데이터베이스를 운영하고 관리하는 소프트웨어입니다.
- 모든 사용자와 응용프로그램은 데이터베이스 관리 시스템을 통해 데이터베이스에 접근합니다.
- 데이터베이스 관리 시스템은 데이터베이스와 상호작용하기 위해 데이터 언어를 사용합니다.
- 데이터베이스 관리 시스템의 주요 기능
- 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있습니다.
- 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있습니다.
- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있습니다
- 데이터베이스 관리 시스템의 장점
- 데이터 중복 통제 가능
- 데이터 독립성 확보
- 데이터 동시 공유 가능
- 데이터 보안 향상
- 데이터 무결성 유지
- 표준화 가능
- 장애 발생시 회복 가능
- 데이터베이스 관리 시스템의 단점
- 백업과 회복 방법이 복잡함
- 중앙 집중 관리로 취약점이 존재
- 데이터 언어 (아래 예시는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 언어 예시입니다.(SQL(Structured Query Lnaguage)))
- 데이터 정의어(DDL, Data Definition Language)
- CREATE, ALTER, DROP
- 데이터 조작어(DML, Data Manipulation Language)
- SELECT, INSERT, UPDATE, DELETE
- 데이터 제어어(DCL, Data Control Language)
- GRANT, REVOKE
- 데이터 정의어(DDL, Data Definition Language)
데이터베이스 관리 시스템 종류
- 관계형 데이터베이스 관리 시스템(RDBMS): 관계형 데이터베이스를 관리하기 위한 시스템.
- 예시: Oracle, MySQL, Microsoft SQL Server, PostgreSQL 등.
- 문서 기반 데이터베이스 관리 시스템: 문서(주로 JSON, BSON 형식) 형태의 데이터를 저장하고 관리하는 시스템.
- 예시: MongoDB, CouchDB 등.
- 키-값 데이터베이스 관리 시스템: 간단한 키-값 쌍을 사용하여 데이터를 저장하고 관리하는 시스템.
- 예시: Redis, DynamoDB 등.
- 그래프 데이터베이스 관리 시스템: 데이터 항목 간의 관계를 그래프 형태로 저장하고 관리하는 시스템.
- 예시: Neo4j, Amazon Neptune 등
- 열 기반 데이터베이스 관리 시스템: 데이터를 열 단위로 저장하여 빠른 검색, 집계 및 분석을 가능하게 하는 시스템.
- 예시: Cassandra, HBase 등.
- 참고 : https://comdon-ai.tistory.com/113
데이터베이스 시스템
데이터베이스 시스템 설명
- 데이터베이스 시스템은 데이터베이스와 DBMS를 포함하는 더 큰 시스템입니다. 사용자와 응용 프로그램이 데이터에 접근하고 조작할 수 있도록 지원하는 전체 환경을 의미합니다.
- 데이터베이스 시스템 = 데이터베이스 + 데이터베이스 관리 시스템 + 사용자 + 사용자가 데이터베이스에 접근할 때 사용하는 데이터 언어 + 컴퓨터 + ...
'Computer Science > 데이터베이스(Database)' 카테고리의 다른 글
데이터 모델링 (0) | 2024.03.11 |
---|---|
데이터(Data) (0) | 2024.03.07 |