비 IT 직원을위한 데이터베이스 준비 환경


10

데이터베이스 준비 환경을 IT 부서에 제안하는 중입니다. 아이디어는 나와 같은 IT가 아닌 사람 (공공 데이터 분석가)이 솔루션을 테스트 한 다음 실제 환경에서 직접 구현하거나 필요한 경우 IT에 구현하도록 요청하는 것입니다. 이 환경에 도움이되는 몇 가지 이유 / 시나리오가 있습니다.

  1. 나는 라이브 데이터베이스 환경 (몇 가지 기본 데이터베이스 권한을 가지고 create table, create view등). 나는 일주일에 한 번 스키마를 변경하지만 실제 환경에서 이러한 변경 사항을 테스트하고 구현 하는 것은 미친 것 같습니다 . 데이터베이스에는 무수한 의존성이 있으므로 문제가 발생하면 재앙이 될 수 있습니다. 별도의 환경에서 미리 테스트하고 싶습니다.
  2. 내가 좋아하는 더 진보 된 권한의 일부가없는 create trigger또는 create function라이브 데이터베이스를. 이것은 괜찮지 만 트리거 및 / 또는 기능으로 해결할 수있는 몇 가지 문제가 있습니다. 스테이징 환경에서 이러한 권한을 부여하여 일부 아이디어를 개발하고 테스트 할 수 있으며 아이디어가 작동하면 실제 환경에서 구현하도록 제안 할 계획입니다.
  3. 일반적으로 IT 부서에는 솔루션을 개발할 시간이나 리소스가 없습니다. 정말 간단합니다. 따라서 내가 직접 작업을 수행 할 수 있다면 내 문제는 훨씬 더 해결 될 것입니다.

'IT가 아닌 직원을위한 준비 환경'은 나에게 충분한 접근 방식처럼 보이지만 솔직히 말해서 아이디어를 만들었습니다. 나는 이것이 일반적으로 IT / 데이터베이스 세계에서 어떻게 수행되는지 전혀 모른다.

이 시나리오에 적합한 기존 IT / 데이터베이스 실습이 있습니까? (IT 이외의 직원을위한 데이터베이스 준비 환경을 제안 할 때 올바른 방향으로 가고 있습니까?)


1
데이터베이스에 액세스해서는 안되는 매우 민감한 데이터가 있습니까? 쉽게 해결할 수있는 것처럼 보일 수 있습니다. 생산을 중단 할 염려없이 재생할 수있는 개인용 컴퓨터에서 복원 할 DB 백업을 보내도록하는 것입니다. 추가 리소스가 필요하지 않으며 백업을 제공하기 만하면됩니다. 그러나 이것은 환경의 보안 요구에 크게 의존합니다.
Shaulinator

1
그런 다음 자신의 환경에서 사용할 백업 및 복원은 저렴하고 쉬운 솔루션이라고 생각합니다. 그러나 이상적으로는 서로 모방 할 수있는 처리 능력 계층의 여러 환경이 있어야하며 변경하면서 환경 전체에 걸쳐 천천히 졸업해야합니다. 우리는 게임을하고 바꾸고, QA를받는 곳을 테스트하고, 하드웨어를위한 Prod의 거의 1 : 1 인 또 다른 환경, 그리고 물건이 생겨나는 곳인 Prod를 개발하도록 개발했습니다. 이것은 분명히 비용이 많이 든다. 비슷한 데이터베이스에 서버에 다른 데이터베이스를 두는 것도 또 다른 아이디어입니다.
Shaulinator

1
그러나 환경을 완전히 분리하고 쿼리를 실행하는 경우 문제를 최소화 할 수있는 기회를 유지하는 것을 선호합니다.
Shaulinator

1
Oracle Database Express Edition은 아마도 쉬운 선택 일 것입니다. 머신에 설치하고 기본 db와 같은 설정 테이블을 설치하십시오. 대표 데이터를로드하면 원하는만큼 개발 / 테스트 할 수 있습니다. 준비가되면 테스트 / 평가를 위해 변경 사항을 보낼 수 있습니다.
Raj

1
@Raj, Express Edition의 문제점은 사용 가능한 기능이 거의 없다는 것입니다. Wilson 은 Oracle의 실제 기능 이 Enterprise Edition에만 제공되므로 Oracle 라이센스는 아직까지 보지 못했던 가장 큰 장애물 중 하나이지만 Shaulinator는 어느 정도 다루고 있습니다. 오라클은 내가 아는 비 프로덕션 환경에 대해 더 저렴한 라이센스를 제공하지 않으므로 라이센스만으로 상당히 비싼 장애물이 있습니다. 예산 문제로 인해 클라우드가 좋은 선택 일 수 있습니다.
John Eisbrener

