태그: Database
14편
-
Supabase + Next.js 실전: @supabase/ssr 클라이언트 설정과 RLS가 핵심인 이유
Next.js에서 @supabase/ssr로 서버용·브라우저용 클라이언트를 나눠 만들고 인증, PostgREST 쿼리, postgres_changes 실시간 구독, 스토리지, Deno 기반 Edge Functions를 붙이는 흐름을 짚습니다. auth.uid() RLS 정책 예시도 담았습니다.
-
Turso(libSQL) 시작하기: Edge 복제 SQLite와 Drizzle·Cloudflare Workers 연동
libSQL 기반 Turso로 데이터베이스를 만들고 @libsql/client와 Drizzle ORM으로 CRUD를 구현합니다. Cloudflare Workers·Vercel 연동, 읽기 복제본과 Embedded Replicas 설정, 무료 티어 활용법도 설명합니다.
-
Drizzle ORM 실전: SQL에 가까운 TypeScript 쿼리, 마이그레이션, 서버리스·Edge에서 막히는 지점
Drizzle ORM의 스키마·CRUD·관계 쿼리·트랜잭션·drizzle-kit 마이그레이션을 정리하고, v1의 Relational Queries v2 변경, Prisma 7 이후 달라진 비교 기준, PgBouncer에서 prepare: false, neon-http와 D1의 트랜잭션 제약 같은 실무 함정을 다룹니다.
-
Turso와 libSQL: 엣지에서 쓰는 SQLite, 임베디드 복제, 멀티테넌트 DB, Workers·Next.js 연동
Turso CLI로 DB를 만들고 libSQL 클라이언트로 쿼리와 트랜잭션, batch를 실행한 뒤 로컬 파일에서 읽는 임베디드 복제, DB별 멀티테넌트 구조, 벡터 검색, Cloudflare Workers와 Next.js 연동, Drizzle 마이그레이션을 설정합니다.
-
Redis로 캐싱과 세션 관리: 데이터 타입, 캐싱 전략, Pub/Sub, 트랜잭션, API 응답 캐싱
String·Hash·List·Set·Sorted Set을 Node.js 클라이언트로 다루고 Cache-Aside와 캐시 무효화, Pub/Sub, MULTI/EXEC 트랜잭션, API 응답 캐싱과 리더보드를 구현합니다. Pipeline, INCR 레이트 리밋, maxmemory-policy도 설명합니다.
-
MongoDB 입문: SQL과의 차이, CRUD, Mongoose, 집계 파이프라인, 인덱싱과 성능
MongoDB를 처음 쓸 때 SQL과 다른 문서 모델, 드라이버 CRUD, Mongoose 스키마, 집계 파이프라인, 부분·텍스트 인덱스, 복제 세트와 트랜잭션을 다루고, 전자상거래 주문·매출 분석·재고 동시성 제어 예제로 설계 판단을 연습합니다.
-
Prisma로 타입 안전한 DB 접근: 스키마, 마이그레이션, 관계 쿼리, 트랜잭션, 블로그 예제
Prisma로 타입 안전한 데이터베이스 접근을 구현하는 방법. TypeORM·Sequelize와의 비교, 프로젝트 설정, Prisma Schema, 마이그레이션, Prisma Client, 관계 쿼리, 트랜잭션, 성능 최적화를 블로그 예제로 다룹니다.
-
PlanetScale 서버리스 MySQL: 데이터베이스 브랜칭, Deploy Request, 스키마 변경, Prisma·Drizzle
Vitess 기반 PlanetScale에서 데이터베이스 브랜치와 Deploy Request로 스키마를 배포하는 흐름, Expand/Contract 패턴, 서버리스 드라이버와 mysql2 연결, Boost 캐시, Prisma directUrl과 Drizzle 연동을 설명합니다.
-
PostgreSQL 고급 최적화 가이드 — 쿼리 성능 튜닝·인덱스·파티셔닝·복제
EXPLAIN ANALYZE 해석, B-tree·GIN·GiST·BRIN 인덱스 선택, 파티셔닝과 샤딩, PgBouncer 풀링 모드, Vacuum·Autovacuum 튜닝, 스트리밍·논리 복제와 HA까지 PostgreSQL 성능 문제를 진단하고 개선하는 방법을 정리합니다.
-
Neon 서버리스 Postgres: 스토리지·컴퓨트 분리, 브랜칭, 연결 풀링, Drizzle·Prisma·Vercel 연동
Neon 서버리스 Postgres의 스토리지·컴퓨트 분리 구조와 브랜치로 프리뷰 환경 DB를 만드는 방법, 서버리스 함수에서 연결 풀러와 @neondatabase/serverless 드라이버를 고르는 기준, 슬립 후 콜드 스타트, Drizzle·Prisma·Vercel 연동을 다룹니다.
-
SQL 쿼리 최적화 실전: 인덱스와 실행 계획으로 느린 쿼리 고치기
B-Tree 인덱스 동작 원리와 복합 인덱스 컬럼 순서, EXPLAIN 실행 계획 읽는 법을 설명하고 JOIN·IN 절로 N+1 쿼리를 없애는 방법을 보여줍니다. 인덱스를 못 타는 조건(함수, 앞쪽 와일드카드, OR, 타입 변환)과 그 해결책, MySQL·PostgreSQL 차이, 느린 쿼리를 찾고 고치고 확인하는 순서를 정리합니다.
-
PostgreSQL 고급 가이드 | 인덱스·쿼리 최적화·파티셔닝·복제·백업 전략
PostgreSQL의 MVCC와 VACUUM, WAL 원리를 짚고 B-Tree·GIN 인덱스 전략, EXPLAIN ANALYZE 쿼리 튜닝, CTE와 서브쿼리 비교, pg_partman 범위 파티셔닝, 스트리밍·논리 복제, pg_dump·pg_basebackup 백업을 다룹니다.
-
Node.js 데이터베이스 연동 | MongoDB, PostgreSQL, MySQL
Node.js에서 Mongoose로 MongoDB 스키마와 관계를, pg와 Sequelize로 PostgreSQL을, mysql2로 MySQL을 연동하고 Express REST API에 붙입니다. 인덱스, N+1 문제, 페이지네이션, 커넥션 풀 설정도 다룹니다.
-
Python 데이터베이스: SQLite, PostgreSQL 연결과 ORM
sqlite3로 테이블을 만들고 SQL을 실행하는 기본에서 출발해 SQLAlchemy ORM 모델 정의, CRUD, 일대다 relationship 설정, Flask와 SQLAlchemy를 묶은 API 예제까지 다룹니다. 트랜잭션과 연결 해제, N+1 쿼리 문제도 짚습니다.