
프로덕션 데이터베이스란 무엇인가요?
프로덕션 데이터베이스는 실제 사용자와 그들의 데이터를 처리하는 실시간 운영 데이터베이스입니다. 개발 데이터베이스와는 여러 중요한 면에서 크게 다릅니다.프로덕션 데이터베이스와 개발 데이터베이스 비교
| 측면 | 개발 데이터베이스 | 프로덕션 데이터베이스 |
|---|---|---|
| 목적 | 실험 및 기능 개발 | 실제 사용자를 처리하고 비즈니스 데이터 저장 |
| 데이터 | 테스트 데이터, 더미 레코드, 소규모 데이터셋 | 실제 사용자 데이터, 비즈니스에 중요한 정보 |
| 성능 | 개발 속도에 최적화 | 안정성과 사용자 경험에 최적화 |
| 변경 | 빈번한 스키마 변경, 빠른 반복 | 데이터 마이그레이션 및 롤백 전략을 통한 신중하고 계획된 변경 |
| 다운타임 | 개발 중에는 허용 가능 | 최소화하거나 없어야 함 |
| 백업 | 테스트를 위한 선택적 사항 | 비즈니스 연속성에 필수적 |
Agent는 프로덕션 데이터베이스를 수정할 수 없습니다. 이는 프로덕션 데이터베이스를 안전하게 유지하기 위한 제한입니다.Agent는 개발 데이터베이스를 수정할 수 있습니다. 게시 시점에, Agent가 개발 데이터베이스의 구조(즉, 열/테이블 추가 및 삭제)에 적용한 모든 변경 사항은 프로덕션 데이터베이스에도 적용됩니다.언제든지 database 패널 > production database > My data로 이동하여 Edit을 토글하면 프로덕션 데이터를 수동으로 편집할 수 있습니다.
데이터베이스 기술 및 인프라
Replit의 프로덕션 데이터베이스는 표준 SQL Database 제품과 동일한 Database 도구와 게시 워크플로를 사용합니다. Neon에서 호스팅되는 PostgreSQL 16 또는 17을 실행하여 엔터프라이즈급 안정성과 성능을 제공합니다.Replit SQL Database와의 관계
프로덕션 데이터베이스는 프로덕션 전용 인프라를 사용하면서 동일한 Replit Database 경험과 통합됩니다.- PostgreSQL 16 또는 17: 고급 기능을 갖춘 업계 표준 관계형 데이터베이스
- Neon 인프라: 자동 확장과 비용 최적화를 제공하는 서버리스 데이터베이스 플랫폼
- 내장 도구: SQL 러너, Drizzle Studio, 시각적 데이터 관리 도구에 접근
- 환경 변수: 자동으로 생성된 자격 증명을 통한 안전한 연결 관리
데이터베이스 기능, 연결 설정, 기술 사양에 대한 자세한 정보는 SQL
Database 문서를 참고하세요.
프로덕션 데이터베이스를 안전하게 변경하기
데이터베이스 변경 사항이 포함된 업데이트를 Replit 앱에 게시할 때, 다운타임이나 데이터 손실을 피하기 위해 신중한 계획이 필요한 상황을 만날 수 있습니다.이전 버전과 호환되지 않는 변경 사항
일부 데이터베이스 변경 사항은 기존 애플리케이션 코드와의 호환성을 깨뜨릴 수 있습니다. 이러한 변경 사항은 원활한 배포를 보장하기 위해 특별한 처리가 필요합니다.게시 중에 게시된 앱에서 짧은 다운타임이 발생할 수 있습니다. 이 다운타임은 데이터베이스 변경 사항이 충돌을 방지하고 안전한 업데이트를 보장하기 위해 앱을 일시적으로 중지해야 하기 때문에 발생합니다. 변경 사항이 적용되는 동안 앱을 중지하면 데이터가 손실되거나 손상되는 것을 방지할 수 있습니다.
흔한 이전 버전 비호환 변경 사항
다음 유형의 변경 사항은 일반적으로 신중한 게시 전략이 필요합니다.- 애플리케이션 코드가 여전히 참조하는 데이터베이스 열 제거
- 기존 코드가 처리할 수 없는 방식으로 열 데이터 타입 변경
- 기존 테이블에 기본값 없이 필수 필드 추가
- 기존 쿼리를 깨뜨리는 테이블 또는 열 이름 변경
- 기존 애플리케이션 로직을 거부할 수 있는 제약 조건 수정
배포 프리뷰
데이터베이스 변경 사항을 프로덕션에 게시하기 전, Replit은 프리뷰 환경에서 변경 사항을 안전하게 테스트할 수 있는 도구를 제공합니다. 배포 프리뷰는 실제 사용자에게 영향을 주기 전에 데이터베이스 변경 사항과 애플리케이션 업데이트를 테스트할 수 있는, 프로덕션 환경의 임시적이고 격리된 복사본입니다. 이 프리뷰 환경은 프로덕션 설정을 미러링하지만 독립적으로 작동합니다. 잠재적인 문제를 조기에 발견하고, 실제 서비스에 적용하기 전에 변경 사항이 올바르게 작동하는지 확인하는 데 도움이 됩니다. 프리뷰 환경에서 배포를 테스트하는 것은 사용자에게 영향을 미치기 전에 문제를 식별하는 데 매우 중요합니다. 데이터베이스 변경 사항이 올바르게 작동하는지 확인하려면 다음 단계를 따르세요. 1. 기능 테스트- 데이터베이스 변경 사항이 적용된 상태에서 앱이 여전히 제대로 작동하는지 확인하세요
- 기능이 그대로 유지되는지 확인하기 위해 모든 주요 사용자 흐름을 테스트하세요
- 스키마 수정 후 데이터가 올바르게 표시되는지 확인하세요
- 기존 데이터가 올바르게 마이그레이션되거나 변환되었는지 확인하세요
- 새 필드에 예상 값이나 적절한 기본값이 포함되어 있는지 확인하세요
- 데이터가 새로운 제약 조건을 따르지 않을 수 있는 엣지 케이스를 테스트하세요
- 프리뷰 환경에서 쿼리 응답 시간을 모니터링하세요
- 새 인덱스가 효과적으로 사용되고 있는지 확인하세요
- 변경 사항이 성능 저하를 초래하지 않는지 확인하세요
시점 복원
프로덕션 데이터베이스의 경우, 시점 복원 기능을 사용하여 데이터베이스를 특정 시점으로 복원할 수 있습니다.
청구 및 리소스 사용량
프로덕션 데이터베이스는 서버리스 데이터베이스 제공업체인 Neon을 통한 사용량 기반으로 청구됩니다. Neon의 서버리스 기능에는 다음이 포함됩니다.- 인프라 설정이나 유지 관리가 전혀 필요 없음
- 사용 요구에 맞춘 자동 확장
- 데이터베이스가 활성 상태일 때만 컴퓨팅 시간 청구
데이터베이스 사용량에 접근하는 방법
데이터베이스 사용량에 접근하는 방법
현재 청구 기간의 데이터베이스 컴퓨팅 시간 및 저장 공간 사용량을 보려면 아래 단계를 따르세요.Replit Database 도구에서:
- Project Editor에서
Replit Database 도구로 이동하세요
- 데이터베이스 드롭다운 메뉴에서 Production을 선택하세요
Settings 탭을 선택하세요
- Storage Used 섹션은 현재 청구 기간 동안 데이터베이스가 사용한 총 저장 공간을 보여줍니다.
- Settings를 열고 Account → Account usage(또는 View account resource limits / Usage)로 이동하세요.
- Resource usage 섹션으로 스크롤하세요.
- PostgresSQL Storage와 PostgresSQL Compute 행을 확장하여 각 Replit 앱에 대한 세부 정보를 확인하세요.
일반적인 문제 해결
게시 실패
데이터베이스 문제로 게시가 실패하는 경우:- 데이터베이스 연결 또는 스키마 충돌에 대한 구체적인 오류 메시지를 확인하려면 게시 로그를 확인하세요
- 데이터베이스 연결 자격 증명이 올바르고 게시된 앱 환경에서 접근 가능한지 확인하세요
- 기존 애플리케이션 코드와의 잠재적 충돌에 대해 최근 스키마 변경 사항을 검토하세요
- 다시 게시하기 전에 프리뷰 환경에서 변경 사항을 테스트하세요
프로덕션 데이터베이스 제거하기
Replit 앱에 더 이상 데이터베이스가 필요하지 않다면, 데이터베이스와 그 모든 데이터를 제거할 수 있습니다.데이터베이스를 제거하는 방법
데이터베이스를 제거하는 방법
Replit Database 도구에서:
Settings 탭을 선택하세요
- Remove database를 선택하고 Yes, Remove database를 선택하여 확인하세요
다음 단계
Replit에서 데이터베이스 관리에 대해 자세히 알아보려면:- SQL Database: Replit의 관리형 PostgreSQL 데이터베이스 서비스에 대해 알아보세요
- 배포: 데이터베이스 변경 사항이 배포와 어떻게 연관되는지 알아보세요
- App Storage: 클라우드에서 파일과 자산을 저장하는 방법을 알아보세요(이전 이름: Object Storage)