일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 트랜잭션의 acid 특성
- 객체지향 프로그래밍
- 파티셔닝의 종류
- 샤딩(sharding)과 파티셔닝(partitioning)의 개념
- 트리 그래프 차이점
- nat의 작동 방식
- acid 특성
- nat의 유형
- rdbms와 nosql의 차이점
- spring rest api 설정
- nat(network address translation)의 역할과 사용 이유
- Spring REST API
- orm(object-relational mapping)의 장단점
- 인덱스의 역할과 사용 이유
- 로드 밸런서의 종류
- 트리 그래프 차이
- Spring Boot
- 인덱스의 역할
- rest와 soap의 차이점
- nat의 장단점
- 데이터베이스 락(lock)의 종류와 동작 방식
- 정규화와 비정규화의 개념 및 장단점
- 인덱스의 장단점
- 린크드 리스트
- 함수형 객체지향형 차이점
- 데이터 바인딩
- 트리와 그래프
- Spring
- REST API
- join의 종류
- Today
- Total
목록IT 면접 질문 총정리!!/데이터베이스 (8)
♠개발자의 작은 서재♠
1. 파티셔닝 (Partitioning)개념:파티셔닝은 하나의 데이터베이스 내에서 데이터를 여러 파티션으로 나누어 저장하는 방식입니다. 데이터가 너무 많아지면 한 테이블에 모든 데이터를 저장하는 것이 비효율적이므로, 데이터를 나누어 테이블을 관리하는 방식입니다. 파티셔닝을 통해 특정 조건에 맞는 데이터만 조회하여 데이터 접근 속도를 높이고 성능을 최적화할 수 있습니다.파티셔닝의 종류:범위 파티셔닝 (Range Partitioning): 특정 범위에 따라 데이터를 나누는 방법입니다. 예를 들어, 날짜 기준으로 데이터를 분할하여 특정 연도나 월의 데이터를 빠르게 조회할 수 있도록 합니다.해시 파티셔닝 (Hash Partitioning): 특정 열의 해시 값을 기준으로 데이터를 나누는 방식입니다. 해시 함수에..
ORM의 장점생산성 향상설명: 개발자는 SQL 문을 직접 작성할 필요 없이 객체를 통해 데이터베이스를 다룰 수 있으므로 코드 작성 시간이 줄어듭니다. ORM을 통해 객체 지향 언어에서 사용하는 방식대로 데이터를 조회하고 수정할 수 있어, SQL에 대한 깊은 지식 없이도 데이터베이스 작업을 쉽게 수행할 수 있습니다.예시:ORM을 사용하지 않을 때 SQL 작성 예:SELECT * FROM employees WHERE employee_id = 1;ORM을 사용하여 SQL 없이 데이터를 가져오기 (Python 예시):employee = Employee.objects.get(id=1)쉽게 설명: ORM은 데이터를 다룰 때 SQL을 직접 쓰지 않고 코드에서 바로 다룰 수 있어 개발 속도가 빨라집니다.유지보수 용이성..
1. 락의 종류1) 공유 락(Shared Lock, S-락):개념: 공유 락은 데이터를 읽는 트랜잭션에 의해 설정되며, 다른 트랜잭션도 동시에 데이터에 대해 읽기 작업을 수행할 수 있습니다. 그러나 공유 락이 설정된 동안에는 데이터를 수정할 수 없습니다.동작 방식: 여러 트랜잭션이 같은 데이터에 공유 락을 걸 수 있어 읽기 작업은 자유롭게 허용하지만, 수정 작업은 제한합니다. 데이터베이스가 공유 락을 허용하는 이유는, 여러 사용자가 데이터를 읽는 작업을 동시에 해도 데이터의 무결성에 영향이 없기 때문입니다.예시 코드:BEGIN TRANSACTION;SELECT * FROM employees WITH (SHARED LOCK); -- 데이터를 읽는 동안 공유 락 설정COMMIT;여기서 employees 테..
1. 원자성 (Atomicity)개념:원자성은 트랜잭션의 모든 작업이 모두 성공하거나 모두 실패해야 한다는 원칙입니다. 즉, 트랜잭션 내의 작업들이 하나의 단위로 처리되어야 하며, 일부만 처리되거나 중간에 실패해서는 안 됩니다. 만약 트랜잭션 도중 오류가 발생하면, 이미 완료된 작업도 취소하여 처음 상태로 돌아가야 합니다.쉽게 설명:원자성은 "올바른 결과가 나오지 않으면, 아무 일도 일어나지 않은 것처럼 되돌려야 한다"는 원칙입니다. 예를 들어, 은행에서 돈을 이체할 때 송금자 계좌에서 돈을 빼고 수신자 계좌에 입금하는 작업이 동시에 완료되거나, 둘 다 완료되지 않아야 합니다.예시 코드:BEGIN TRANSACTION;-- 송금자 계좌에서 1000원을 차감UPDATE accounts SET balance..
1. 정규화(Normalization)개념:정규화는 데이터베이스에서 중복 데이터를 줄이고 데이터 일관성을 유지하기 위해 데이터를 여러 테이블로 나누는 과정입니다. 데이터가 한 곳에만 저장되도록 설계하여, 데이터 수정 시 다른 곳에 반영할 필요 없이 한 곳만 업데이트하면 됩니다. 이를 통해 데이터 무결성을 높이고, 저장 공간을 효율적으로 사용할 수 있습니다.정규화 과정 (Normalization Forms):제 1 정규형 (1NF): 각 열에 하나의 값만 저장하고, 중복된 열을 제거합니다.제 2 정규형 (2NF): 기본 키에 의존하지 않는 열을 별도의 테이블로 분리합니다.제 3 정규형 (3NF): 기본 키가 아닌 열 간의 종속성을 제거하여 독립적인 테이블로 나눕니다.쉽게 설명: 정규화는 데이터를 깔끔하게 ..
1. INNER JOIN (내부 조인)역할: INNER JOIN은 두 테이블의 공통된 데이터만 조회합니다. 즉, 조인 조건을 만족하는 데이터만 결과에 포함되며, 조건에 맞지 않는 데이터는 제외됩니다.사용 예시: 주로 두 테이블의 공통 데이터만 필요할 때 사용합니다. 예를 들어, 고객이 주문한 상품 목록을 보고 싶을 때 INNER JOIN을 사용해 고객과 주문 테이블에서 공통된 고객 정보만 가져올 수 있습니다.예시 코드:SELECT customers.name, orders.order_idFROM customersINNER JOIN orders ON customers.customer_id = orders.customer_id;이 코드는 customers와 orders 테이블에서 공통된 customer_id가..