본문 바로가기
반응형

DATABASE/Databse7

[Database] WAL 이란? - 데이터 쓰기의 이해와 WAL을 쓰는 이유 WAL (Write-Ahead Logging)Write-Ahead Logging 즉, 로그 먼저 쓰기 라고 할 수있는 WAL은 데이터베이스의 쓰기를 빠르게 완료하며, 데이터의 무결성과 일관성 유지에 매우 큰 역할을 한다. WAL은 어떻게 데이터 쓰기를 빨리 할 수 있으며, 어떤 부분에서 무결성과 일관성 유지에 도움을 주는지 간략하게 설명해보도록 하겠다. Data Write 란?데이터베이스에 데이터를 변경하면, 저장되어있는 해당 디스크의 값을 바꿔주어야한다. 삽입과 삭제도 마찬가지다. 데이터베이스 성능에 가장 큰 영향을 주는 것이 물리적인 디스크 I/O 인데,과연 데이터 하나 조그마한 것이 바뀔 때마다 디스크 I/O가 발생하면 빠를 수 있겠는가. 원초적인 이야기로 돌아가서 전반적인 데이터베이스의 구조와 엔.. 2024. 12. 7.
[DBA] 여러 DBMS 마다의 DBA의 중점 역할 차이 DBA - DATABASE ADMINISTRATORDBA란 무엇일까?항상 고민하고 어디까지가 내 일인가에 대해서 의문을 품으며 일을 하고있는 것 같다. 물론 회사마다 팀마다 느낌이 조금씩 다르겠지만, 뭔가 명확하지 않고 시키면 다하는 듯한 느낌이 들때가 많다.DBA가 무엇인가에 대해서는 예전에 적어둔 글이 있는데, 지금 다시 읽어보면 그게 맞을까? 싶다 DBA - 데이터베이스 관리자(DataBase Administrator)Intro 안녕하세요. 초보 DBA 다뉴입니다. Database 관련 글을 쓸 때면, 초보 DBA 라는 말로 저를 소개하곤 하는데요. 관련 직무에 종사한지 5년이 넘었지만, 이제야 본격적으로 DBA 직무를 맡게 되어 그da-new.tistory.com우리 회사의 우리팀은 여러가지 데이.. 2024. 11. 25.
[Database] MVCC (Multi-Version Concurrency Control) - 다중 버전 동시성 제어 MVCC (Multi-Version Concurrency Control)다중 버전 동시성 제어란? 데이터베이스에서 동시성을 제어하고 데이터의 일관성을 유지하기 위한 기법 중 하나이다.데이터에 변경사항의 버전을 보관하여, 여러 버전의 데이터를 저장해두어 여러 트랜잭션간의 읽기 / 쓰기 작업이 동시에 수행 될 수 있도록 하는 방법이다. 트랜잭션의 읽기 작업이 쓰기 작업을 방해하지 않고, 일관된 데이터를 읽을 수 있게 하는 방식이 말 그대로 데이터의 다중 버전을 통한 동시성 제어이다. MVCC 주요 개념 1. 스냅샷 읽기 - 트랜잭션이 시작된 시점의 버전의 데이터를 기반으로 동작한다. - 다른 트랜잭션의 변경사항이 커밋되기 전 이라면, 그 데이터는 해당 시점의 버전에 포함되지 않는다.2. 다중 버전 관리 - .. 2024. 11. 18.
[DATABASE] OLTP / OLAP 란 무엇인가? DATABASE 관리와 분석데이터베이스의 관리와 분석에는 크게  Online Transaction Processing (OLTP) / Online Analytical Processing (OLAP) 라고 불리우는 개념으로 나뉜다. OLTP와 OLAP의 개념과 차이점에 대해서 간략하게 정리해보자. OLTPOLTP : Online Transaction Processing 온라인 트랜잭션 처리는 일반적으로 우리가 온라인상에서 사용되는 처리방식이라고 생각하면 편하다.OLTP의 목적으로는 여러 사용자가 동시에 빠르고 정확한 소량의 데이터를 실시간으로 처리하는 방식이다. 주로 회원 로그인, 예약 시스템, 상품 조회 등의 작업이라고 예를 들 수 있다. OLTP 처리방식에는 소량의 데이터를 빠르고 정확하게 찾기 위해 .. 2024. 10. 28.
[Database] ODBC 란? - DBMS 이기종 간의 접속에 대하여 Intro 안녕하세요! 초보 DBA 다뉴입니다. 정말 요즘 공부에 끝이 없다는 것을 느끼고 있는데요. 사실 공부를 많이 하고 있지는 않지만.... 알면 알수록 어려운 DB의 세계... 끝이 없습니다. 저는 현업에서 Oracle, MsSQL, MariaDB를 혼합해서 사용하고 있습니다. 이기종간의 데이터를 주고 받아야 하는 상황이 있는데요. Oracle, MsSQL, MariaDB 각각의 데이터베이스에서 다른 데이터베이스에 접근하고 테이블을 조회하고 변경하는지 한번 간략하게 알아보도록 하겠습니다. ODBC ODBC(Open DataBase Connectivity) 란? ODBC에 대해서는 많은 분들이 다른 글에서도 많이 다루고 있는데요. 조금 형식적인 이야기를 해보자면, Open DataBase Conne.. 2023. 8. 7.
[Database] 트랜잭션(Transaction)과 격리 수준(Isolation Level) Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘은 트랜잭션의 격리수준에 대해 공부한 내용에 대해 이야가 나눠볼까 합니다. 트랜잭션 (Transaction) 트랜잭션 이란? 트랜잭션은 더 이상 나눌 수 없는 하나의 논리 작업 단위를 뜻 합니다. 가장 많은 예시로 드는 것이 은행의 송금 시스템 인데요. A의 통장에서 10만원을 B의 통장으로 보낼 때, 1. A의 통장에 10만원을 뺀다. 2. B의 통장에 10만원을 넣는다. 이렇게 두 단계의 일을 하는데요 이럴 때 송금이라는 작업에 대해서는 두가지 일이 다 이루어져야 송금 이라는 작업이 완료가 되므로, 송금이라는 1, 2번 단계의 일에 대해서 하나의 트랜잭션으로 묶이게 됩니다. 이렇게 작업에 여러 단계가 있어도 그 작업을 이루는 최소한의 일들의 묶음을 .. 2023. 7. 16.
DBA - 데이터베이스 관리자(DataBase Administrator) Intro 안녕하세요. 초보 DBA 다뉴입니다. Database 관련 글을 쓸 때면, 초보 DBA 라는 말로 저를 소개하곤 하는데요. 관련 직무에 종사한지 5년이 넘었지만, 이제야 본격적으로 DBA 직무를 맡게 되어 그렇게 소개하곤 합니다. DBA 라는 직무는 학부생 때 부터 꿈으로 가지고 있었는데, 꿈을 이루어 이렇게 소개할 수 있게 되어 너무 행복하네요. 저는 DBA 라는 직무에 엄청난 자부심을 가지고 있는데요. (저희 팀장님도 DBA 라는 단어를 매우 좋아하십니다.) 근데 주변에 저를 소개 할 때 면, IT업계 종사자가 아니고서는 DBA 라는 직무를 잘 모르더라구요. 그래서 보통 다들 알아 들을 수 있는 'IT업계 종사자' 또는 요즘 핫한 단어인 '개발자' 라고 소개합니다. 틀린 말은 아니지만 그래.. 2023. 6. 20.
반응형