CS 공부/데이터베이스
DB 정리 4 - Redis, Statement
Redis 레디스 (Remote Dictionary Server)는 메모리 기반의 key-value 구조(딕셔너리)의 데이터 관리 시스템이다. 모든 데이터를 메모리에 저장하고 조회하기때문에 빠른 Read, Write 속도를 보장하는 NoSql이다. 속도가 빠른 이유 ? 메모리 접근이 디스크 접근 방식보다 빠르기 때문. Cache : 나중의 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것. → 어디에 저장할까? CPU cache - 캐시를 저장하기에는 너무 비쌈. Main memory (DRAM) - 적당히 비싸고 괜찮음. 휘발성의 특징을 가지고 있음. 하드디스크, SSD - 저렴하고 크며, 껐다 켜도 날아가지 않음. 보통 데이터베이스는 하드 디스크나 SSD에 저장한다. (비교적 느리지만, 저렴하고..
DB 정리 - 2 (정규화, 트렌젝션, 트렌젝션 격리수준)
정규화 1. 정규화의 생성 배경 한 릴레이션에 여러 엔티티의 애트리뷰트들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또 중복된 정보로 인해 갱신 이상이 발생하게 된다. 동일한 정보를 한 릴레이션에는 변경하고, 나머지 릴레이션에서는 변경하지 않은 경우 어느 것이 정확한지 알 수 없게 되는 것이다. 이러한 문제를 해결하기 위해 정규화 과정을 거치는 것이다. 갱신 이상에는 어떠한 것들이 있는가? 삽입 이상(insertion anomalies) 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점을 말한다. 삭제 이상(deletion anomalies) 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실..
DB 정리 - 1 (데이터 베이스 / 인덱스)
데이터베이스 데이터베이스란? 데이터베이스(DB, database)는 통합하여 관리되는 데이터의 집합체를 의미한다. 이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다. 따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있습니다. 이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리되며, 이를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 한다. 데이터베이스를 사용하는 이유 데이터베이스란 다수의 사용자가 사용하는 데이터들의 공유와 운영을 위해 저장해 놓는 공간을 말한다. 프로그램을 만들다보면 프로그램 사용자들에 의해 생성된 데이터, 프로그래머가 필요에 의해 프로그램에 넣어놓은 데이터등 필연적으..