DataBase 기본, 종류

LeeJ·2023년 3월 7일
0

CS

목록 보기
7/11

DataBase 기본

데이터베이스(영어: database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합입니다. 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음입니다. 데이터베이스에 속해있는 모델은 다양합니다.
출처 : 위키백과

오늘날 운영되고 있는 가장 일반적인 유형의 데이터베이스에서 데이터는 일반적으로 처리 및 데이터 쿼리를 효율적으로 수행하기 위해 일련의 테이블에서 행과 열로 모델링됩니다. 그러면 데이터에 쉽게 액세스하고 관리, 수정, 업데이트, 제어 및 구성할 수 있습니다. 대부분의 데이터베이스는 데이터 작성 및 쿼리에 SQL(Structured Query Language)을 사용합니다.

SQL (Structured Query Language)

SQL은 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어입니다. SQL은 1970년대에 IBM에서 처음 개발되었으며 Oracle의 적극적인 공헌으로 SQL ANSI 표준이 수립되기에 이르렀습니다. SQL은 IBM, Oracle 및 Microsoft와 같은 많은 회사들의 확장 프로젝트를 촉진했습니다. SQL은 오늘날에도 널리 사용되고 있지만 새로운 프로그래밍 언어가 등장하기 시작했습니다.

DB vs Spread Sheet

데이터베이스와 스프레드 시트(예: Microsoft Excel) 모두 정보를 편리하게 저장할 수 있는 방법입니다. 두 기술 간의 주요 차이점은 다음과 같습니다.

데이터 저장 및 조작 방법
데이터에 액세스 할 수 있는 사람
저장할 수 있는 데이터 양
스프레드 시트는 원래 한명의 사용자를 위해 설계되었기 때문에 해당 사용자의 특성이 반영되어 있습니다. 매우 복잡한 데이터 조작을 수행할 필요가 없는 단일 사용자나 적은 수의 사용자에게 적합합니다. 반면 데이터베이스는 훨씬 더 방대한 양의 조직화된 정보를 보관하도록 설계되었습니다. 데이터베이스를 사용하면 여러 사용자가 동시에 매우 복잡한 로직과 언어를 사용하여 데이터에 빠르고 안전하게 액세스 및 쿼리할 수 있습니다.

왜 데이터베이스인가

데이터베이스는 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합입니디. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것입니다. 즉, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있습니다.

이는 공동 자료로서 각 사용자는 같은 데이터라 할지라도 각자의 응용 목적에 따라 다르게 사용할 수 있습니다.

장점과 단점

장점

  • 데이터 중복 최소화
  • 데이터 공유
  • 일관성, 무결성, 보안성 유지
  • 최신의 데이터 유지
  • 데이터의 표준화 가능
  • 데이터의 논리적, 물리적 독립성
  • 용이한 데이터 접근
  • 데이터 저장 공간 절약

단점

  • 데이터베이스 전문가 필요
  • 많은 비용 부담
  • 데이터 백업과 복구가 어려움
  • 시스템의 복잡함
  • 대용량 디스크로 엑세스가 집중되면 과부하 발생

DataBase 종류

계층형 데이터베이스

  • 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식입니다. 데이터의 관계를 트리 구조로 정의하고, 부모-자식 형태를 가집니다.

    HDD, DVD File System 등

장점

  • 데이터의 엑세스 속도가 빠름
  • 데이터의 사용량 쉽게 예측 가능

단점

  • 상하 종속적인 관계로 구성되어 초기 세팅 후 프로세스 수용이 어려움

관계형 데이터베이스 (RDBMS)

  • 관계형 데이터베이스는 1980년대를 지배했습니다. 관계형 데이터베이스의 항목은 열과 행이 있는 테이블 집합으로 구성됩니다. 관계형 데이터베이스 기술은 정형 정보에 액세스하는 가장 효율적이고 유연한 방법을 제공합니다.
  • SQL을 이용하여 관리 및 접근합니다.
  • 관계 대수(Relational Algebra)에서 착안하여 만들어 졌습니다.

    Oracle, My-SQL, DB2, SQL Server, Sybase 등
    Oracle

  • 오라클에서 개발, 가장 많이 사용하는 RDBMS
  • 중앙 집중 방식, Administration Monitoring 가능
  • Multiple Databases 튜닝 가능
  • 다른 Admin User들과 공유 가능
  • 다양한 핸들링 지원
    SQL Server
  • 마이크로소프트에서 개발, 윈도우 플랫폼에서만 동작
    MySQL
  • 오픈소스 커뮤니티에서 개발
  • 경량 데이터 베이스 → 기능이 확장되면서 다른 RDBMS와 비슷

장점

  • 다양한 용도로 사용 가능(범용성), 높은 성능
  • 데이터 무결성 보장, 높은 신뢰성
  • 명확한(= 엄격한) 스키마 정의
  • 정규화에 따른 갱신 비용 최소화
  • 데이터의 분류, 정렬, 탐색 속도가 빠름
  • 관계를 통해 각 데이터를 중복없이 한 번만 저장

단점

  • 대량의 데이터 입력 처리
  • 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경
  • 컬럼 확장 어려움 → 유연성 부족
  • 데이터베이스 부하 분석이 어려움
  • 수평 확장의 어려움 → 데이터베이스 저장 방식으로 인해 수직 확장만 지원

객체 지향 데이터베이스

객체 지향 데이터베이스의 정보는 객체 지향 프로그래밍과 마찬가지로 객체 형태로 표현됩니다. 즉, 객체 그대로를 데이터베이스의 데이터에 저장하는 것입니다.
이를 통해 멀티미디어의 데이터의 원활한 처리, RDBMS의 비즈니스형 데이터 타입만 처리되는 제한적 극복을 했습니다.

분산 데이터베이스

분산 데이터베이스는 서로 다른 사이트에 위치한 둘 이상의 파일로 구성됩니다. 데이터베이스는 물리적으로 동일한 위치에 있는 여러 컴퓨터에 저장되거나 다른 네트워크에 분산될 수 있습니다.

데이터 웨어하우스

데이터의 중앙 저장소인 데이터 웨어하우스는 빠른 쿼리 및 분석을 위해 특별히 설계된 데이터베이스 유형입니다.

NoSQL 데이터베이스

NoSQL 또는 비관계형 데이터베이스를 사용하면 비정형 및 반정형 데이터를 저장하고 조작할 수 있습니다(반면에 관계형 데이터베이스에서는 데이터베이스에 삽입되는 모든 데이터의 구성 방식을 정의해야 함). 웹 애플리케이션이 보다 보편화되고 복잡해지면서 NoSQL 데이터베이스의 인기가 높아졌습니다.
key, value의 형태로 저장되는 데이터베이스이며, 키를 사용해 데이터를 관리 및 접근합니다.
스키마와 관계가 없고, join이 존재하지 않으며 데이터를 가져올 때 컬렉션에 있는 데이터를 복제하여 필요한 데이터의 일부만 가져오는 방식입니다.
이러한 장점으로 인해 NoSQL은 비정형 데이터(메신저 텍스트, 음성, 이미지 등)을 다룰 수 있습니다. 또한 수평 확장이 가능하여 분산형 컴퓨팅(클라우드)에 적합합니다.

그래프 데이터베이스

그래프 데이터베이스는 엔티티 및 엔티티 간의 관계 측면에서 데이터를 저장합니다.
OLTP 데이터베이스. OLTP 데이터베이스는 여러 사용자가 수행하는 많은 수의 트랜잭션을 위해 설계된 고속 분석 데이터베이스입니다.

이들은 오늘날 사용되는 수십 가지 유형의 데이터베이스 중 몇 가지에 불과합니다. 덜 일반적인 다른 데이터베이스들은 매우 구체적인 과학, 재무 또는 기타 기능에 따라 맞춤화가 됩니다. 다양한 데이터베이스 유형 외에도 기술 개발 접근 방식의 변화와 클라우드 및 자동화 같은 획기적인 기술 발전이 데이터베이스를 완전히 새로운 방향으로 이끌고 있습니다. 최신 데이터베이스로는 다음과 같은 것들이 있습니다.


오픈 소스 데이터베이스

오픈 소스 데이터베이스 시스템은 소스 코드가 오픈 소스인 시스템으로, SQL 또는 NoSQL 데이터베이스가 여기에 해당됩니다.
클라우드 데이터베이스
클라우드 데이터베이스는 프라이빗, 퍼블릭 또는 하이브리드 클라우드 컴퓨팅 플랫폼에 상주하는 정형 또는 비정형 데이터 모음입니다. 클라우드 데이터베이스 모델 유형으로는 기존 및 서비스형 데이터베이스(DBaaS)가 있습니다. DBaaS에서는 서비스 제공자가 관리 작업과 유지 관리를 수행합니다.

다중 모델 데이터베이스

다중 모델 데이터베이스는 서로 다른 유형의 데이터베이스 모델을 단일 통합 백엔드로 결합합니다. 이는 다양한 데이터 유형을 수용할 수 있다는 것을 의미합니다.

문서/JSON 데이터베이스

문서 지향 정보를 저장, 검색 및 관리하도록 설계된 문서 데이터베이스는 행과 열이 아닌 JSON 형식으로 데이터를 저장하는 최신 방식입니다.

자율 운영 데이터베이스

가장 획기적인 최신 유형의 데이터베이스인 자율구동 데이터베이스(자율운영 데이터베이스라고도 함)는 클라우드를 기반으로 하며, 머신러닝을 사용하여 데이터베이스 튜닝, 보안, 백업, 업데이트 및 기타 데이터베이스 관리자가 전통적으로 수행해 온 일상적인 관리 작업을 자동화합니다.

profile
헤응

0개의 댓글