January 3rd 2021
Contents
여러분은 아마도 데이터베이스에 대해 한번이라도 들어봤을 것입니다. 데이터베이스에 대한 개념을 간단히 살펴보면, 데이터베이스란 개인이나 단체가 특정 목적을 가지고 데이터를 정돈해 저장하는 것을 말합니다. 파일이나 스프레드시트와 같은 곳에 데이터를 저장해 관리할 수도 있겠지만, 이 글에서 데이터베이스란 용어는 애플리케이션을 이용해 저장하는 것을 의미하는 것으로 사용하도록 할게요.
데이터베이스에는 크게 Operational Database, Analytical Database 두 가지 타입이 있습니다.
Operational Database는 온라인에서 발생하는 트랙잭션을 처리하는데 주로 사용됩니다.(OnLine Transaction Processing, OLTP) 조직 내에서 일상적으로 데이터를 생성, 수정해야 하는 작업이 빈번한 상황에서 사용하며, 대부분의 기업, 단체에서 사용하는 데이터베이스 타입입니다. 쇼핑몰, 제조업체, 병원 등을 예로 들 수 있고, 데이터베이스 내 데이터는 최신 데이터를 항상 반영해야 합니다.
이와는 대조적으로, Analytical Database는 온라인 분석 처리(OLAP)에 사용되며, 시간의 흐름에 따른 정적인 데이터를 저장할 용도로 주로 사용합니다. Analytical 데이터베이스는 특정 기간의 데이터 통계나 트랜드 등을 추적하고 이를 기반으로 의사 결정을 할 때 사용할 수 있습니다. 특정 연구소나 마케팅 분석 회사 등에서 사용할 수 있습니다.
이 글에서는 일반적으로 회사나 개인이 많이 사용하는 Operational 데이터베이스 설계에 대해 다루도록 하겠습니다.
관계형 데이터베이스는 1960, 1970년대 IBM 연구원으로 있던 에드거 커드에 의해 고안되었습니다. 수학과 화학을 전공한 그는 기존 데이터베이스가 가지고 있던 문제점을 수학적인 개념을 도입해 개선할 수 있다고 믿었고 집합론과 1차 논리를 기반으로 관계형 데이터베이스를 고안했습니다.
관계형 데이터베이스는 relation에 데이터를 저장하는데, 흔히 relation을 테이블이라 부릅니다. 그리고 각 relation은 레코드와 필드로 구성됩니다.
관계형 데이터베이스가 생겨난지 오래되었지만, 아직까지 널리 사용되는데는 이유가 있을건데요. 이번에는 관계형 데이터베이스 사용 시 장점 몇 가지에 대해 알아보도록 할게요.
관계형 데이터베이스를 생성하고 수정 관리하는데 사용하는 소프트웨어입니다. 널리 알려진 RDBMS 중 몇 가지를 예로 들면 Oracle RDBMS, PostgresSQL, MySQL, SQLite 등이 있습니다.