목록데이터베이스 (9)
Rootable의 개발일기
📌 RDBMS(관계형 데이터베이스) 란? ACID를 보장하는 스키마에 복종적인 데이터베이스 고정된 행(row)과 열(column)로 구성된 테이블에 데이터를 저장한다. 각 열은 속성을 의미하고, 각 행은 여러 속성을 가진 데이터를 의미한다. 핵심적인 특징은 데이터가 정해진 스키마에 따라 테이블에 저장된다는 점과 모든 데이터는 테이블에 분산 저장되어 관계를 맺는다는 것이다. 그래서 테이블의 구조와 데이터 타입 등을 사전에 정의해야 하고, 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입할 수 있다. ✅ 장점 명확한 스키마가 정의되어 있다. 데이터 무결성 및 ACID 보장 데이터 변경에 견고함 데이터를 중복 저장하지 않음 ✅ 단점 수정이 어려운 데이터 스키마 관계로 인한 복잡한 쿼리문 대체로 수직적 확장만..
📌 RDBMS 스키마에 맞춰 데이터를 관리하기 때문에 데이터의 정합성을 보장한다. 하지만, 시스템이 커질수록 쿼리가 복잡해지고 성능이 저하되며 Scale-out이 어렵다. (Scale-up만 가능) Scale-Up과 Scale-Out 인프라 확장 문제를 해결하기 위한 방법 Scale-Up은 기존 서버의 사양을 업그레이드해 시스템을 확장하는 것을 말한다. CPU나 RAM 등을 추가하거나 고성능의 부품, 서버로 교환하는 방법이 있다. 이처럼 하나의 서버 사양을 업그레이드하기 때문에 수직 스케일로 불리기도 한다. Scale-Out은 서버를 여러 대 추가하여 시스템을 확장하는 것을 말한다. 서버가 여러 대로 나뉘기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드밸런싱'이 필수다. 이처럼 여러 대의 서버로..
📌 데이터베이스란 데이터베이스는 물리 데이터 모델을 구현한 결과물이며 구축된 실제 데이터가 저장되는 데이터 저장소를 의미한다. 데이터베이스 내에서 생성된 모든 객체는 DBMS 자체의 데이터 사전에 의해 관리된다. 데이터 사전(Data Dictionary) 데이터베이스를 구성하고 운영하는 데 필요한 모든 정보를 저장하는 특수한 테이블로 데이터베이스가 생성되는 시점에 자동으로 만들어진다. 오라클 데이터베이스는 명령이 실행될 때마다 데이터 사전을 Access 한다. 데이터베이스 작업 동안 오라클은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인한다. 또한 오라클은 데이터 사전을 계속 갱신하며 DATABASE 구조, 감사, 사용자 권한, 데이터 등의 변경 사항을 반영한다..
📌 인덱스란? 만약 다음과 같은 데이터베이스에서 age가 23인 사원을 찾아야 한다면 컴퓨터는 조건에 맞는 값을 찾을 때까지 검색을 계속할 것이다. 그런데 만약 데이터가 1억 개가 된다면 해당 데이터를 찾기 위해 오랜 시간이 걸리게 된다. 그래서 인덱스를 사용하여 타깃에 대한 빠른 접근을 도와준다. 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조를 말한다. 📌 인덱스 구조 우리가 데이터를 찾을 때 단순히 값을 물어보는 것이 아니라 내가 찾는 값이 어떤 값보다 큰지 작은지 물어보면서 접근하는 것이 더 유리할 것이다. 예를 들어, 1에서 100까지 값이 있을 때 55라는 값을 찾기 위해 50보다 큰지 작은 지부터 물어보면서 접근하는 것이다. 이를..