답변:


2

프로덕션 환경에서 사용 가능한 기능을 모방하는 환경을 이상적으로 원한다는 @Marcin Gminiski의 답변에 동의합니다. 이 문제에 관한 나의 2 센트는 모두 "무엇을 감당할 수 있습니까?" 예산 제약은 종종 좋은 프로세스의 킬러이므로 실제로 감당할 수있는 것은 최종 솔루션의 복잡성 / 우아함을 결정합니다.

IT 부서에 시간과 직원이 부족하여 환경을 준비 할 수 있다고 언급 했으므로 (또는 부서 / 관리자가 대신하여) 자금을 테이블에 가져올 수 있습니까? 소량의 연간 자금을 조달하면 클라우드를 볼 수있는 가능성이 열립니다. 클라우드 제공 업체는 필요한 모든 것을 제공하며, 일부 솔루션에는 Oracle과 관련 하여 가장 큰 비용 인 적절한 라이센스가 포함되기도합니다 . 이 환경에 민감한 데이터를 제공하지 않으면 클라우드가 더욱 매력적입니다.

클라우드 옵션에는 다양한 방법이 있지만 라이센스 포함 옵션 을 제공하기 때문에 AWS 에서 Oracle RDS 인스턴스를 선택해야하며, 추가 비용을 최소화하기 위해 사용하지 않을 때는 끌 수 있습니다. 이에 상응하는 다른 클라우드 제공 업체가있을 수 있지만 친숙한 많은 클라우드 제공 업체는 포괄적 인 라이센스를 제공하는 대신 Oracle 기반 솔루션을 위해 BYOL (Bring Your Own License)을 요구합니다.

마지막으로 AWS RDS 인스턴스는 데이터베이스 만이므로 필요한 모든 앱 서버 인프라도 고려해야합니다. 클라우드는 비용 효율적인 접근 방식으로 기능을 테스트하기위한 빠른 환경이 필요한 경우 훌륭한 옵션입니다. 유휴 서버 비용을 지불하지 않도록 그 위에 계속 올려 놓고 물건을 끄십시오.


3

보통 적절한 환경은 최소한 DEV-> TEST-> PRE-PROD-> PROD로 구성됩니다. 개발은 일반적으로 DEV에서 개발하고 TEST 및 IT에서 합격 테스트를 거쳐 PRE 및 PROD로 릴리스 할 수 있습니다. 소스 컨트롤을 사용하면 동시에 여러 개발자가 동일한 코드를 편집하는 데 따른 문제를 피할 수 있습니다.

기술적으로 스키마는 prod와 동일해야하며 pre-prod 아래의 프로덕션 데이터는 필요하지 않지만 prod 환경 외부에 prod 데이터가 있으면 dev / test로 자동 복원 할 수 있습니다. Visual Cron과 비슷한 작업을 수행했으며 놀라운 일이 아닙니다.

규정을 준수하기 위해 IT 담당자는 변경 사항을 사전 및 생산 단계로 릴리스하여 자동화 된 배포 경로를보다 쉽고 탄력적으로 만들어야합니다.


2

내 경험은 다음과 같습니다.

원래는이라는 중앙 개발 환경이있었습니다 simserver. 개발자들은 동시에 일을 테스트하고 지저분 해졌다 .

이제 각 개발자에게는 simserver테스트를 위해 배포 할 로컬 이 있습니다. 준비가되면으로 푸시됩니다 quality assurance (QA) environment. 우리는이 jira요구를 확인하는 것을 아무것도 테스트 케이스를, 플러스 우리는 (우리는 개발을하지 않는 전용 QA 직원이, 그냥 QA를) 다시 새로운 추가를 테스트합니다.

그런 다음 라이브로 푸시됩니다.

로컬을 만드는 simserver것은 논리적이고 쉽습니다. 당신은 일단 VM템플릿을 준비, 개발자는 (- 단지 자신의 로컬 컴퓨터 네트워크의 나머지 부분에 액세스하지 않고) 자신의 개인 컴퓨터에서 배포 할 수 있습니다.


1
Simserver의 경우, 그는 prod 환경의 일부 수준의 미러링 (단순 백업 복원?)이있는 로컬 호스팅 SQL 환경을 의미한다고 생각합니다. 해당 로컬 환경에서 개발 작업을 수행합니다. Jira는 개발자와 QA가 변경 사항을 추적 할 수있는 프로젝트 관리 및 문제 추적 플랫폼입니다. 그는 로컬 인스턴스에서 수행되는 제안 된 변경 사항이 개발을 위해 jira에 게시된다고 말합니다. 리뷰. VM은 가상 머신입니다.
Wes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.