: 데이터 정의어로 작성된 스키마 정의 해석, 저장 데이터 관리자의 도움을 받아 새로운 데이터베이스 구축 및 스키마의 정의를 데이터 사전에 저장
:응용 프로그램에 삽입된 데이터 조작어를 추출하여 DML 컴파일러에 전달. 데이터 조작어와 관련 업는 나머지 코드는 해당 언어의 컴파일러로 전달
: 데이터 조작어로 작성된 데이터의 삽입, 삭제, 수정, 검색 등과 같은 데이터 처리 요구를 분석하여 런타임 DB 처리가 가능할 수 있도록 해석
: 저장 데이터 관리를 통해 데이터베이스에 접근, DML 컴파일러부터 전달받은 데이터 처리 요구를 DB에서 실행
: 데이터베이스에 접근하는 과정에서 사용자의 접근 권한 유효 여부 검사. 데이터베이스의 무결성 유지를 위한 제약조건 위반 여부 확인
: 디스크에 저장되어 있는 데이터베이스와 데이터 사전 관리 및 접근
: DB에 저장되어 있는 데이터에 관한 정보 저장 공간. 시스템 카탈로그, 정확하고 효율적인 데이터 이용을 위해 참고해야 하는 스키마, 스키마 간 매핑 정보, 제약조건 저장
메타데이터 => 데이터에 대한 데이터
1) 적재(Loading) : 텍스트 파일이나 순차 파일과 같은 기존의 데이터 파일들을 데이터베이스에 적재하기 위해 사용
-변환도구 : 기존의 데이터베이스와 새 데이터베이스의 저장상태 정보가 주어지면 적절한 적재 프로그램 생성
2) 백업(Backup) : 데이터베이스 전체 또는 일부를 대용량 저장 매체에 복사해서 DB 사본 생성. 치명적 디스크 고장 발생 시 DB 복구 목적으로 사용
3) 파일 재조직(File Reorganization) : 성능을 향상시키기 위해 DB 파일의 구조를 다룬 파일 구조로 재조직, 새로운 접근 경로 설정
4) 성능 모니터링 : DB 사용을 모니터링하여 DB 관리자에게 사용 통계 제공. DB 관리자는 통계에 근거하여 성능 향상을 위해 파일 재조직 여부 또는 인덱스 추가/삭제 여부의 결정 가능
5) etc => 파일 정렬, 데이터 압축, 사용자 접근 모니터링, 네트워크와의 인터페이스
1세대 - 네트워크 DBMS
: DB를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델 사용, DB 구조가 복잡하고, 변경의 어려움. ex) IDS
1세대 - 계층 DBMS
: db를 트리 형태로 구성하는 데이터 모델 사용. 네트워크 DBMS보다 구조가 단순. 구조적 표현의 한계와 변경의 어려움을 가지고 있음. ex) IMS
2세대 - 관계 DBMS
: DB를 테이블 형태로 구성. ex) oracle, MS SQL, Acess, Informix, MySQL, MariaDB
3세대 - 객체지향 DBMS
: 1980년대 후반에 등장. 객체 개념을 이용해 DB를 구성하는 모델. 새로운 유형의 데이터 저장과 복잡한 분석 및 처리 지원. ex) O2, ONTOS, GemStone
3세대 - 객체관계 DBMS
: 관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델.
4세대 - NoSQL DBMS
: 비정형 데이터 저장 및 처리에 적합. 안정성과 일관성 유지. 데이터 구조를 미리 정하지X, 분산처리 컴퓨팅 환경에서 주로 사용 ex) MongoDB, Hbase, Cassandra, Radis, Neo4i, OrientDB
NewSQL 등장배경 - NoSQL이 관계 DBMS 완전 대체의 불가능. 관계 DBMS가 제공하는 안정성과 일관성 유지 기업. 기업 처리 데이터 중 정형 데이터의 비율이 높음.
-안정성과 일관성을 유지하며 SQL 이용, 데이터 처리를 편리하게 요청
ex) google Spanner, VoltDB, NuoDB
: 데이터 언어 삽입 및 응용 프로그램 작성. 프로그래밍 언어로 응용 프로그램 작성 시 DML 삽입 사용자.
SQL(structured query language)이라 지칭. DB 생성 및 처리 문법만 가지고 있어 데이터 부속어라 지칭하기도 함.
Oracle : 1979년 개발 관계형 DBMS. 단일 데이터베이스 내 문서, 그래프, 관계형 키-값과 같은 여러 데이터 모델 지원. 최근에는 클라우드 컴퓨팅에 초점. 다양한 OS에서 사용 가능. 다양한 언어 사용 가능.
향상된 데이터 보호, 백업, 복구 등의 지속적 릴리즈를 통한 강력한 보안 제공
방대한 양의 데이터 수용 및 처리
다중 모델 솔루션 사용
멀티 테넌시 기능을 이용한 DB 압축 및 관리
인메모리 데이터 처리 기능과 결합, 동기식 데이터 처리를 위한 강력한 엔진 생성
강력한 기술 지원과 문서 제공
단) 많은 비용. 높은 하드웨어 사양의 필요.(강력한 인프라, 디스크 공간 다. 지속적 hw 업데이트), 방대한 양의 제공 문서 => Oracle DBA 자격증을 보유한 전문가 필요
MySQL : 가장 널리 사용되는 관계형 DB 시스템 중 하나. 1995 MySQL AB에서 개발한 RDBMS. Solaris, Window 등에서 사용 가능. 다양한 프로그래밍 언어 지원
오픈 소스로 무료 사용 가능. 간단한 구문으로 다루기 쉬움(단순한 구조, 명령줄에서 작업 바로 실행 가능), 저사양 hw로도 사용 가능
단) 오픈 소스로 사용 시 기술 지원의 어려움. 확장성이 낮음. 일부 표준 SQL 기능 미지원(기존 DB를 다른 DB로 전환 시 문제 발생)
MS-SQL: 완전히 상업적. 가장 널리 사용되는 관계형 DBMS 중 하나. SQL 표준 확장인 T-SQL 언어 사용. windows, linux OS에서 사용 가능.
강력한 기술 지원과 문서 제공
단) 비용적인 측면에서 많은 단점을 가짐