CS 지식/○ Database
-
(9) RedisCS 지식/○ Database 2021. 7. 10. 23:55
1. Redis 1-1) 정의 레디스(Redis)는 메모리 기반의 Key/Value Store - 리스트, 해시, 셋 정렬된 셋 등 여러 형식의 자료구조를 지원 [Redis 자료구조 예시▼] 더보기 1. String 일반적인 문자열로 최대 512mbyte 길이까지 지원한다. Text 문자열뿐만 아니라 Integer와 같은 숫자나 JPEG 같은 Binary File까지 저장할 수 있다. 2. Set set은 String의 집합이다. 여러 개의 값을 하나의 Value 내에 넣을 수 있다고 생각하면 되며 블로그 포스트의 태그(Tag) 등에 사용될 수 있다. 재미있는 점은 set 간의 연산을 지원하는데, 집합인 만큼 교집합, 합집합, 차이(Differences)를 매우 빠른 시간 내에 추출할 수 있다. 3. S..
-
(8) 트랜잭션 격리 수준CS 지식/○ Database 2021. 7. 7. 21:34
1. 격리 수준(Isolation level)이란? 1-1) 정의 동시에 수행되는 트랜잭션 thread/작업들에서 일관성을 해칠 수 있는 데이터 작업을 허용하도록 하는 수준 1-2) 필요성 ACID 특성을 지키면서 트랜잭션이 수행되도록 하는데 보통 격리수준과 성능이 반비례 관계에 있게 됨 ACID 참조 : https://korshika.tistory.com/171 (7) DB Transaction 1. 트렌젝션이란? 1-1) 정의 데이터베이스의 상태를 변화시킬 때 수행하는 정해진 "작업 단위"를 의미 이때 작업은 다음의 CRUD의 SQL 문을 의미 - SELECT - INSERT - DELETE - UPDATE 1-2) 용어 (a) 트랜잭션 특.. korshika.tistory.com > Trade-of..
-
(7) DB TransactionCS 지식/○ Database 2021. 7. 7. 00:02
1. 트렌젝션이란? 1-1) 정의 데이터베이스의 상태를 변화시킬 때 수행하는 정해진 "작업 단위"를 의미 이때 작업은 다음의 CRUD의 SQL 문을 의미 - SELECT - INSERT - DELETE - UPDATE 1-2) 용어 (a) 트랜잭션 특징 ACID 특성 원자성(Atomicity) 이분적인 상태를 의미 트랜잭션이 DB에 모두 반영(Commit)되거나, 혹은 반영되지 않아야(Rollback) 함 일관성(Consistency) 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 함 독립성(Isolation) 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때 어떠한 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없음 (OS 데이터 정합성-세마포어 뮤텍스와 비슷) 지속성(Durability) 트랜잭션이..
-
(6) IndexCS 지식/○ Database 2021. 7. 3. 15:03
1. Index란? 참조: https://korshika.tistory.com/93?category=963003 (2) 데이터베이스의 본질과 index ■ 데이터베이스의 본질 > 어떻게 입력하고 출력 하는가? - 가 본질이 된다 > CRUD 가 본질 1) 입력 - Create - Update - Delete 2) 출력 - Read ■ File vs Spread-sheet vs Database > File로 무언가를.. korshika.tistory.com 1-1) 목적 RDBMS에서 검색 속도를 높이기 위한 기술 Table의 Column(Attribute)을 색인화를 하여 저장( 다른 파일로 저장 ) → B+Tree 구조를 사용하여 Index를 만듦 1-2) 장점 Index를 사용하는 table의 레코드..
-
(5) SQL AnomalyCS 지식/○ Database 2021. 7. 3. 14:09
1. 이상현상(Anomaly)란? 1-1) 정의 SQL의 스키마에 맞게 Record( aka. Tuple)가 추가되어야 하는데 잘못된 테이블/스키마 설계로 인해 Anomaly가 나타날 수 있음 2. 예시 ※ 예제 데이터 Field 데이터 : {Student ID, Course ID, Department, Course ID, Grade} 2-1) 삽입 이상 (Insertion Anomaly) (a) 정의 기본키로 정의된 상황에서 불필요한 데이터를 추가해야지 삽입할 수 있는 상황 (b) 상황 키 참조 : https://korshika.tistory.com/159?category=970464 (1) Key 1. Key란? 1-1) 정의 검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 Attribute..
-
(4) SQL vs NO-SQLCS 지식/○ Database 2021. 7. 2. 23:19
1. SQL 1-1) 정의 관계형 데이터 베이스 RDBMS 에서 CRUD를 수행할 수 있음 참조 : https://korshika.tistory.com/110?category=963003 생활코딩( Database2 MySQL ) (2) - MySQL 기본 구조 ■ MySQL의 복잡성 관리 > 기본적으로 CRUD의 기능을 SQL을 통해 수행 > 하나의 테이블일때는 비교적 관리가 간단하지만 복잡하게 증가할 수록 파일/폴더의 dir의 형식처럼 테이블 자체를 관리할 필 korshika.tistory.com ※ 개념 RDBMS : Relationdal Database Management System DBMS : Database Management System 1-2) 관계형 데이터베이스 특징 데이터는 정해진 데..
-
(3) SQL InjectionCS 지식/○ Database 2021. 7. 2. 00:29
1. SQL Injection이란? 1-1) 정의 해커에 의해 쿼리문이 서버영역까지 그대로 전달되어 비정상적인 명령을 실행시키는 공격 기법 1-2) 공격 방법 (a) 인증 우회 참조 6-1)에 Authentication 이후 Authorized되어야 하는데, Unauthorized임에도 Authorized 하게 하는 방식 : https://korshika.tistory.com/158?category=974498 (13) HTTP - HTTP 상태코드 1. 상태코드란? 1-1) 정의 HTTP 응답을 서버에서 받았을 때 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 > 모든 응답 번호 3xx : 요청을 완료하려면 추가 행동이 필요 4xx : 클라이 korshika.tistory.com ※ EX..
-
(2) JoinCS 지식/○ Database 2021. 6. 30. 20:54
1. Join이란? 다음 참조: https://korshika.tistory.com/category/Backend/JOIN%EC%8B%AC%ED%99%94 'Backend/JOIN심화' 카테고리의 글 목록 코딩 / 영화 / 미래에 대한 개인적인 일기와 기록... personal records about codling / movies / future ... korshika.tistory.com 1-1) 정의 두개 이상의 테이블이나 데이터베이스를 연결하여 하나처럼 취급하고 데이터를 검색하는 방법 하나의 중복 column을 사용하여 Join에 활용한다 1-2) Join의 종류 INNER JOIN 교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여준다. SELECT A.NAME, B.AGE FROM ..
-
(1) KeyCS 지식/○ Database 2021. 6. 30. 20:21
1. Key란? 1-1) 정의 검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 Attribute 2. Key의 종류 2-1) Candidate Key ( 후보키 ) (a) 정의 Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 (기본키로 사용할 수 있는 속성들) (b)특징 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음 최소성 : 꼭 필요한 속성만으로 구성( 여러개를 쓰면 조회가 오래 걸리므로 ) 2-2) Primary Key ( 기본키 ) (a) 정의 후보키 중 선택한 Main-key (b) 특징 Null 값을 가질 수 없음 동일한 값이 중복될 수 없음 2-3) Alternative Key ( 대체키 ) (a) 정의 후보키 중 기본키를 제외한 나머지 키 == 보조키..