Database(데이터베이스 및 DB): 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합. 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다.
Database
DBMS(데이터베이스 관리 시스템 및 Database Management System): 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS는 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.
DBMS
SQL(구조화 질의어 및 Structured Query Language): 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
관계형 데이터 베이스 관리 시스템에서 1. 자료의 검색과 관리, 2. 데이터베이스 스키마 생성과 수정, 3.데이터베이스 객체 접근 조정 관리를 위해 고안되었다.
SQL
RDBMS(관계형 데이터베이스)
관계형 데이터베이스에 대해서는 아래의 글을 통해서 볼 수 있다.
ORM
NoSQL(Not Only SQL)
NoSQL는 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미한다.
NoSQL의 특성
RDBMS와 달리 테이블 간 관계를 정의하지 않는다.
테이블 간의 관계를 정의하지 않기 때문에 일반적으로 테이블 간 Join도 불가능하다.
빅데이터의 등장으로 인한 데이터와 트래픽의 기하급수적인 증가에 따라서 RDBMS의 단점인 성능향상을 위해 장비가 좋아야 하는 Scale-Up의 특징이 비용을 기하급수적으로 증가시키기 때문에 데이터 일관성을 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장
다양한 형태의 저장기술로 RDBMS 스키마에 맞추어 데이터를 관리해야 된다는 한계를 극복하고 수평적 확장성(Scale-Out)을 쉽게 할 수 있다는 장점을 가지고 있다.
RDBMS
장점
단점
NoSQL
장점
단점
데이터베이스 스키마
컴퓨터 과학에서 데이터베이스 스키마(database schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. 데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다.
스키마는 3층 구조로 되어있다.
- 외부 스키마(External Schema): 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
- 개념 스키마(Conceptual Schema): 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것
- 내부 스키마(Internal Schema): 전체 데이터베이스의 물리적 저장 형태를 기술한 것
스키마
1.Database
2.DBMS
3.SQL
4.허진쓰의 서버사이드 기술 블로그
5.스키마