본문 바로가기
  • 꾸준히 앞으로

분류 전체보기23

[MySQL] 스토리지 엔진 - InnoDB, MyISAM InnoDB 장점 단점 MyISAM 장점 단점 정리 ⍞ Reference 트랜잭션 처리 + 대용량의 데이터 → InnoDB 엔진이 효율적 트랜잭션 처리가 필요 없고 + 운영에 Read only 기능이 많은 서비스 → MyISAM 엔진이 효율적 InnoDB MySQL의 기본 엔진. 무겁고 느리지만 다양한 기능이 있다. 데이터 모델 디자인이 복잡 커밋과 롤백 기능이 있는 트랜잭션 세이프 테이블 세이브 포인트는 부분 롤백 가능하게 한다. 오작동 후 자동 복구 기능 연쇄적인 삭제와 갱신을 포함하는 외래 키와 참조 무결성 지원 검색과 갱신 둘다 포함하는 조건이 혼합된 질의에서 동시성 수행을 높이는 행 단위 락과 다중 버전 지원 MySQL 5.6부터 풀 텍스트 검색과 풀 텍스트 인덱스 지원 장점 row level .. 2020. 9. 4.
RDBMS와 NOSQL 💡 RDBMS와 NOSQL 비교 CAP 이론 RDBMS 탄생 배경 특징 장점, 단점 어떤 상황에 사용할까? 모델링 과정 NOSQL 탄생 배경 특징 장점, 단점 어떤 상황에 사용할까? 데이터 모델링 과정 ⍞ Reference 💡 RDBMS와 NOSQL 비교 RDBMS 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 관계형 연산을 함 하나의 고성능 머신에 데이터 저장 (수직적 확장) 테이블 스키마 변경 불가 대부분의 데이터베이스에서 안정적으로 사용 가능 NOSQL 데이터 간의 관계를 정의하지 않음 일반적인 서버 수십 대를 연결해 데이터를 저장 및 처리하는 구조 (수평적 확장) 테이블 스키마 유동적 대용량 데이터 처리에 좋음 CAP 이론 🤫 CAP 이론이란? 분산 컴퓨팅 환경은.. 2020. 6. 16.
[데이터베이스] 정규화 vs. 비정규화(반정규화) 💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스 비정규화 데이터베이스 비정규화(Denormalization, 반정규화)란 무엇인가? 장점, 단점 비정규화 대상 주의점 정규화(Normalized)란 무엇인가? 장점, 단점 정규화의 원칙 함수적 종속(Functional Dependency) 완전 함수적 종속, 부분 함수적 종속 ✍️ 질문 체크 ⍞ Reference 💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스(normalized database)는 중복을 최소화하도록 설계된 데이터베이스를 말한다. 비정규화 데이터베이스(denormalized database)는 읽는 시간을 최적화하도록 설계된 데이터베이스를 말한다. 정규화 데이터베이스 같은 데이터는 데이터베이스 내.. 2020. 6. 15.
동적계획법(DP, Dynamic Programming), 쉬운 것 같은데 쉽지 않은.. 동적계획법이란? 그리디 알고리즘과 비교 적용 연습문제 🔗 프로그래머스, 타일 장식물 🔗 프로그래머스, 등굣길 🔗 LeetCode, Coin Change ✨ 🔗 LeetCode, Word Break ✨ ⍞ Reference 동적계획법이란? 전체 문제를 작은 문제로 단순화한 다음 점화식으로 만들어 재귀적인 구조를 활용해서 전체 문제를 해결하는 방식 큰 의미에서 분할 정복과 같은 접근 방식을 의미한다. → 처음 주어진 ① 문제를 더 작은 문제들로 나눈 뒤 ② 각 조각의 답을 계산하고, ③ 이 답들로부터 원래 문제에 대한 답을 계산해 낸다. 동적 계획법과 분할 정복의 차이가 발생하는 부분은 문제를 나누는 방식이다. → 동적 계획법에서 어던 부분 문제는 두 개 이상의 문제를 푸는데 사용될 수 있기 때문에 값을 저.. 2020. 6. 14.
[Java] Array to List, List to Array Array → List 1. 가장 단순한 for문 list.add(value); 예시 2. 간결한 메소드 asList() ✨ List list = Arrays.asList(arr); 예시 3. Collection 패키지 사용 addAll() ✨ Collections.addAll(list, arr); 예시 4. 익숙하다면, stream List list = Arrays.stream(arr).collect(Collectors.toList()); 예시 List → Array 1. 가장 단순한 for문 arr[i] = list.get(i); 예시 2. 간결한 메소드 toArray ✨ String[] arr = list.toArray(new String[0]); 예시 3. 간결하지만 시간 오래 걸리는 stream.. 2020. 6. 13.