MyCloud
데이터베이스와 DBMS 본문
데이터베이스 (DB)
데이터베이스는 한 조직의 여러 응용 시스템들이 공용(Shared)하기 위해
통합(Integrated), 저장(Stored)한 운영데이터의 집합을 말합니다.
말이 어려운데 간단하게 설명하자면 성능이 뛰어난 저장소라고 생각하시면 됩니다.
데이터가 데이터 모델에 따라 어떠한 구조를 형성하고 있기 때문에
저장소이긴 하지만 컴퓨터 내의 파일 시스템과는 전혀 다릅니다.
그렇다면 일반적인 저장소를 사용하면되지 뭐하러 DB를 사용할까요?
이유는 뛰어난 관리 시스템 때문입니다.
데이터베이스 관리 시스템 (DBMS)
데이터베이스 관리 시스템 (DBMS)은 DB 관리를 위한 컴퓨터 시스템입니다.
관련된 데이터와 프로그램 집합을 다루고, 정보 관리, 효율적이고 편한 환경도 제공합니다.
위에서 DBMS를 쓰는 이유는 뛰어난 관리 시스템 때문이라고 했는데
어떻게 뛰어난지 DBMS가 고려해야할 이슈는 어떤 것이 있는지 알아보겠습니다.
1.
데이터의 중복(Redundancy)과 일관성(Consistency) 유지
string, integer 등 다양한 데이터 포맷과 형식이 있고 DB는 항상 이를 유지해야 합니다.
그리고 중복된 데이터가 들어왔을 때 어떻게 처리할 것인지? 에 대한 문제를 해결해줍니다.
2.
데이터의 공용(Sharing)과 동시 사용성(Concurrency) 제어
사내 솔루션이라면 데이터를 함께 사용하고 서로 공유할 수 있어야 합니다.
이때 사용중이던 두 사람이 동시에 수정을 하게 된다면? 데이터 충돌이 일어나게 될 것입니다.
3.
변경의 원자성(Atomicity) 문제
만약 개발자가 수정 작업 중에 시스템 상의 에러가 발생한다면?
많은 사용자가 사용하는 시스템의 경우 큰 피해가 발생할 수 있습니다.
4.
데이터 무결성(Integrity) 유지
사람들이 임의로 데이터에 관련된 코드를 작성하게 되면
프로그램 코드를 복잡하게 만들고 유지 보수를 어렵게 만들 수 있습니다.
즉, 제약조건 변경이나 추가가 힘들기 때문에 데이터의 무결성을 유지하는 것이 중요합니다.
5.
보안(Security) 보장
DB에 들어있는 정보는 대부분 회사의 중요한 데이터이기 때문에 보안 문제가 중요해집니다.
DBMS에서는 권한부여, 암호화 등 다양한 방법으로 보안환경을 제공합니다.
상용화 된 DBMS 종류
상용화 된 DBMS 제품은 IBM DB2, PostgreSQL, Firebird 등 다양하지만
그 중 대표적으로 Oracle과 MySQL에 대해 알아보겠습니다.
1.
Oracle
Oracle은 RDBMS를 최초로 상용화했으며, 국내 뿐만 아니라 전세계적으로 RDBMS 시장 점유율이 가장 높습니다. 뿐만 아니라 SQL Developer 툴을 통해 편리하게 사용할 수 있다는 장점이 있습니다.
2.
MySQL
MySQL은 Oracle에 비해 저렴한 가격에 이용할 수 있습니다. Oracle이 큰 기업 고객을 위한 DBMS라면
MySQL은 웹사이트나 단순한 어플리케이션에 많이 사용됩니다.
MySQL 또한 MySQL Workbanch라는 툴을 제공하며 사용하기가 쉬운 편입니다.
어떤 목적의 프로그램인지, 어떤 환경에서 구동되야 하는지,
그리고 비용에 따라 사용하는 DBMS가 달라질 수 있다고 합니다.
'Knowledge > Database' 카테고리의 다른 글
Oracle SQL Query (0) | 2016.06.07 |
---|---|
Oracle DDL, DML, DCL (0) | 2016.06.06 |
Oracle DB, SQL Developer 설치 (0) | 2016.04.08 |
관계형 데이터베이스의 구조 (0) | 2016.04.01 |