-
우아한테크캠프 Day14우아한테크캠프 2018. 7. 20. 01:06
호스트와 서버란?
호스트 : 물리적인 머신
서버 : 물리적 머신 안에 있는 프로그램
즉, 서로 다른 개념이다.
SSH Tunneling
터널을 통해 데이터를 주고받는다 해서 붙여진 이름, 방화벽에서 특정 포트가 막혀있을 경우 우회하는 방법으로 쓰임
※ SSH의 고유기능 : 데이터 암/복호화
점프호스트(Jump host), 베스천호스트(Bastion host)
침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트
Scale up 과 Scale out 개념 (추후 정리)
공개키, 비밀키 개념 (추후 정리)
클라우드
기존의 레거시 코드 그대로 클라우드로 가져가면 오히려 성능이 더 나빠질 수 있다.
따라서 클라우드에 적합한 코딩방법으로 구현해야 한다
책 추천 : 클라우드 네이티브 자바
Day14 학습 내용
관계형 데이터베이스의 핵심
1. 정규화 : 테이블을 쪼개는 것
2. Join : 테이블을 합치는 것
PK에 인덱스를 거는 이유 (Unique 인덱스 + Not null)
1. Insert나 Update 시 PK에 중복 값이 있는지 검사를 해줌
2. Join을 빨리하기 위해
물리적 저장 방식의 종류 (대상 : 데이터)
Clustered Index (인덱스를 의미하는 것이 아니라 하나의 자료구조다.)
Non-Clustered Index
Unique Index는 주소 부분에 PID 주소가 들어간다.
Secondary Index는 주소 부분에 PK 주소가 들어간다. (PID 주소가 아님)
트랜잭션 고립화 수준(Transaction Isolation Level)
Level 0 (= Read Uncommitted)
커밋되지 않은 데이터를 다른 트랜잭션에서 읽는 것이 가능
Level 1 (= Read Committed)
트랜잭션이 완료된 데이터만 읽는 것이 가능
Level 2 (= Repeatable Read)
반복해서 읽어도 같은 트랜잭션에서는 값이 똑같다.
선행 트랜잭션이 읽은 데이터는 트랜잭션이 종료될 때까지, 후행 트랜잭션이 수정하거나 삭제하는 것이 불가능
Level 3 (= Serializable Read)
선행 트랜잭션이 읽은 데이터를 수정하거나 삭제하지 못할 뿐만 아니라, 새로운 레코드 삽입도 불가능
※ 용어 정리
Dirty Read (= Uncommitted Dependency)
수정 중인 데이터를 다른 트랜잭션에서 읽을 수 있는 것
Non-Repeatable Read(= Inconsistent Analysis)
한 트랜잭션 안에서 같은 쿼리를 두 번 이상 사용할 때 그 사이 다른 트랜잭션이 값을 수정 또는 삭제하여
두쿼리의 결과가 다른 것
Phantom Read
한 트랜잭션 안에서 일정 범위의 레코드들을 두 번 이상 읽을 때, 첫 번째 쿼리에서 없던 레코드가 두 번째 쿼리에서 나타나는 현상
NoSQL
1. CAP 이론
C: Consistency A: Availability P: Partition Tolerence
셋 모두 만족시키는 시스템은 구현할 수 없다. (트랜잭션의 일관성과 의미가 다소 다름)
많은 NoSQL은 일관성(C)을 포기함
2. Eventual Consistency
미래의 언젠가 일관성이 보장되긴 하는데 그 시점은 모름
호눅스에게 질문한 목록1. many to many 관계에서 매핑 테이블은 필수인가?
필수다. (다음의 예를 보고 생각해 볼 것)
ex. 유저는 다수의 아이템을 소지 가능
한 아이템은 복수의 유저에 의해 소유됨
소유한 아이템은 개별로 내구도(DURABILITY), 강화(ENCHANT)의 속성을 추가로 가짐
※ many to one 관계에서는 many 쪽에 foreign key를 둘 수 밖에 없다.
2. cross join(카테시안 프로덕트)와 full outer join의 차이점 (추후 정리)
3. clustered index와 non-clustered index 자료구조의 차이점 (추후 정리)
4. 물리적 조인과 논리적 조인의 차이점 (추후 정리)
참고
http://bysql.net/index.php?document_srl=5062&mid=w201002
'우아한테크캠프' 카테고리의 다른 글
우아한테크캠프 Day17 (0) 2018.07.25 우아한테크캠프 Day15 (0) 2018.07.23 우아한테크캠프 Day13 (0) 2018.07.18 우아한테크캠프 Day12 (0) 2018.07.17 우아한테크캠프 Day11 (0) 2018.07.17