분류 전체보기
![[DB] SQL vs NoSQL](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBevnl%2FbtrNCfIKJUD%2FijiNahaJj0USfHYKBU6Tf0%2Fimg.jpg)
[DB] SQL vs NoSQL
SQL vs NoSQL SQL은 '구조화된 쿼리언어(Structured Query Language'의 약자이다. 그러므로 SQL은 데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는데 사용하는 쿼리 언어다. 반면, NoSQL은 관계형 데이터베이스의 한계점을 해결하기 위해 등장한 새로운 데이터베이스로, 기본적으로 SQL과 반대되는 접근 방식을 따르기 때문에 NoSQL이라고 이름 지어졌다. SQL 1. 특징 SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 이러한 관계형 데이터베이스의 데이터는 정해진 데이터 스키마를 따라 데이터베이스 테이블에 저장되며, 관계를 통해 연결된 여러 개의 테이블에 데이터가 분산되는 ..
![[DB] SQL Injection](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTCptF%2FbtrNoJ5iNJm%2F5Kt4EKcxJG4FlLaNn5kKDK%2Fimg.jpg)
[DB] SQL Injection
SQL Injection SQL 인젝션이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적으로 동작을 하도록 조작하는 행위이다. 인젝션 공격은 비교적 쉬운 편이지만, OWASP Top10 중 첫 번째에 속해 있으며 공격에 성공할 경우 큰 피해를 입힐 수 있는 공격이다. 공격 방법 1. Error based SQL Injection 논리적 에러를 이용한 SQL Injection SELECT * FROM Users WHERE id = 'INPUT1' AND password = 'INPUT2'; SELECT * FROM Users WHERE id = '' OR 1=1 -- ' AND password = 'INPUT2' > 과정 싱글쿼터를 닫아주기 ..
![[DB] 조인(JOIN) 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKRFSJ%2FbtrNgcE8CGp%2FxSWkt1Ij7m3FXct8RoIkOk%2Fimg.jpg)
[DB] 조인(JOIN) 정리
조인 ( JOIN ) 두 개 이상의 테이블을 결합하여 데이터를 검색하는 방법이다. 자신이 검색하고 싶은 데이터가 한 개의 테이블이 아니라 여러 개의 테이블에 나누어져 있다면 각 테이블 컬럼을 한 개씩 가져와서 그 컬럼을 접점으로 이용하여 여러 테이블에 나누어져 있는데 데이터를 한번에 검색한다. 조인은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능이다. 유형은 크게 아래와 같다. 논리적 조인 : 사용자 SQL문에 표현되는 테이블 결합 방식 물리적 조인 : 데이터베이스 옵티마이저에 의해 내부적으로 발생하는 테이블 결합 방식 [ 논리적 조인 ] - 내부 조인(Inner Join) : 공통 존재 컬럼의 값이 같은 경우를 추출 - 외부조인(Outer Join) : Left Outer Join, Ri..
![[DB] 키(KEY) 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft5nWm%2FbtrM6bn4Qna%2FySyWz38zGKBPDsKrwVN3t1%2Fimg.jpg)
[DB] 키(KEY) 정리
키(KEY) 키는 DB에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다. 무엇인가를 유일하게 식별한다는 의미가 있으며, 키의 종류로는 슈퍼키, 후보키, 기본키, 대체키, 외래키가 있다. [ 유일성 ] - 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질 - 여러 개의 튜플이 존재할 때 각각의 튜플을 서로 구분할 수 있어야한다. 즉, 각각의 튜플은 유일해야 한다. [ 최소성 ] - 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질 - 키를 구성하는 속성들이 각 튜플을 구분하는데 곡 필요한 속성들로 구성되어 있는가? 슈퍼키 (Super Key) [유일성 O, 최소성 X] 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집..

8) 네트워크 기술
NAT & PAT [ NAT (Network Address Translation) ] NAT는 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 통해 인터넷에 접속한다. IP 패킷이 트래픽 라우팅 장비를 거치면서 이동할 때, 헤더에 있는 IP 정보를 변환하는 작업이다. 즉, 외부망과 내부망을 나눠주는 기능을 한다. 하나의 공인 IP로 여러 사설 IP 사용 가능하다. 내부에서 외부로 통신이 가능하나, 그 반대는 불가하다. 사내망 IP 주소를 외부로 알리지 않아 외부로부터의 침입과 공격을 차단할 수 있다. [ PAT (Port Address Translation) ] 공인 IP 주소 1개에 사설 IP 주소 여러개를 매핑하는 것이다. 변환된 IP 주소로는 사내망 호스트들을 구분할 수 없기 때문..

7) 로드밸런서
L4 스위치 L4 스위치란 OSI 7계층인 Transport Layer의 장치이며 들어온 데이터를 로드밸런싱 해주는 장비이다. * 여기서 로드밸런싱이란? : 로드밸런싱은 우리말로 부하 분산을 의미하는데, 부하가 균등하게 되도록 분산하여 할당하는 것이다. [주요 역할] 외부에서 들어오는 모든 요청은 서버가 아닌 L4 스위치를 거쳐 서버에 적절히 분배한다. 부하 분산뿐만 아니라 TCP, UDP, HTTP와 같은 프로토콜 헤더를 분석하여 부하분산을 실시한다. Source IP / Destination IP를 NAT (Network Address Translation)하여 보낼 수 있다. 방화벽 방화벽(FireWall)은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 ..