DB 응용 OLTP(OnLine Transaction Processing) 복수의 사용자에서 발생되는 트랜잭션을 DB가 처리하고 돌려주는 과정 응답속도가 빠름 데이터 처리가 얼마나 정확하고 무결한지가 중요 index 로 데이터에 소량 접근하여 소량의 읽기를 해오는 경우 데이터 수정이 비교적 많이 일어나는 경우 OLAP(OnLine Analytical Processing) 데이터를 분석하여 유의미한 정보를 제공해주는 처리방법 오래 걸림, 상대적으로 응답속도가 느림 다량의 데이터를 다량으로 읽기를 하는 경우 Transaction(트랜잭션) 트랜잭션의 영어 의미는 "거래" 무언가를 주고 받는 행위를 의미 DB에서는 쪼갤 수 없는 작업의 단위를 의미 ACID(Atomicity, Consistency, Isola..
Index 데이터베이스의 테이블에 대한 동작 속도를 높여주는 자료구조 트레이드 오프가 발생: Read 속도는 빨라지나, Insert, Update, Delete 속도는 느려짐 데이터 삽입 시, 외래키를 체크하지 않는 설정: SET foreign_key_checks=0 PRIMARY KEY(PK), FOREIGN KEY(FK)에 대해서는 인덱스가 자동으로 만들어짐 그외에 CREATE INDEX ON (컬럼이름)으로 인덱스를 만들 수 있음 검색이 빈번하게 이뤄지는 컬럼에 대해 인덱스를 생성하기도 함 (읽기 속도 향상) 복합인덱스 여러 칼럼을 묶어 인덱스를 만드는 경우에 복합인덱스라고 함 여러 컬럼이 같이 검색이 이뤄지는 경우 여러 칼럼을 묶어 인덱스를 만들기도 함 CREATE INDEX ON (칼럼1, 칼럼..

데이터베이스 정규화 1. 개념 데이터베이스 정규화는 DB를 잘 설계하기 위한 것이다. 각 속성을 잘 묶은 것을 잘 설계한 DB라고 한다. 다른 개체의 속성 값을 읽어오는 것은 외래키의 참조를 통해서만 가능해야 한다. 여러 엔티티가 한 테이블에 있는 경우는 안 좋은 설계라고 할 수 있다. 잘 설계되지 않은 DB에서는 이상현상(삽입이상, 삭제이상, 갱신이상)이 발생할 수 있다. 정규형(Normal Form): 이상현상이 잘 안 생기는 좋은 테이블이 갖추어야 할 조건이다. (제1정규형, 제2정규형, 제3정규형, BCNF 등) 정규화(Normalization): 테이블 정규형을 만족할 수 있도록 잘 분해하는 과정이다. (정규형으로 만드는 과정) 함수적 종속성 (FD = Functional Dependency) ..

데이터 모델링 현실에서 응용할 데이터를 잘 고르고 다듬어서 DBMS에 저장하는 방법이다. 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업을 의미한다. 물리적인 데이터베이스 모델로 만들어 반영하는 작업을 포함한다. 데이터 모델링 과정은 크게 아래 4가지 단계로 이루어진다. 요구사항 분석 (Requirements Analysis) : 요구사항을 데이터의 관점에서 분석한다. 요구사항 분석서가 산출된다. 개념적 설계 (Conceptual Database Design) : 요구사항을 조금 더 정형화하기 위해 사용된다. 요구사항 분석서를 통해 ERD(Entity-Relationship Diagram)가 산출된다. 논리적 설계 (Logical Database Design) : ERD를 실질적 데이터베이스 형..
RDBMS (Relational Database Management System) 안전(Safe): 데이터를 영구적으로 저장, 트랜잭션의 보장 안정적(Reliable): 고가용성으로 1년에 99.999% 시간 동작을 보장 효율적(Efficient): 다사용자, 대용량 데이터를 동시처리하며, 한 명이 한 번씩 실행한 것과 비슷한 결과를 보장 편리(Convenient): 절차적 언어 SQL을 사용(알고리즘 신경 안 써도 됨), 데이터 독립성(물리적 저장구조 신경 안써도 됨) 기본 SQL -- @ 뒤에 localhost면 로컬에서 '%'를 입력하면 전체 어디서나를 의미 CREATE USER '유저이름'@'localhost' IDENTIFIED BY '비밀번호'; CREATE DATABASE ; -- 유저에게 ..
쿠키와 세션 궁금증(지난 글 추가내용) 세션이란? 세션은 일정 시간동안(방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점~브라우저를 종료하여 연결을 끝내는 시) 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술을 의미한다. 혹은 브라우저의 인증을 위해 서버 측에 저장되는 임시 데이터를 세션이라고 한다. 쿠키와 웹 스토리지 차이는? 쿠키 웹 스토리지 정보가 매번 서버에 요청 정보가 서버에 요청되지 않음 저장 가능 크기 작음 쿠키보다 저장가능한 크키가 큼 문자열만 저장가능 JS의 primitives와 Object도 저장가능 (key=value 형태로 저장) HTML5 이전부터 존재 HTML5 부터 추가 가장 큰 차이는 서버에 요청되는지 여부와 저장..

1. 쿠키 쿠키의 등장이유 HTTP는 Stateless(무상태) 프로토콜이다. 즉, 상태정보를 가지고 있지 않는 통신방법이다. Http는 단순하다. 요청하고 그 요청에 대한 응답을 받는다. 만약 로그인을 하고, 다음 http 통신을 요청한다면 무상태 프로토콜은 로그인 정보(상태)를 가지지 않으므로 로그인을 했는지 여부를 알 수 없다. 따라서 로그인 했음을 알려주려면 로그인에 대한 정보를 지속적으로 알려주어야 한다. URL 뒤에 로그인 정보를 쿼리문으로 붙여준다면? // 가상예시 https://github.com/settings/profile?login=ok 브라우저에 직접 입력해서 로그인페이지에 들어갈 수도 있는 문제가 생긴다. POST 요청 매개변수로 전달 form의 post 요청 정보를 계속 포함시켜..
기존 오해하고 있던 개념 가상메모리라는게 CPU가 바라보는 메모리이다. 이것은 각 프로세스가 RAM 메모리만큼을 다 쓰는 거라고 알고 있다. 그렇다면 같은 RAM을 사용한다면 그 프로세스의 가상메모리 크기는 같을 것이다. 라고 생각했다. 올바른 개념 그 프로세스가 실행되는데 필요한 메모리의 크기를 의미한다. 각각의 프로세스는 본인이 실행되기 위해서 필요한 메모리를 가진다. 필요한 메모리를 다 사용한다고 가정하는 것이 가상메모리이다. 따라서 실제 주 메모리보다 큰 영역의 메모리 공간을 제공할 수 있다. VIRT는 프로세스가 전에 사용했던 가상 메모리의 전체 크기를 말한다. code, data, shared library 등을 포함한다. 정리 리눅스와 관련된 포스팅 발표를 들으면서 또 잘못알고 있던 가상메모..
- Total
- Today
- Yesterday
- JPA
- 인증
- 글쓰기미션
- javascript
- 개발공부일지
- 모의면접준비
- 우테코수업
- 우아한테크코스
- java
- 학습로그
- Spring
- 마스터즈코스
- 내부코드
- 카카오
- TIL
- JS
- TCP/IP
- 회고
- python
- OS
- Transaction
- React
- 알고리즘
- 월간회고
- 네트워크
- 코드스쿼드
- CS
- 운영체제
- 객체지향
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |