728x90
반응형

전체 글 168

[자료구조] Tree

🎯 Tree Tree는 하나의 root 노드에서 시작하여 여러 개의 자식 노드를 가질 수 있는 자료구조입니다. 각 노드는 부모-자식 관계로 이어져 있으며, 루트 노드는 부모가 없는 특수한 노드입니다. Tree는 계층적인 구조를 나타내는 데에 유용하게 사용됩니다. Tree의 용어 루트노드 : 트리의 최상위에 있는 노드 [A] 자식노드 : 노드 하위에 연결된 노드 [B,C,D]는 [A]의 자식노드 부모노드 : 노드의 상위에 연결된 노드 [A]는 [B,C,D]의 부모노드 차수(Degree) : 자식노드의 수 [A]의 Degree는 3 이파리노드(Leaf) : 자식이 없는 노드(= 단말노드 : Terminal Node) [K,L,F,M,N,I,O,P] 형제노드 : 동일한 부모를 가지는 노드 [B,C,D]는 부모..

자료구조 2023.03.26

[자료구조] Stack & Queue

🎯 Stack & Queue Stack 스택은 후입선출(LIFO, Last-In-First-Out) 구조로, 데이터를 쌓아 올리듯 쌓아서 저장하는 자료 구조입니다. 스택에 데이터를 추가하는 것을 push라 하며, 스택에서 데이터를 추출하는 것을 pop이라고 합니다. 스택은 주로 함수 호출, 수식 평가, 브라우저 방문 기록 등에서 사용됩니다. Queue 큐는 선입선출(FIFO, First-In-First-Out) 구조로, 데이터를 순서대로 저장하고 접근하는 자료 구조입니다. 큐에 데이터를 추가하는 것을 enqueue라 하며, 큐에서 데이터를 추출하는 것을 dequeue라고 합니다. 큐는 대기열 관리, 작업 처리, 네트워크 패킷 관리 등에서 사용됩니다.

자료구조 2023.03.26

[Database] 레디스(Redis)

🎯 레디스(Redis) 레디스(Redis)는 메모리 기반의 Key-Value 형태의 데이터 저장소입니다. 레디스는 오픈소스로 개발되었으며, 성능이 뛰어나고 다양한 언어로 구현된 클라이언트 라이브러리를 제공하므로 많은 애플리케이션에서 사용됩니다. 레디스는 디스크에 저장하지 않고 메모리에 데이터를 저장하므로, 일반적인 관계형 데이터베이스보다 빠르게 데이터를 처리할 수 있습니다. 또한, 레디스는 Key-Value 형태로 데이터를 저장하므로, 캐시나 세션 데이터, 메시지 브로커 등 다양한 용도로 사용됩니다. 레디스(Redis)의 주요 기능 문자열(String) 데이터형을 지원합니다. 해시(Hash) 데이터형을 지원합니다. 리스트(List) 데이터형을 지원합니다. 셋(Set) 데이터형을 지원합니다. 정렬된 셋(S..

Database 2023.03.26

[Database] 저장 프로시저(Stored Procedure)

🎯 저장 프로시저(Stored Procedure) 저장 프로시저(Stored Procedure)는 데이터베이스 내에 미리 작성된 SQL 코드 블록으로, 일련의 작업을 수행하기 위한 프로그램입니다. 저장 프로시저는 반복적으로 수행되는 작업이나 복잡한 작업을 수행할 때 유용하며, 실행 속도와 보안성을 향상시킬 수 있습니다. 저장 프로시저(Stored Procedure) 사용법 DELIMITER $$ CREATE PROCEDURE `get_employee` ( IN employee_id INT ) BEGIN SELECT * FROM employees WHERE id = employee_id; END $$ DELIMITER ; 위의 예제에서는 get_employee라는 이름의 저장 프로시저를 생성하고 있습니다...

Database 2023.03.26

[Database] 트랜잭션의 격리 수준(Isolation Level)

🎯 트랜잭션의 격리 수준(Isolation Level) 트랜잭션의 격리 수준(Isolation Level)은 동시에 여러 트랜잭션이 실행될 때, 각각의 트랜잭션이 서로 영향을 주지 않고 독립적으로 실행될 수 있도록 하는데 중요한 역할을 합니다. 격리 수준은 동시에 실행되는 다른 트랜잭션들과의 상호작용 방식을 결정합니다. 트랜잭션의 격리 수준 4가지 READ UNCOMMITTED 트랜잭션이 커밋되지 않은 다른 트랜잭션에서 변경된 데이터도 읽어들일 수 있는 최하의 격리 수준입니다. Dirty Read, Non-repeatable Read, Phantom Read 문제점이 발생할 수 있습니다. READ COMMITTED 트랜잭션이 커밋된 데이터만 읽어들일 수 있습니다. Dirty Read 문제는 발생하지 않지..

Database 2023.03.26

[Database] 트랜잭션(Transaction)

🎯 트랜잭션(Transaction) 트랜잭션(Transaction)은 데이터베이스에서 일어나는 작업의 논리적 단위를 의미합니다. 보통 데이터베이스에서 데이터를 저장, 수정, 삭제하는 작업을 수행할 때, 여러 단계의 작업을 수행해야 하는 경우가 있습니다. 이러한 작업을 수행하는 도중에 어떤 문제가 발생하여 중간에 작업이 실패하면, 데이터의 무결성이 깨질 수 있습니다. 이러한 문제를 방지하기 위해, 트랜잭션은 모든 작업이 성공적으로 수행될 때만 반영되도록 보장합니다. 트랜잭션의 ACID ✅ 원자성(Atomicity): 트랜잭션은 "원자적"이어야 합니다. 즉, 모든 작업이 하나의 논리적인 단위로 처리되어야 하며, 하나의 작업이라도 실패하면 전체 작업이 취소되어야 합니다. ✅ 일관성(Consistency): 트..

Database 2023.03.26
728x90
반응형