본문 바로가기

데이터베이스34

MySQL과 Postgresql의 차이 둘 다 RDBMS라는 점은 동일하지만 프로세스를 다루느냐, 쓰레드를 다루느냐에서 차이가 나옵니다. PostgreSQL은 프로세스 기반, MySQL은 쓰레드 기반으로 작동합니다. PostgreSQL PostgreSQL은 각각의 연결을 처리하기 위해 새로운 프로세스를 생성합니다. 이렇게 함으로써 각각의 연결이 서로 영향을 주지 않도록 보장할 수 있으며, 안정적으로 작동할 수 있습니다. 각각의 프로세스는 독립적인 메모리 공간을 가지고 있기 때문에 안정적으로 데이터를 보호할 수 있습니다. 또한 PostgreSQL은 WAL(Write Ahead Logging)이라는 기술을 사용하여 데이터의 일관성을 유지할 수 있습니다. 이러한 이유로 PostgreSQL은 안정적인 대규모 데이터베이스 처리에 적합합니다. MySQL.. 2023. 2. 20.
LSM Tree ( Log Structured Merge Tree ) Bitcask, MongoDB, Bigtable, Cassandra, InfluxDB및 SQLite4와 같은 최신 관계형 및 비관계형 데이터베이스에서 사용하고 있는 데이터 구조이다.. LSM-T 알고리즘은 DB에 데이터를 Condense하게 적재하면 데이터베이스에서 비용이 가장 많이 소모되는 디스크 엑세스 I/O를 줄여 최적화한 데이터구조이다. 하지만 추가적인 메모리가 소모되는 단점이 있다. 다음은 RDBMS에서 주로 사용하는 B+TREE와 LSM TREE의 비교이다. https://www.cs.umb.edu/~poneil/lsmtree.pdf LSM 데이터 구조는 다음과 같은 원리로 데이터를 read/write한다. 1. 데이터를 write하면 인메모리 b-tree 데이터 구조에 데이터를 추가한다. -.. 2023. 1. 29.
DBA 면접 질문 (2) 21 ~ 40 21. 서브쿼리가 무엇인가요? SQL문에 포함된 또 다른 SQL문. 22. 서브쿼리의 결과 종류는 어떤 것들이 있나요? 단일행 서브쿼리 : 단일 행만을 리턴하는 서브쿼리 다중행 서브쿼리 : 다중행을 리턴하는 서브쿼라 다중컬럼 서브쿼리 : 다중컬럼을 리턴하는 서브쿼리 인라인 뷰 : 뷰 형태로 테이블을 리턴하는 서브쿼리 // FROM절 상호 연관 서브쿼리 : 메인 쿼리의 결과로 서브 쿼리가 실행되고 그 결과로 메인 쿼리가 또 실행되는 서로 연관된 쿼리 23. 프로파일러는 무엇인가요? 성능 개선을 위해 DB에 부하를 주는 쿼리를 찾아야하는 경우 프로파일러는 사용하여 분석을 진행함. 24. 사용자정의함수는 무엇인가요? 프로시저랑 의미는 똑같지만 리턴값의 유무로 나뉩니다. 프로시저는 리턴값이 자유롭지만, 사용자정.. 2023. 1. 19.
DBA 면접 질문 ( 1 ) 1~20 1. RDBMS가 뭔가요? 관계형 데이터베이스를 관리하기 위한 시스템으로, 관계형 데이터베이스란 테이블, 행, 열 정보를 구조화하는 방식입니다. 조인을 통하여 여러 데이터간 관계를 쉽게 이해하고 정보를 얻을 수 있습니다. 2. 정규화가 뭔가요? 데이터베이스의 데이터 중복을 최소화하여 삽입,삭제,갱신에 대한 이상 현상을 제거하는 과정입니다. - 갱신 이상 : 데이터 갱신 시, 너무 많은 행을 업데이트하거나 데이터 불일치가 생기는 현산 - 삭제 이상 : 데이터 삭제 시, 원치 않는 정보도 같이 삭제되는 현상 - 삽입 이상 : 특정 데이터가 존재하지 않아 중요한 데이터를 삽입하지 못하는 현상 3. 각 정규형의 차이점은 무엇인가요? (1차, 2차, 3차 등) 1차 : 테이블의 컬럼이 원자값을 갖도록 테이블을 분.. 2023. 1. 19.