Computer Science/Database

Computer Science/Database

SQL과 NoSQL

SQL SQL은 관계형 데이터베이스(RDBMS)의 데이터를 저장, 검색 및 조작하는 하기 위해 설계된 프로그래밍 언어 입니다. 관계형 데이터베이스는 대부분 SQL 언어를 사용하기 때문에 데이터베이스를 SQL이라고 부르게 되었습니다. 특징 고정된 행과 열로 구성된 테이블에 데이터를 저장 각 열은 하나의 속성에 대한 정보를, 행에는 각 열의 데이터 형식에 맞는 데이터가 저장됨 테이블의 구조와 데이터 타입등을 사전에 정의하여 사용하며, 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입 가능 데이터의 중복을 피하기 위해 '관계'를 사용 장점 명확하게 정의된 스키마, 데이터 무결성 보장 관계는 각 데이터를 중복없도록 만들어줌 단점 데이터 스키마를 사전에 계획하고 사용 관계가 존재하기 때문에 조인문이 많은 복잡한..

Computer Science/Database

SQL Injection

SLQ Injection 이란? SQL 삽입, SQL 주입으로도 불리며 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격하는 방식을 말합니다. 웹 어플레케이션은 사용자의 클릭, 입력등에 따라 DB에 있는 데이터를 서로 다르게 받아오게 됩니다. 그러기 위해 Query는 사용자가 입력한 데이터를 포함하는 식으로 동적으로 변하게 되기 때문에 개발자가 의도하지 않은 정보를 열람할 수 있는 가능성이 생깁니다. 위의 상황을 노리고 임의의 쿼리를 생성하여 DB의 정보를 열람하거나 조작하는 경우를 SQL Injection이라고 할 수 있습니다. 공격난이도가 쉽지만 피해가 크기 때문에 OWASP에서도 수년 동안 인젝션 기법이 보안 위협 1순위로 분류되었습니다. 따라서 보안에 각별한 주의..

Computer Science/Database

Redis

Redis란? Remote Dictionary Server의 약자이며, 데이터를 메모리에 저장하는 인 메모리 방식의 비관계형 데이터베이스 관리 시스템입니다. Redis 는 Key-Value 구조의 비정형 데이트를 저장 및 관리하며 빠른 처리 속도를 자랑합니다. Redis의 특징 Key - Value 저장방식 다양한 데이터 타입 String : 일반적인 문자열로 최대 512MB까지 저장 가능 Set : String의 집합 Sorter Set : 정렬된 Set Hash : value내에 field/string value 쌍으로 이루어진 테이블을 저장하는 데이터 구조체 List : String들의 집합으로 Set와 유사하지만, 양방향 리스트와 같아 List 앞과 뒤에서 push / pop연산을 가능 싱글 스레..

Hover_
'Computer Science/Database' 카테고리의 글 목록