Siner's Blog


awscheat sheetcomputer sciencecontainercrawlingdartdatabasedjangodockergitgolanggraphqlhrhttpiacjavakubernetesmapmonitoringnestjsnetworknodeooppythonsecurityserverlessstorageterraformttbkktypescript,javascriptuxvalidation

https://github.com/siner308/blog-posts/assets/34048253/1d8f48de-5cc5-4b7f-ab05-042467939849
CDC(Change data capture) 알아보기
무중단 데이터베이스 마이그레이션 방법론
10 min read2023.12.3

이번 글에서는 API 하위호환 지원에 대한 내용은 다루지 않습니다. 서론 구글과 같이 무중단 마이그레이션을 잘 수행하는 능력을 가진 개발자가 되고싶다. 항상 위와 같은 생각을 하고있었고, 이번기회에 데이터베이스 마이그레이션에 대해 조금 더 깊게 공부하고자 글을 작성하게 되었습니다. 단순 마이그레이션의 한계 기존에는 사용하던 데이터베이스에 마이그레이션 쿼리를 적용했고, 아래의 순서를 따릅니다. 서버가 시작되면서 마이그레이션 파일들을 스캔하고, 어디까지 db에 반영되었는지 migration history 테이블을 조회하여 체크한다. 아직 db에 반영되지 않은 마이그레이션 쿼리를 반영한다. 마이그레이션이 제대로 반영되었다면, migration history…

https://user-images.githubusercontent.com/34048253/136786870-419bd656-9630-49a9-95b4-da4f4555f36f.png
주요 RDBMS의 종류
mysql vs mariadb vs postgresql vs sqlite vs oracle vs mssql
15 min read2021.10.11

이전 게시물인 RDBMS의 특징을 보고 오면 좋습니다. RDBMS DB 엔진 중 유명한 것들을 비교해보고, 특징을 알아보자. 이 게시글을 보는 모두가 데이터베이스를 고르는 과정에 도움이 되었으면 한다. image PostgreSQL과 MariaDB의 상승세가 뚜렷하다 image DB-Engines Ranking Oracle Oracle사에서 제공하는 DBMS. 온프레미스, 클라우드, 하이브리드 클라우드 등의 환경을 제공한다. 오랜 역사와 막강한 영업력으로 데이터베이스 시장 부동의 1위. 기업시장을 위시로 한 오픈소스 데이터베이스를 쓸 수 없는 환경(문제 발생시 책임소재 등의 이유)에서는 대부분 오라클이 쓰인다. 특히 극한의 신뢰성이 요구되는 미션크리티컬 환경은 오라클이 꽉 잡고 있다. 카카오뱅크가 이례적으로 오라클과 함께 오픈소스 DB인 MySQL…

https://user-images.githubusercontent.com/34048253/136663821-1d9ff609-f7bd-480d-b0ab-b38105aba77d.png
RDMBS의 특징
데이터베이스 면접 질문은 아니고 용어 정리
12 min read2021.10.10

동시성 제어 - MVCC (Multi Version Concurrency Control) 하나의 레코드에 대해 여러 버전이 관리된다는 의미이다. 가장 큰 목적은 Lock을 사용하지 않는 일관된 읽기를 제공하는데 있다. PostgreSQL 9.3.5 문서 - 동시성 제어 Pessimistic Lock 처음 짐 스타키가 구현한 방식으로 MGA : Multi Generation Architecture라고 부른다. MGA는 튜플을 업데이트 할때 새로운 값으로 변경하는 것이 아니라, 즉, 같은 자리에서 Replace로 처리하는 것이 아니라 새로운 튜플을 추가하고 이전 튜플은 유효 범위를 마킹하여 처리한다. 이와 같은 방식은 PostgreSQL, SQL Server, InterBase에서 사용하는 방식이다. Undo Segment Oracle, InnoDB에서 사용하는 방식으로 Undo 라는 영역을 따로 두고 최신 데이터는 데이터 영역에 두고 올드 버전만 Undo…

https://user-images.githubusercontent.com/34048253/155849784-228fb73b-f86f-4848-83bd-29e954327047.png
레디스 명령어 정리 - Redis cheat sheet
잘 사용하지 않아서 까먹지만 필요하면 써야하는
1 min read2021.8.2

remove all keys flushall get values by keys (in bash)

https://user-images.githubusercontent.com/34048253/155849543-18ab95ed-5c65-4020-9d31-c7071450e2df.png
포스트그레스(PostgreSQL)로 설명하는 도커 컴포즈(Docker Compose) 초간단 사용법
3 min read2019.3.2

이번 장에서는 Docker Compose의 일반적인 사용방법과, 이를 사용하여 PostgreSQL을 배포하는 방법에 대해서 설명하겠습니다. 0) Compose란? Overview of Docker Compose Compose란 여러개의 도커 컨테이너들을 한꺼번에 관리(빌드, 배포 등) 할 수 있는 Tool입니다. Compose를 사용하면 YAML 파일을 사용하여 응용 프로그램의 서비스를 구성 할 수 있습니다. YAML 파일을 작성하면 단 하나의 명령어만으로 모든 서비스을 시작할 수 있습니다. Dockerfile을 작성하세요. (없어도 무방합니다.) docker-compose.yml파일을 작성하여 모든 서비스가 한번에 배포되도록 하세요. docker-compose up명령어를 사용하여 모든 서비스를 한번에 배포하세요. 추가 설명을 붙이자면, docker run…

1