일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩교육봉사
- SQL
- kotlin
- 알고리즘
- 문제풀이
- programmers
- 파이썬
- BFS
- MYSQL
- 코틀린
- 코딩봉사
- 백준알고리즘
- java
- 백준
- 백준 알고리즘
- C++
- python
- 스프링
- SW봉사
- 소프티어
- 데이터베이스
- 자바
- 프로그래머스
- 회고
- 1과목
- 정보처리산업기사
- softeer
- 시나공
- 공부일지
- CJ UNIT
- Today
- Total
목록DB (5)
JIE0025

✅ DB 클러스터링이란? > 단일 데이터베이스를 연결하는 둘이상의 서버/인스턴스를 결합하는 프로세스 아래를 보면 쿼리를 수행하는 서버가 있고, 실제 저장공간인 Database가 있다. 서버를 둘 이상으로 늘려서 단일 Database에 연결하는것이다. ✅ 클러스터링을 하는 이유 만약 DB 서버가 2대가 된다면 어떻게 될까?많은 양의 쿼리문을 더 빠르게 응답할 수 있을것이다. 또한 한개의 서버가 이상이 생기더라도 다른 서버가 존재 하기 때문에 정상적인 서비스를 운영할 수 있다. 단점위 그림을 보면 두 서버가 둘다 Active하다. 이는 두개 서버가 동시에 같은 자원에 접근하려고 할수 있다는 의미가 된다. (병목현상)병목현상이 발생하면 더 많은 비용이 발생할 수 있다. >> Active ..

✅ 왜 인덱스는 B-TREE, B+TREE 자료구조를 채택했을까? 인덱스 구현을 위해선 대표적으로 해시테이블과 비트리가 존재한다. ⏺ 해시테이블 해시테이블은 Key value를 저장하는 데이터 구조로, 빠른 데이터 검색을 할때 유용하다. 따라서 해시테이블 기반의 DB인덱스는 컬럼의 값으로 생성된 해시를 통해 인덱스를 구현한다. 검색 속도도 해시테이블의 Key를 찾는 속도인 O(1)이다. 그러나 DB의 인덱스에서는 해시테이블을 사용하는 경우가 제한적이다. WHY? equal = 연산에만 특화되었기 떄문이다. 해시함수는 값이 1개라도 달라지면 다른 해시값을 생성하기 때문에 범위 검색 (> ⌈M2⌉⌈�2⌉, 최대 M�개의 서브 트리를 갖는다. 6. 모든 leaf node들은 같은 level에 있어야 한다. ⏺..

✅ 개요 Database와 SQL강의를 듣다보면 SELECT 문을 배우게 되는데 일반적으로 데이터를 출력한다 정도로만 배우지, 내부적으로 기능이 무엇이 있는지 정의 자체는 배운 기억이 나지 않는다. SELECT문을 통해 데이터 검색 기능의 원리에 대해 알아보자. ✍️ Selection 테이블에서 출력하고자 하는 행을 제한적으로 출력한다. 데이터베이스에서 원하는 부분집합 (subset)을 선택한다. 👩💻 간단한 예시 CUSTOMERS 테이블에서 AGE가 20 이상인 "행"을 선택한다. SELECT * FROM CUSTOMENRS WHERE AGE>=20 ✍️ Projection 테이블에서 출력하고자 하는 열을 제한적으로 출력한다. 👩💻 간단한 예시 CUSTOMERS 테이블에서 NAME과 AGE라는 "열..

✅ 목적 특정 키워드를 검색하기 위해 DB에 데이터를 조회하게 되면 LIKE %keyword% 이런식으로 접근하는데.... 게시물 본문과 같은 경우 글이 너무 많은 경우 그 안에서 키워드를 찾기란 쉽지 않다. 이런 경우에 검색 성능을 높이기 위해 고려할 수 있는것들이 존재한다. 쿼리 최적화와 더불어 인덱싱을 사용함으로써 성능개선에 도전해보게 되었다. ✅ 어떤 상황이었는가? (이전 설계의 상태 : ERD와 MySQL) 게시글(BulletinPost)와 장소(Amenity)는 뗄레야 뗄 수 없는 관계이다. ⏺ ERD BulletinPost와 Amenity는 다음과 같은 관계이다. 게시글 1개는 장소 1개를 가질수 있다. 장소 1개는 게시글 N개에 태그될 수 있다. ⏺ 요청 해당 API가 사용되기까지 과정은..

✅ 개요 지도 API 를 사용하기로 결정되면서 장소에 대한 데이터를 우리 서비스에 저장해둘 필요가 생겼다. 프론트 분과 상의 후 KAKAO MAPS API를 사용하기로 되었고, KAKAO MAPS API의 데이터에서 어떤 데이터를 저장하고, 어떻게 데이터를 저장할지 설계가 필요했다. ✅ KAKAO MAPS (response) 먼저 카카오 맵이 특정 장소에 대해 어떻게 응답을 주는지 살펴보았다. ✅마이버디 데이터베이스에는 어떤 데이터를 저장해야할까? 서비스의 기능과 연결해 필요한 데이터만을 저장하도록 해야했다. 와 관련된 요구사항은 다음과 같다. 📣 요구사항1. 마이페이지에서 좋아하는 장소 리스트가 나와야한다. 1) 해당 장소를 클릭시 -> 장소가 태그된 게시글들이 나온다. 2. 검색페이지에서..