트랜잭션이란 무엇인가?(트랜잭션의 격리 수준과 동시성 제어) - Part2
·
Server Developer/DataBase&Data Engineering
트랜잭션이 데이터 정합성을 보장하려면 여러 개의 트랜잭션이 동시에 실행될 때도 문제가 없어야해요하지만 무조건 트랜잭션 간의 독립성을 보장하면 성능이 저하될 수도 있어요이번 글에서는 트랜잭션이 동시에 실행될 때 발생하는 문제, 이를 해결하는 격리 수준(Isolation Levels), 동시성 문제를 해결하는 기법, 교착 상태(Deadlock) 방지 방법도 함께 살펴볼게요.  ☑️ 1편: 트랜잭션의 개념과 ACID 원칙✅2편: 트랜잭션의 격리 수준과 동시성 제어 (이번 글)☑️ 3편: 트랜잭션의 내부 동작과 분산 트랜잭션☑️ 4편: 트랜잭션의 동작 원리와 직렬성 격리     1. 트랜잭션이 동시 실행될 때 발생하는 문제들여러 개의 트랜잭션이 동시에 실행되면 데이터 일관성이 깨질 위험이 있어요.이런 문제를 방..
트랜잭션이란 무엇인가?(트랜잭션의 기본 개념, 중요성, ACID 원칙) - Part1
·
Server Developer/DataBase&Data Engineering
트랜잭션은 DB에서 데이터 정합성과 일관성을 보장하는 핵심 개념이에요.데이터베이스는 여러 사용자가 동시에 접근하거나 예상치 못한 오류나 장애가 발생할 수 있기 때문에 트랜잭션을 통한 안전한 데이터 처리가 필요합니다.이번 글에서는 트랜잭션의 기본 개념, 중요성, ACID 원칙에 대해 살펴볼 거예요.이후 시리즈에서는 트랜잭션의 동시성 제어와 격리 수준부터 분산 환경에서의 트랜잭션까지 차근차근 다룰 예정이에요. ✅ 1편: 트랜잭션의 개념과 ACID 원칙 (이번글)☑️ 2편: 트랜잭션의 격리 수준과 동시성 제어☑️ 3편: 트랜잭션의 내부 동작과 분산 트랜잭션☑️ 4편: 트랜잭션의 동작 원리와 직렬성 격리        1. 트랜잭션이란?트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를..
Reranker(리랭커) 완전 정복 - Part 1
·
NLP
Reranker에 대해 3편에 걸쳐 다뤄볼 예정이에요.이번 포스팅에서는 Retriever만으로는 부족한 이유, 그리고 Reranker의 역할에 대해서 알아보겠습니다. ☑️ Part 1 (이번 글): Retriever만으로 부족한 이유, 그리고 Reranker가 필요한 이유☑️ Part 2: Reranker 모델의 종류와 RAG(Retrieval-Augmented Generation)과의 연계☑️ Part 3: 최신 연구 동향과 실무 적용 사례   1. Retriever만으로는 왜 부족할까?요즘 검색 시스템에서 Retriever는 벡터 임베딩(Vector Embedding)을 활용해 의미 기반 검색을 할 수 있어요.그렇다면 Retriever만으로도 충분하지 않을까요?사실 그렇지 않아요. Retriever는..
AI 개발을 위한 Conda 환경 설정 완벽 가이드
·
MLOps
이번 포스팅에서는 Coda 환경이 필요한 이유, 설치 방법, 환경 생성 및 삭제, 관리 방법에 대해서 정리해보겠습니다. 1. 왜 Conda 환경 설정이 중요한가? 개발자 A: "이거 코드 실행 안 되는데요? 분명히 scikit-learn을 설치했는데 버전이 다르다고 오류가 나요."개발자 B: "아, 제 환경에서는 scikit-learn 0.24.2를 쓰고 있어요. 아마 버전이 맞지 않아서 그런 것 같네요."개발자 A: "그럼 저도 같은 버전을 설치하면 되겠네요. 근데 다른 패키지가 깨지면 어떡하죠?"개발자 B: "그래서 우리가 Conda를 쓰는 거죠. 환경을 만들어서 필요한 패키지를 한 번에 관리하면 재현성이 훨씬 좋아져요. 하지만 그래도 완벽하진 않아서, 정말 확실한 재현이 필요하면 Docker 같은 ..
[NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결
·
etc
[NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결 방법에 대해 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 [NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결 방법에 대해 학습합니다. 1. 에러 발생 GPU 상태를 확인하기 위해 `nvidia-smi` 명령어를 실행하자, 다음과 같은 에러가 발생했습니다. Failed to initialize NVML: Driver/library version mismatch 이 에러는 NVIDIA 드라이버가 업데이트된 후에 커널 모듈의 버전과 라이브러리 버전이 서로 일치하지 않을 때 발생합니다. 드라이버가..
[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())
·
Python
[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 [Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습합니다. Python에서 문자열 내 특정 문자나 부분 문자열의 인덱스를 찾기 위한 주요 메서드는 count, find, index입니다. 각 메서드의 특징과 사용법에 대해 설명하겠습니다. 1. count() 문자열 내에서 특정 문자나 부분 문자열이 몇 번 나타나는지 세어줍니다. 찾는 문자나 부분 문자열이 없으면 0을 반환합니다. s = "hello world" print(s.count("l")) # 출력: 3 2. find() 문자열 내에서 특정 ..