rastalion.dev

Writing

Database와 A.I 그리고 그 사이의 Data Pipeline · 69편

Advertisement
2025-05-23mysql MySQL 복제지연 MySQL 8.4의 복제 중단·수신 지연·적용 지연을 구분하고, 대형 트랜잭션·잠금·병렬 복제·스토리지 병목과 쓰기 직후 읽기 문제를 진단합니다. 11 MIN 2025-05-23mysql MySQL 전문 검색 MySQL 8.4의 FULLTEXT와 ngram 검색을 재현하고, 검색 모드·한 글자 검색·불용어·인덱스 재구축·트랜잭션 가시성의 차이를 정리합니다. 7 MIN 2024-10-26mysql AWS Aurora의 커스텀 엔드포인트를 활용한 효율적인 데이터베이스 운영 가이드 Aurora 커스텀 엔드포인트로 조회 워크로드를 분리하고, READER 전환·페일오버·연결 풀·Auto Scaling·보안 경계에서 확인할 사항을 정리합니다. 6 MIN 2024-07-29mysql MySQL의 TLS/SSL: 내부 네트워크에서 정말 필요할까? AWS VPC나 사내 내부망처럼 접근이 통제된 구간에서도 MySQL 연결에 TLS를 걸어야 하는지를 법령 조문, 위협모델, 실제 설정값으로 나눠 판단합니다. 7 MIN 2024-07-28database 쿠버네티스와 EKS에서의 데이터베이스 영속성: PV, StorageClass, EBS 비교 분석 EKS 위 작은 데이터베이스에 RDS 를 붙이기 아까울 때, PersistentVolume·StorageClass·Amazon EBS 로 컨테이너 데이터를 ... 4 MIN 2022-08-31mysql 회원 가입 및 로그인을 위한 테이블 설계 회원 가입과 로그인에 쓰이는 테이블을 1:1 관계까지 정규화해 분리하는 이유, 그리고 회원·인증·휴면·탈퇴 스키마를 나눌 때 함께 걸리는 법정 요건을 정리합니다. 9 MIN 2022-05-20mongodb MERN Stack 이란? MERN은 MongoDB, Express, React, Node.js로 구성된 JavaScript 기반 풀스택 개발 스택입니다. 프론트엔드부터 백엔드, 데이... 3 MIN 2022-04-22mongodb MongoDB Developer Workshop 후기 (with Google Cloud) MongoDB Korea의 오프라인 핸즈온 세미나 후기입니다. 게임업계 MongoDB 레퍼런스와 BigQuery 데이터 파이프라인, Atlas 핸즈온을 경험... 2 MIN 2021-11-23redis Redis 요약 정리 Redis 시리즈를 마무리하며 라이선스와 자료형 변화, Sentinel과 Cluster의 차이, 영속성 메커니즘, 운영 시 주의할 점을 정리합니다. 5 MIN 2021-11-18mysql MySQL utf8mb4_0900_ai_ci의 한글 비교 문제와 콜레이션 선택 utf8mb4_0900_ai_ci의 한글 동등성 판정을 MySQL 8.4에서 재현하고, 호환 자모와 NFD 분해형의 차이, 유니크 제약, 후행 공백, 컬럼별... 5 MIN 2021-08-19mongodb MongoDB Index #.7 Geospatial Index MongoDB 공간 인덱스 2dsphere와 2d의 차이, GeoJSON 타입과 좌표 순서, $near·$geoWithin·$geoNear의 인덱스 요구 조... 6 MIN 2021-08-12mongodb [번역] MongoDB 5.0 New Features MongoDB 5.0이 2021년 7월 MongoDB.live 이벤트에서 출시됐습니다. 네이티브 시계열 컬렉션, 라이브 리샤딩, Versioned API, ... 1 MIN 2021-07-04mongodb WiredTiger의 Hazard Pointer WiredTiger 가 캐시 페이지를 이빅션 대상에서 빼는 판단에 쓰는 Hazard Pointer 의 자료 구조와 통계 이름을 현행 소스 기준으로 정리합니다. 2 MIN 2021-06-07database Graph DB? 그래프 데이터베이스 NoSQL로 묶이는 데이터베이스는 각각 자기만의 아키텍처를 가지기 때문에, MongoDB를 다뤄 봤다고 해서 Neo4j 같은 그래프 데이터베이스를 바로 다룰... 3 MIN 2021-04-29mongodb MongoDB Index #.6 TTL Index Date 필드 값으로 도큐먼트를 자동 삭제하는 TTL 인덱스의 동작 원리와 60초 삭제 주기, 제약 사항, collMod로 만료 시간을 바꾸는 방법을 정리했... 4 MIN 2021-04-28mongodb MongoDB Index #.5 Full Text Search Index 전문 검색 색인 알고리즘인 형태소 분석과 N-Gram을 비교하고, 한국어를 지원하지 않는 MongoDB text 인덱스의 제약과 대안을 정리했습니다. 4 MIN 2021-04-14mongodb MongoDB의 x.509 인증 MongoDB 복제 셋의 멤버 간 인증과 클라이언트 인증을 x.509 인증서로 설정하는 절차를, 자체 CA 생성부터 MONGODB-X509 접속까지 정리합니다. 7 MIN 2021-04-13mongodb MongoDB의 인증과 권한 MongoDB 클러스터에서 권한을 활성화하면 인증이 적용되고 사용자는 역할에 따라 권한이 부여된 작업만 가능합니다. Community 버전은 SCRAM과 x... 2 MIN 2021-04-12mongodb MongoDB Index #.4 Multi key Index MongoDB는 배열 필드를 인덱싱할 때 각 엘리먼트에 대한 인덱스 키를 자동으로 생성합니다. 이것이 멀티 키 인덱스이며, 배열 필드에 대한 효율적인 쿼리를... 3 MIN 2021-04-08mongodb MongoDB Data Modeling 데이터 모델링은 애플리케이션의 요구사항과 데이터베이스 엔진의 성능 특성, 데이터 조회 패턴 사이에서 균형을 잡는 일입니다. MongoDB 에서 임베딩과 참조... 11 MIN 2021-03-31mongodb MongoDB Transaction Management MongoDB는 여러 연산과 컬렉션, 데이터베이스, 도큐먼트, 샤드에 걸친 ACID 트랜잭션을 지원합니다. 트랜잭션의 격리와 내구성을 결정하는 Read Co... 10 MIN 2021-03-30mongodb MongoDB 보안 인증을 설정 했을때 Key 파일 생성 및 적용 방법 MongoDB 레플리카 셋과 샤드 클러스터에서 멤버 간 내부 인증에 사용하는 keyfile을 생성하고 적용하는 방법을 정리합니다. openssl로 키를 생성... 1 MIN 2021-03-29mongodb MongoDB Lock (잠금) 다른 DBMS와 마찬가지로 MongoDB도 여러 스레드가 같은 데이터를 동시에 건드릴 때 생기는 충돌을 막기 위해 락을 사용합니다. 4 MIN 2021-03-25mongodb MongoDB Index#.3 Hash Index 해시 인덱스는 필드 값의 해시를 저장하여 균등한 데이터 분산을 제공하는 인덱스입니다. 주로 해시 샤딩에 사용되며, MongoDB 4.4부터는 복합 인덱스에도... 1 MIN 2021-03-25mongodb MongoDB Index#.2 B-Tree Index MongoDB 인덱스의 기본 구조인 B-tree를 레인지 스캔, 정규식 접두 표현식, 커버드 쿼리, 인덱스 풀 스캔, 컴파운드 인덱스의 필드 순서 규칙으로 ... 5 MIN 2021-03-23mongodb MongoDB Index #.1 Architecture 인덱스는 키와 레코드 위치를 정렬된 상태로 보관해 검색을 빠르게 만드는 자료구조이며, 이 글은 MongoDB가 제공하는 인덱스 종류와 그 내부 구조를 정리합니다. 4 MIN 2021-03-03mongodb MongoDB의 읽기 연산 읽기 연산은 쿼리로 도큐먼트를 돌려주는 핵심 기능입니다. find() 의 조건과 프로젝션, 커서 옵션, readConcern 과 readPreference ... 10 MIN 2021-03-02mongodb MongoDB에서 n-gram Full text Search 이용하기 MongoDB Community Edition의 text 인덱스는 한국어를 지원하지 않습니다. Percona Server for MongoDB는 n-gram... 2 MIN 2021-02-24mongodb MongoDB의 일반 계정 생성 admin 계정을 활성화한 MongoDB에서 용도에 맞는 일반 계정과 사용자 정의 역할을 mongosh로 만드는 방법을 정리합니다. 3 MIN 2021-02-01mongodb MongoDB의 데이터베이스, 컬렉션, 도큐먼트 MongoDB의 데이터베이스 > 컬렉션 > 도큐먼트 구조와 mongosh 기준 생성·조회 방법, 이름과 크기 제약을 MongoDB 8.0 문서 기준으로 정리... 5 MIN 2021-01-25mongodb MongoDB 복제 아키텍처 MongoDB는 Secondary가 Primary에서 OpLog를 가져와 재생하여 데이터를 동기화합니다. 레플리카 셋은 최대 50개 멤버를 지원하며, 이 중... 4 MIN 2021-01-20mongodb MongoDB의 wiredTiger 스토리지 엔진 MongoDB 8.0 의 기본 스토리지 엔진인 WiredTiger 의 공유 캐시, 체크포인트, 저널, 압축, MVCC 동작을 공식 문서 기준으로 정리합니다. 6 MIN 2020-09-16mongodb MongoDB Document 조회하기 컬렉션에 넣은 도큐먼트를 꺼내오는 find() 명령을 mongosh 기준으로 살펴봅니다. 쿼리 연산자, 프로젝션, 커서까지 순서대로 다룹니다. 10 MIN 2020-09-04mongodb MongoDB Document 생성하기 MongoDB의 도큐먼트와 생성 방법을 알아보는 포스팅입니다. 도큐먼트는 속성의 이름과 값으로 이루어진 쌍의 집합이며, MongoDB는 이러한 도큐먼트를 컬... 2 MIN 2020-09-03mongodb MongoDB Collection 생성하기 MongoDB 컬렉션은 RDBMS 테이블과 비슷해 보이지만 도큐먼트마다 필드 구성이 달라도 됩니다. mongosh 기준으로 컬렉션을 만들고, 조회하고, 지우... 4 MIN 2020-09-03mongodb MongoDB 시작하기 MongoDB의 데이터베이스와 컬렉션을 생성·조회·삭제하는 기본 명령을 정리합니다. mongosh 셸에서 사용하는 use, show dbs, db.creat... 2 MIN 2020-04-01mongodb MongoDB란? MongoDB는 JSON 형태의 문서를 저장하는 도큐먼트 지향 데이터베이스로, 복제와 샤딩을 기본으로 제공하고 여러 도큐먼트·샤드에 걸친 ACID 트랜잭션도... 4 MIN 2020-03-24mysql MariaDB의 XA Transactions 여러 리소스에 걸친 트랜잭션을 하나로 묶는 분산 트랜잭션과 그 표준 인터페이스인 XA, 그리고 MariaDB 가 XA 를 어떻게 구현하고 어떤 제약을 두는지... 8 MIN 2019-11-14postgresql PostgreSQL Localization PostgreSQL 로케일 지원은 initdb를 이용해 클러스터를 구성하면 자동으로 초기화됩니다. 옵션을 지정하지 않으면 환경 변수에서 상속되며, 환경 변수... 2 MIN 2019-10-04redis Redis #.9 분산캐시와 사용시 주의사항 Redis를 분산 캐시로 운영할 때 마주치는 주의사항을 2026년 9월 기준 Redis 8.10 문서에 맞춰 정리했습니다. 4 MIN 2019-09-24redis Redis #.8 Docker를 이용한 Redis cluster 구축 (ver. 8.10.1-trixie) Docker로 노드 3대에 컨테이너 6개(마스터 3 + 레플리카 3)를 띄워 Redis 클러스터를 만들고, redis-cli --cluster 로 생성·점검... 6 MIN 2019-09-22redis Redis #.7 HA구성하기 (Master-Slave) Redis를 단일 인스턴스로 운영하면 그 인스턴스가 죽는 순간 서비스 전체가 멈춥니다. Redis 8.10 기준으로 복제를 설정하고 Sentinel로 자동 ... 3 MIN 2019-09-22redis Redis #.6 Redis DB 정보 조회 및 환경설정 Redis 8.10 기준으로 INFO 섹션과 CONFIG GET·CONFIG SET 사용법, redis.conf 의 주요 설정 기본값을 정리합니다. 7 MIN 2019-09-22redis Redis #.5 Publish & Subscribe Redis의 Pub/Sub는 채널 기반 메시징 시스템입니다. 구독자가 채널을 구독하면, 발행자가 메시지를 보낼 때마다 실시간으로 받습니다. 메시지는 영속되지... 1 MIN 2019-09-19redis Redis #.4 Database namespace & Expiry Redis의 네임스페이스는 하나의 인스턴스 안에 논리적으로 분리된 데이터베이스를 의미합니다. 숫자로 구분되며 기본은 0번입니다. 만료(expiry) 기능으로... 2 MIN 2019-09-19redis Redis #.3 Sort Set Sort SET은 Redis가 가진 각 데이터 타입의 특성을 고루 갖습니다. List처럼 정렬되며, Set처럼 고유한 값을 갖고, Hash처럼 키-값 쌍 구... 1 MIN 2019-09-19redis Redis #.2 트랜잭션과 데이터 타입 문자열 키를 읽고 쓰는 SET·GET 부터 MULTI·EXEC·DISCARD·WATCH 트랜잭션, Hash·List·Set 자료형의 주요 명령까지 redis... 4 MIN 2019-09-19redis Redis #.1 소개 및 설치 Redis 는 모든 데이터를 메모리에 두는 인메모리 Key-Value 저장소로, 복제와 RDB·AOF 영속성을 제공하며 캐시·메시지 큐·세션 저장소로 널리 ... 3 MIN 2019-08-27mysql 샤드와 샤딩 (Shard and Sharding) 데이터베이스 샤드는 데이터베이스 또는 검색엔진의 수평적 파티션을 말합니다. 각 샤드는 별도의 데이터베이스 서버 인스턴스에 분리 저장되어 부하를 분산시킵니다. 2 MIN 2019-08-08database Sysbench : MariaDB, MySQL, PostgreSQL Benchmark Tool. sysbench 는 MySQL·MariaDB·PostgreSQL 과 CPU·메모리·파일 I/O 성능을 함께 측정하는 벤치마크 도구이고, 최신 릴리스는 202... 4 MIN 2019-08-06postgresql pg_trgm pg_trgm 확장은 트라이그램 유사도 함수와 연산자, GiST·GIN 연산자 클래스를 제공해 양쪽에 와일드카드가 붙은 LIKE 검색과 유사 문자열 검색에 ... 3 MIN 2019-07-30mysql MariaDB, MySQL max_connections 값 변경 MySQL/MariaDB의 동시 접속 상한인 max_connections를 올리려면 데이터베이스 설정뿐 아니라 OS의 파일 디스크립터 한도도 함께 조정해야 ... 2 MIN 2019-07-09postgresql PostgreSQL Cache Hit Rate PostgreSQL 공유 버퍼 캐시 히트율을 조회하는 방법입니다. 이 지표는 PostgreSQL 공유 버퍼의 효율만 측정하며, OS 페이지 캐시는 포함하지 ... 1 MIN 2019-06-18mysql MySQL Engine Lock MySQL에서 사용하는 Lock은 크게 스토리지 엔진 레벨과 MySQL 엔진 레벨로 나눌 수 있습니다. MySQL 엔진 레벨의 Lock은 모든 스토리지 엔진... 1 MIN 2019-06-18mysql MySQL 트랜잭션 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위입니다. SQL을 이용하여 데이터베이스에 접근하는 것을 의미합니다. 트랜잭션의 4가지 특... 1 MIN 2019-06-10mysql MySQL 쿼리 실행 구조 MySQL 쿼리는 파서 → 전처리기 → 옵티마이저 → 실행 엔진 → 스토리지 엔진 순서로 처리됩니다. 옵티마이저는 비용 기반으로 최적의 실행 계획을 선택하며... 4 MIN 2019-06-09mysql MySQL 아키텍쳐 MySQL 서버를 MySQL 엔진과 플러그인 스토리지 엔진으로 나눠, 현행 8.4 LTS 기준으로 각 계층의 구성요소와 스레드·메모리 구조를 정리합니다. 6 MIN 2019-06-06mysql MariaDB의 InnoDB 엔진, XtraDB엔진 MariaDB 는 10.1 까지 XtraDB 를 기본 엔진으로 썼고 10.2 부터 InnoDB 로 돌아왔습니다. 그 배경과 InnoDB 설정들이 현행 Mar... 5 MIN 2019-05-15postgresql PostgreSQL 온라인 적용 가능 파라미터 확인 PostgreSQL 파라미터는 재시작이 필요한 것과 reload만으로 적용 가능한 것으로 나뉩니다. pg_settings.context로 확인할 수 있습니다. 1 MIN 2019-03-02postgresql PostgreSQL 테이블스페이스 및 오브젝트 사용량 확인 PostgreSQL에서 테이블스페이스·데이터베이스·테이블·인덱스의 디스크 사용량을 조회하는 시스템 함수를 정리합니다. 1 MIN 2019-03-02postgresql PostgreSQL 시간 조회 PostgreSQL의 날짜·시간 함수와 타임존 설정 방법입니다. now()는 트랜잭션 시작 시각을, clock_timestamp()는 실제 호출 시각을 반환... 2 MIN 2019-02-24postgresql PostgreSQL 스키마 PostgreSQL 스키마는 테이블·뷰·시퀀스·함수 등 데이터베이스 오브젝트를 논리적으로 그룹화하는 네임스페이스입니다. 여러 사용자가 이름 충돌 없이 작업할... 2 MIN 2019-02-24postgresql PostgreSQL Tablespace 생성 PostgreSQL의 테이블스페이스는 테이블·인덱스를 저장할 파일시스템 경로를 지정하는 기능으로, 디스크 용량·성능 관리를 위해 오브젝트를 분산 배치할 수 ... 2 MIN 2019-02-24postgresql PostgreSQL DB 생성 및 삭제 PostgreSQL에서 데이터베이스를 생성·삭제하는 방법입니다. SQL 명령(CREATE DATABASE, DROP DATABASE)과 셸 명령(create... 2 MIN 2019-02-19postgresql PostgreSQL 버그 리포팅 가이드 라인 PostgreSQL 공식 버그 보고 지침 요약입니다. 버그 식별 기준, 리포트 작성 요령, 제출 경로(웹 양식, 메일링 리스트), 보안 취약점 보고 경로 등... 1 MIN 2019-02-18postgresql 주기적인 유지관리 Vacuuming #.4 배큠 시간을 줄이는 방법 튜닝을 시작하기 전에 전제 하나를 분명히 해 둡니다. PostgreSQL 공식 문서는 기본값·상한·하한·클램프 규칙만 규정하고, 워크로드별 권장값을 제시하지... 14 MIN 2019-02-18postgresql 주기적인 유지관리 Vacuuming #.3 배큠 시간이 늘어나 장애가 될 때 배큠이 오래 걸리는 이유를 dead tuple 개수로 설명하는 것은 대개 틀립니다. 2편에서 본 Percona 벤치마크에서 dead 개수는 같고 분포만 다르... 10 MIN 2019-02-18postgresql 주기적인 유지관리 Vacuuming #.2 배큠이 dead tuple 을 지우지 못할 때 운영에서 배큠이 문제가 되는 순간은 "배큠이 아예 안 돌았다"보다 "배큠이 돌았는데 아무것도 지우지 못했다" 또는 "배큠이 시작됐는데 끝나지 않는다"인 경우... 8 MIN 2019-02-18postgresql 주기적인 유지관리 Vacuuming #.1 배큠의 기초와 VACUUM FULL PostgreSQL 문서는 배큠을 각 테이블마다 정기적으로 실행해야 하는 이유를 네 가지로 정리합니다. 네 번째는 성질이 다른 카운터 두 개를 묶은 것이라 ... 6 MIN