본문 바로가기

cs8

ep 08-3.SQL vs. NoSQL SQL - 관계형 데이터베이스와 상호작용할 때 사용함 👉 SQL을 사용해 데이터를 다룸 - 관계형 DB에선 스카마가 뚜렷하게 보임 👉 테이블간의 관계를 직관적으로 파악 가능 - 관계형 DB를 뜻하기도 함 👉 한 유형을 말하기 때문 NoSQL - 관계형 데이터베이스를 뺀 나머지 유형을 총칭함 - SQL만을 사용하지 않는 데이터베이스 - 관계형 테이블과 다른 방식으로 데이터를 저장함 - 주로 데이터가 고정되어 있지 않음 - 문서, 키 값, 와이드 컬럼, 그래프 등이 있음 - 반대 개념이라 해서 스카마가 반드시 없는 것은 아님 - 유연한 스카마를 제공하며, 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장 가능 - 데이터를 읽어올 때 스카마에 따라 데이터를 읽어옴 👉 SQL은 입력할 때 스카마에 맞게 입력해.. 2023. 1. 9.
ep 08-2. SQL Injection SQL Injection - 악의적인 사용자가 보안상의 취약점을 이용해, 임의의 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 - 공격이 비교적 쉬운편, 성공시 큰 피해를 입힐 수 있는 공격 공격 종류 및 방법 Error based SQL Injection - 논리적 에러를 이용한 SQL Injection - SQL 공격기법 중 가장 많이 쓰임, 대중적 SELECT * FROM Users WHERE id = 'INPUT1' AND password = 'INPUT2' // 해커 개입 SELECT * FROM Users WHERE id = ''OR 1=1 --' AND password = 'INPUT2' => SELECT * FROM Users Union based .. 2023. 1. 8.
ep 08-1.교착상태 교착상태 - 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미 쉽게 말해, 둘 이상의 프로세스가 서로 남이 가진 자원을 요구하면서 양쪽 모두 작업 수행을 할 수 없이 대기상태로 놓이는 상태를 말한다. 교착상태 발생 조건 상호배제 -한번에 한개의 프로세스만이 공유 자원을 사용할 수 있어야 함 점유와 대기 - 최소 하나의 자원을 점유하면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기중인 프로세스가 있어야 함 비선점 - 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함 환형 대기 - 공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이.. 2023. 1. 8.
ep 07-2. 트랜잭션 트랜잭션 - 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행돼야 할 일련의 연산들을 의미 사전에서 찾은 의미 - 쪼갤 수 없는 업무 처리의 최소 단위 - 거래내역이라고도 함 - 1초당 처리할 수 있는 트랜잭션의 개수를 TPS라 함 트랜잭션의 특징 원자성(Atomicity) - 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 함 - 트랜잭션 내의 모든 명령은 반드시 완벽히 수행돼야 하며, 모두가 완벽히 수행되지 않고, 하나라도 오류가 발생하면 트랜잭션 전부가 취소 돼야 함 일관성(Consistency) - 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함 - 시스템이 가지고 있는 고정.. 2023. 1. 1.