티스토리 뷰
데이터베이스
데이터(data)
자료(datum)의 복수형으로, 가공되지 않은 측정값
정보(information)
합산, 집계 등으로 자료를 가공하여 얻어낸 유용한 값
데이터베이스(DB; database)
구조화된 자료의 집합
관리해야할 데이터의 규모가 커지면서, 현대적인 데이터베이스가 갖추어야할 요건도 늘어남
- 대용량 : 처리해야할 데이터의 규모가 크게 증가
- 효율성 : 대용량의 데이터를 최대한 효율적으로 저장하기 위한 설계(중복 제거 등)
- 무결성 : 데이터에 오류가 없기 위한 안전장치 필요
- 공유성 : 어디서나 데이터에 접근할 수 있으며 활용할 수 있음
- 보안성 : 인증/인가 받지 않은 사용자는 접근 불가
이 외에 이식성, 확장성, 경제성도 고려해야 함
즉, 데이터베이스는 단순히 자료의 저장 뿐 아니라 이를 관리하고 가공하여 정보를 얻을 수 있는 기술 혹은 시스템의 총체
DBMS
DBMS(Database Management System; 데이터베이스 관리 시스템)
사용자와 하드웨어 중간에서 논리적인 명령을 해석하여 원하는 정보를 입출력하기 위한 DB 관리 시스템

DB 관리를 전담하여 응용프로그램과 DB의 종속성을 제거함
- 계층이 하나 더생기므로 성능은 약간 저하되나 유연성이 극적으로 증가
- 데이터를 다루는 방법이 일관화되어 재사용성이 확보되고 이식성이 뛰어나짐
- 데이터의 물리적 위치나 구조에 영향을 받지 않음
현재는 자동백업, 인덱스관리, 보안성 검사 등 다양한 역할을 DBMS에서 함께 수행
DBMS의 역사
1. 텍스트
2. 엑셀 등의 파일 시스템
- 다만 형식성이 엄격하지 않고 관리능력이 미흡하고 공유가 안되어 DBMS는 아님
3. SAM(Sequential Access Method) / ISAM(Indexed SAM)

- SAM은 순서대로 파일에 데이터를 담는 것으로 순차검색만 가능함
- ISAM은 인덱스를 이용하여 이분검색이 가능함
- dBase나 Access
4. 계층형 데이터베이스
- 트리 형태로 데이터를 저장
- 디렉토리처럼 포함관계를 표현하기 쉽고 탐색 속도도 빠르지만 복잡성에 비해 실용성이 떨어짐
5. 네트워크형 데이터베이스
- 정보끼리 망을 이루게 하여 저장
- 복잡성에 비해 실용성이 떨어져 특수 분야에 사용
6. 관계형 데이터베이스(Realtional DBMS; RDB)

- 1969 Edgar.F.Codd 박사 논문에서 등장
- 모든 데이터를 표 형태의 테이블에 저장
- 직관적이고, 테이블간 관계를 정의하여 복잡한 정보도 간결하게 저장하며, 제약조건으로 무결성 역시 보장
- 사실상 업계표준
- 성능보다 유연성에 중점을 두어 비즈니스 로직 변화에 신속히 대처가능
- 막대한 현업 노하우가 축적
- 다만, 자원의 소모가 크고 복잡한 설계를 위해선 고급 인력 필요
7. 객체지향형 데이터베이스
- 모든것을 객체로 저장
- 멀티미디어나 비정형 데이터도 효율적으로 다룰 수 있지만 복잡성 증가
- 관계형을 기본으로 하여, 객체지향형의 장점을 취한 객체 관계형등이 지속적으로 연구중
8. 빅데이터
- 빅데이터의 특징 : 3V(대용량(Volume), 다양함(Variety) 생성주기가 빠름(Velocity))
- 현 업계 표준인 RDB는 규칙이 엄격해 빅데이터의 수집, 저장, 분석이 힘듬
- 일관성을 희생하고 성능과 용량을 극적으로 향상시킨 빅데이터 기법 대두
- 데이터를 분산저장하는 Hadoop
- 비정형 데이터를 다루는 NoSQL 문법과 이를 이용하는 다양한 DB
RDB의 종류
- Oracle : 시장 점유율이 가장 높으며 기능적 완성도도 제일 뛰어나지만 비싸고 배우기 어려움
- SQL Server : 마이크로소프트에서 제작하여 윈도우 환경에 최적화되어 있으나 멀티플랫폼을 지원하지 않음
- MySQL : 오픈소스로 표준 SQL을 준수하여 사용이 쉬우나, 상업용 DBMS보단 성능이 낮음
- DB2 : IBM에서 발표, 대용량 데이터 처리에 우수하지만 우리나라에선 찬밥 신세
- PostgreSQL : 객체 관계형 오픈소스 DBMS로 테이블 간 상속을 지원
※ 최종 수정일 : 25/01/23
'SQL > SQL' 카테고리의 다른 글
| [SQL/초보] RDBMS의 기본 용어 (7) | 2025.01.24 |
|---|---|
| [SQL/초보] SQL이란 (6) | 2025.01.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- db오브젝트
- 레코드
- 알고리즘
- db의 역사
- oracle
- DB
- Java
- 자료구조
- 입출력
- 데이터베이스
- BufferedReader
- DBMS
- 배열
- SQL
- Scanner
- StringBuilder
- dialect
- APS
- 필드
- SQL이란
- BufferedWriter
- 테이블
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함