■ 요약 구분
1. 데이터베이스(DB, DataBase)
구분 | 내용 |
개념 | - 컴퓨터에 저장되는 데이터 집합 |
특징 | - 접근성 : 사용자 질의에 대한 즉각 처리 가능 - 최신성 : 삽입, 삭제, 갱신을 통한 최신 데이터 유지 가능 - 동시성 : 여러 사용자가 동시에 접속하여 데이터 접근 가능 - 내용성 : 데이터가 저장된 주소나 위치가 아닌 내용을 참조 |
2. 데이터베이스 관리 시스템(DBMS, DataBase Management System)
구분 | 내용 |
개념 | - 여러 사람들에게 공유하여 사용할 목적으로 데이터베이스를 관리하는 시스템 - 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보(From. Oracle) |
특징 | - DB와 유저간 인터페이스 역할을 수행하는 시스템으로 유저의 정보 생성, 검색, 수정, 삭제 작업 관리 →구축 : DBMS가 관리하는 기억 장치에 데이터 저장 →조작 : 특정 데이터 검색을 위해 질의, 데이터 생성, 데이터 갱신 기능 보유 →공유 : DBMS를 다수에 사용자들이 동시 접근 가능 →보호 : 하드웨어나 소프트웨어의 오작동 또는 권한이 없는 악의적 접근으로부터 시스템 보유 →유지보수 : 시간이 지남에 따라 변화하는 요구사항을 즉각적 반응 |
장점 | - 데이터간 관계성 정의를 통한 자료 통합성 - 데이터 접근의 용의성 - 데이터 통제 강화로 개발 및 관리 편의성 |
종류 | - 계층형 데이터베이스 관리 시스템(HDBMS) - 망형 데이터베이스 관리 시스템 (NDBMS) - 관계형 데이터베이스 관리시스템(RDBMS) - 객체지향 데이터베이스 관리 시스템(ODBMS) |
※ 관계형 데이터베이스(RDB, Relational DataBase)
- 테이블 형태로 구조화되어 저장된 DB유형
- 테이블(Table) : 방대한 데이터가 저장된 것으로 많은 속성을 보유하며, 속성들은 각기 다른 특징을 기반으로 다른 타입으로 표현
→예시, 속성 : 나이, 이름, 지역, 주민번호 등
3. 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)
구분 | 내용 |
개념 | - 테이블 형태로 데이터베이스를 관리하는 시스템 - 1970년 Edgar Codd가 RDBMS에 대한 이론적 논문 발표 / 40년 이상 지배적인 DBMS |
특징 | - 각기 다른 행과 열로 구성되는 2차원 구조 모델 - ACID(원자성, 일관성, 독립성, 지속성) 트랜잭션을 보장하는 기능으로 데이터 무결성, 완전성, 정확성 보장 - SQL을 사용해서 데이터 접근을 하며 CRUD(생성, 읽기, 갱신, 삭제) 조작 허용 - 여러 운영체제에서 사용 가능(예시, Android, iOS, Linux, Window, Unix 등) |
3.1. 관계형 데이터베이스 관리 시스템(RDBMS) 종류
①Oracle
구분 | 내용 |
개념 | - 1979년 Oracle사에서 개발하여 판매중인 상업용 DBMS(글로벌 시장 점유율 1위) |
특징 | - 대기업에서 주로 사용 - 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS) |
장점 | - 다양한 운영체제 지원(Window, Linux, Unix 등) - 대량의 데이터 처리 용이( MySQL, MS-SQL 대비 우수) →예시, 은행 산업에서 대규모 애플리케이션에 많이 사용 |
단점 | - 비공개 코드 소스 - 폐쇄적인 운영 - 라이선스 비용이 비쌈(오픈소스 및 무료 DBMS에 비해 접근성 낮음) |
②MySQL / Maria DB
구분 | 내용 |
개념 | - 1995년 MySQL사에서 개발되어 현재 Oracle사에 합병된 DBMS(글로벌 시장 점유율 2위) |
특징 | - 중소기업에서 주로 사용 - 5,000건 이하 데이터를 다루는데 적합하여 속도, 안전성, 확장 가능성을 가장 잘 추구하는 DBMS - Maria DB은 MySQL과 거의 유사하며 사업적으로 사용해도 무료 (참고, MariaDB은 MySQL이 Oracle에 인수되면서 불확실한 라이서스 문제를 해결하고자 개발한 DB) |
장점 | - 다양한 운영체제 지원(Window, Linux, Unix 등) - 라이선스 무료(오픈소스) →단, 상업적 사용 시 유료 / Oracle사 보다 저렴하여 최근 대기업에서 많이 사용 - 웹 기반 애플리케이션 개발에 최적화된 DB |
단점 | - 복잡한 쿼리로 인한 성능 저하 - 대량의 데이터를 조회할 때 성능 저하 우려 |
③MS-SQL(Microsoft SQL Server)
구분 | 내용 |
개념 | - Microsoft사에서 개발하여 판매중인 상업용 DBMS(글로벌 시장 점유율 3위) |
특징 | - 중소기업에서 주로 사용 |
장점 | - Window 운영체제 특화 지원(그 외에도 Linux, Unix 운영체제 지원) - 부분 라인선스 무료(Unix 오픈소스) - 높은 보안성 보유(신뢰성, 생산성, 지능적 특징 보유) |
단점 | - 비공개 코드 소스 - 폐쇄적인 운영 |
④SQLite
구분 | 내용 |
개념 | - 미해군 구축함에 들어가는 소프트웨어 개발자 Richard Hipp이 개발한 DBMS →참고, 함선 내부에서 에러가 잦고 서버가 죽어 끊어지는 문제가 발생하여 어떤 상황에서도 데이터를 램에 읽어들일 수 있도록 서버없이 구동되도록 직접 개발 |
특징 | - 임베디드(제어를 위한 특정 기능 수행)에 사용될 목적으로 개발된 DBMS - 대부분 컴퓨터에 내장되어 있어 다른 응용 프로그램에 번들로 제공(세계에서 가장 널리 배포된 DB) |
장점 | - 그로스 플랫폼에서 동작 가능 (Android, BSD, iOS, Mac, Linux, Solaris, Windows가 기본으로 제공되며, 타시스템에 쉽게 포팅 가능) - 시스템이 경량화되어 있어 적은 메모리 환경에서도 좋은 성능 보유 - 간편한 백업 가능(파일 통째로 복사) |
단점 | - 서버리스로 로컬 환경에서 데이터를 저장하므로 외부 접속 시 복잡한 우회방법 필요 - 다수 유저가 동시 사용하기 위해서는 프록시 버서 필요(즉, 1명의 사용자만 동시 접속 가능) |
⑤Tibero
구분 | 내용 |
개념 | - TmaxData사에서 개발한 국내 DBMS |
특징 | - Oracle사의 제품과 거의 동일한 호환성 보유 - 많은 플랫폼에 지원됨에 따라 국내 업체들의 사용빈도가 증가 |
장점 | - 동기화 성능 개선으로 다중 노트에서도 안정적인 DB서비스 운영 - 자기튜닝을 통한 성능 최적화, 지속적인 DB모니터링, 성능 관리 지원 등 기능 제공 |