MySQL VS MongoDB NoSQL MySQL과 MongoDB는 각 RDBMS와 NoSQL 이다. NoSQL은 Not Only SQL 의미로 SQL 이외의 다른 데이터베이스를 얘기한다. 즉, NoSQL 이 곧 MongoDB라고는 할 수 없다. 그저 전통적으로 RDBMS가 주류로 있어왔기 때문에 SQL 과 NoSQL 이라고 나누는 것이다. 데이터를 구성하는 방법 관계형 데이터베이스와 도큐먼트 데이터베이스는 데이터를 구성하는 방법이 서로 다르다. 관계형 데이터베이스의 경우 속성을 정의한 열의 집합으로 테이블을 정의하고 이러한 테이블들을 모아 하나의 데이터베이스를 이룬다. ROW 를 구성한다. 도큐먼트 데이터베이스의 경우 BSON(Binary JSON) 형태의 도큐먼트를 모아둔 컬렉션이 있고 이 컬렉션들..
인덱스 키의 빈번한 Update가 문제인 이유 인덱스 우리가 책을 읽을 때 목차가 없다면 원하는 부분을 찾기 위해 책의 앞 부분 부터 한 페이지씩 넘겨가며 내용을 찾아야 할 것이다. 이러한 상황을 막기 위해 책은 페이지와 매핑한 목차를 제공한다. 데이터 베이스에서도 탐색 성능 향상을 위해 책의 목차와 같은 인덱스를 제공한다. 즉, 인덱스는 데이터 베이스의 탐색 성능 향상을 위한 목차이다. 인덱스의 자료구조 이진 트리의 경우 그 균형이 맞다면 O(log_2 N) 의 효율성을 가진다. 하지만 균형이 맞지 않은 트리의 경우 링크드 리스트와 같아 선형 탐색을 하게 되고 최악의 경우 O(N) 의 효율성을 가지게 된다. 때문에 트리는 균형을 맞추기 위해 요소가 추가, 갱신, 삭제 될 때 마다 균형을 맞추기 위한 리..
MySQL과 Redis 인메모리 DB 와 디스크 기반 DB DBMS ( Data Base Management System )는 데이터를 저장 관리해주는 시스템을 얘기한다. 이 DBMS의 다양한 분류기준 중 데이터를 저장하는 위치에 따른 분류로 인메모리와 디스크로 나눌 수 있다. 인메모리는 RAM 이라고 부르는 휘발성 저장장치에 저장한고 반대로 디스크 기반인 경우 하드 디스크 혹은 SSD 라고 부르는 영속저장 장치에 저장된다. 기본적으로 MySQL의 경우 디스크에 저장되는 디스크 기반 데이터베이스이고 Redis의 경우 메모리(주 기억장치)에 저장되는 인메모리 데이터 베이스에 한 종류이다. 때문에 종류 별 특징을 아는 것은 중요하다. 인메모리 VS 디스크 기본적으로 인메모리 데이터베이스는 디스크(HDD/SS..
Nested Loop Join 조인 방식 중 하나로 조인 시 두 테이블의 레코드를 모두 확인하는 방식으로 중첩 포문과 같은 방식 이라고 할 수 있다. Driving 테이블의 레코드를 순차적으로 하나씩 읽어 Driven 테이블과 조인하는 방식 Driving 테이블의 레코드 개수가 너무 많으면 Driven 테이블을 읽는 횟 수가 늘어 속도에 이상이 생긴다. 즉, 레코드의 숫자가 적을 수록 성능이 좋다. Driving 테이블에 조인 컬럼으로 인덱스가 있을 때, 성능이 빨라진다. Hash Join Hash Table을 생성하여, Hash Function을 활용한 탐색으로 조인한다. Nested Loop Join 에 비해 Hash 알고리즘을 사용하기 때문에 순차 탐색보다 빠른 탐색 성능으로 Join 성능 향상에 ..
- Total
- Today
- Yesterday
- 객체 풀
- pass by reference
- 세션 불일치
- 컴포짓 패턴
- Sticky Session
- pass by value
- 외부 단편화
- Session
- 장애 해결기
- pool
- 육각형 아키텍처
- 동적 디스패치
- 클린 아키텍처
- 수직 분할
- 수평 분할
- 정적 타입 언어
- java
- SpringBoot 2.2
- Clean Architecture
- multimap
- Memory Fragmentation
- 내부 단편화
- Object Pool
- 메모리 파편화
- ATDD
- 뾰족함
- 메모리 단편화
- OOP
- RestAssured
- 동적 타입 언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |