본문 바로가기

Tech/데이터베이스

[개발 한 스푼] 데이터 사전(data dictionary)에 대해서 설명해주세요. (2023.01.12) 개발 한 스푼 adevspoon.com 본 글은 에 올라오는 "오늘의 질문"에 대한 학습 결과물을 정리한 내용입니다. Data Dictionary? 대부분 읽기 전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공한다. Oracle 데이터베이스는 명령이 실행될 때마다 데이터 사전을 Access하여 객체의 존재 여부와 사용자에게 적합한 Access 권한이 있는지를 확인한다. 또한 Oracle은 데이터 사전을 계속 갱신하여 DATABASE 구조, 사용자 권한, 데이터 등의 변경 사항을 반영 한다. -> 유저가 입력하는 데이터를 제외한 모든 정보가 들어 있는 것이라고 생각하면 된다고 함 Data Dictionary에 저장되는 내용 (Oracle 기준) - 오라클 사용자 정보 - 오..
[Database] Redis 찍먹 Redis란 공식 사이트 소개 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-dis..
[데이터베이스] 인덱스(Index) 1. Index? 위키백과는 다음과 같이 설명하고 있다. - **인덱스는 데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료구조** - 인덱스는 테이블 내의 1개 이상의 컬럼을 이용하여 생성됨 - 고속의 검색 동작뿐만 아니라 레코드 접근과 관련 효율적인 순서 매김 동작에 대한 기초 제공 - 인덱스를 저장하는 데 필요한 디스크 공간은 보통 테이블을 저장하는 데 필요한 디스크 공간보다 작음 (보통 인덱스는 키-필드만 갖고 있고, 테이블의 다른 세부 항목들은 갖고 있지 않기 때문) - 관계형 데이터베이스에서는 인덱스는 테이블 부분에 대한 하나의 사본 → 모든 레코드에서 full-scan하는 것이 아니라 색인화(특정 범위 내로 한정. 따로 파일로 저장)하여 데이터를 찾는 기술 → 검색 연산을 ..
[데이터베이스] 트랜잭션(Transaction) 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산 트랜잭션의 성질(ACID) Atomicity(원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. (ALL-OR-NOTHING. 더 이상 쪼갤 수 없는 상태인 원자의 성질을 가졌다는 의미에서 원자성이라고 함) 트랜잭션 내의 모든 명령은 반드시 수행되어야 하며, 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다. Consistency(일관성) 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다 Isolation(고립성) 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행..
[데이터베이스] 정규화(Normalization)와 역정규화(Denormalization) 정규화(Normalization)란? 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스 (위키백과) 정규화의 필요성 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위해서 데이터베이스 구조 확장 시 재디자인을 최소화 다양한 관점에서의 query를 지원하기 위해서 무결성 제약조건의 시행을 간단하게 하기 위해서 각종 이상 현상(Anomaly)을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다. 데이터베이스를 잘못 설계하면 불필요한 데이터 중복으로 인한 공간낭비를 넘어 부작용을 초래할 수 있다. 이러한 부작용에는 삽입이상, 갱신이상, 삭제이상이 있다. 삽입 이상 (Insertion Anomaly) 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제..