728x90

CS 92

[DB] NoSQL (+Redis)

NoSQL - 비관계형 데이터베이스 - 관계형 데이터 모델을 지양하며, 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며, 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소 NoSQL의 장점 RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능 비정형 데이터 구조 설계로 설계 비용 감소 Big Data 처리에 효과적 가변적인 구조로 데이터 저장이 가능 데이터 모델의 유연한 변화가 가능 NoSQL의 단점 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능 많은 인덱스를 사용하려면 충분한 메모리가 필요. 인덱스 구조가 메모리에 저장 데이터 일관성이 항상 보장되지 않음

[DB] clustered / non clustered index

[SQL] Clustered Index & Non-Clustered Index (velog.io) [SQL] Clustered Index & Non-Clustered Index 앞서 Index에 대해서 정리 했었지만, Clustered Index와 Non-Clustered Index를 자세히 다루지 않아 이번 시간에 자세히 두 Index의 차이를 정리해보려 한다.Index는 DB의 테이블에 데이터가 많을 때, 검색 속도 velog.io clustered Index : 책으로 비유하자면 페이지를 알고 있어서 바로 해당페이지를 펼치는 것과 같음. 데이터가 테이블에 삽입되는 순서에 상관없이 Index로 생성되어있는 컬럼을 기준으로 정렬되어 삽입됨. clustered Index :테이블 당 한개씩만 존재 가능함..

[DB] Union vs Union All (+JOIN)

UNION 과 UNION ALL 이란 (tistory.com) UNION 과 UNION ALL 이란 UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다. silverji.tistory.com UNION * 여러 쿼리문을 합쳐서 하나의 쿼리문으로 만들어주는 방법 * 중복된값을 제거하고 보여줌 * 중복된 값을 제거하는 연산이 추가로 수행되기 떄문에 UNION ALL 보다 속도 느림 UNION ALL * UNION과 동일 * but 중복된 값을 모두 보여줌 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.) 컬럼별로 데이터 타입이..

[DB] 정규화

[Database] 정규화(Normalization) 쉽게 이해하기 - MangKyu's Diary (tistory.com) [Database] 정규화(Normalization) 쉽게 이해하기 지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz mangkyu.tistory.com 정규화의 기본 목표: 테이블 간에 중복된 데이타를 허용하지 않는다는 것 무결성 유지할 수 있으며, DB의 저장용량 역시 줄일 수 있음. 이런 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라짐. 1. 제 1 정규화 테이블의 ..

[DB] 키(key)

[DataBase] 키(Key)의 개념 및 종류 (tistory.com) [DataBase] 키(Key)의 개념 및 종류 데이터 베이스 키(Key)의 개념 및 종류 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)입니다. * limkydev.tistory.com 1.후보키 * 릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별할 수 있는 속성들의 부분집합 * 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야함. * 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함. ex) 릴레이션에서의 '학번' 이나 '주민번호' -> 기본키가 될 수 있는 키들을 후보키라고 함. 2.기본키 * 후보..

List / Dictionary(C++에서의 map) / Set

[C++] set container 정리 및 사용법 (tistory.com) [C++] set container 정리 및 사용법 안녕하세요. BlockDMask 입니다 !오늘은 연관 컨테이너 set, multiset, map, multimap 중 set에 대해 학습해보겠습니다.순서는 set container -> set의 사용법 -> set의 생성자와 연산자 -> set의 멤버 함수 -> 다양한 blockdmask.tistory.com *list C++의 list는 딱 더블 링크드리스트와 구조가 같음. 다만, C++에서는 미리 구현되어있다는 점이 다름 순서를 유지하는 구조임. 노드기반 컨테이너이며, 이중연결리스트라고 생각하면 됨 원소 탐색 시 임의접근 반복자(at(), [])는 불가능하고, 양방향 반복자..

이진탐색 (시간복잡도와 이유)

[알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) (velog.io) [알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 velog.io 정렬되어있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 시간복잡도는 O(logN) -> 여기서 log는 log₂ 단계마다 탐색 범위를 반으로(÷2) 나누는 것과 동일하므로 위 시간 복잡도를 가지게 된다. # 재귀 함수로 구현한 이진 탐색 def binary_search(array..

우선순위 큐

[자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) (tistory.com) [자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) 1. 우선순위 큐 1.1 우선순위 큐란? 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위 suyeon96.tistory.com 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. 힙(..

레드블랙트리

레드블랙트리: 자가균형이진탐색트리 [자료구조] 레드-블랙 트리(Red-Black Tree)란? | 레드-블랙 트리 쉽게 이해하기 (tistory.com) [자료구조] 레드-블랙 트리(Red-Black Tree)란? | 레드-블랙 트리 쉽게 이해하기 레드-블랙 트리(Red-Black Tree) 레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다. 1. 모든 노드는 빨간색 혹은 검은색이다. 2. 루트 노드는 검은색 code-lab1.tistory.com

map과 hashMap차이

배고파서 까먹고 만든 블로그 :: C++ Hash와 Map의 차이점 (tistory.com) C++ Hash와 Map의 차이점 Hash와 Map의 차이점 STL에 보면 Map이라는 컨테이너가 있습니다. 이전에 정리한걸 다시 보면.. map - 특정 키(key)로 데이터를 접근하고 관리할 수 있다. - 키로 값에 접근하며 삽입과 삭제가 빠르다. wonjayk.tistory.com 특정 키에 대한 값을 찾는 과정에서 * map: 키-값의 컬렉션을 나타내는 추상 데이터 유형 레드블랙트리 알고리즘을 이용함 * hashMap: 이름 그대로 hash table을 이용해서 키-값 관계를 유지하며, 순서는 보장되지 않지만 빠른 조회 및 검색 필요 시 사용됨 그런데 STL 컨테이너를 보면 Hash Map은 없습니다. 이..

728x90