2010-03-17 11 views
1

질문이 있지만 사용하는 단어가 확실하지 않습니다.데이터베이스 공유/버전 관리

내 문제 : 정보를 데이터베이스에 저장하는 응용 프로그램이 있습니다. 데이터베이스는 액세스 (로컬) 또는 서버 (SQL Server 또는 Oracle)에서 액세스 할 수 있습니다. 우리는이 3 가지 종류의 데이터베이스를 지원합니다. 우리는 사용자가 버전 관리라고 부르는 것을 할 수있는 가능성을 부여하고자합니다.

설명해 드리겠습니다. 데이터베이스 1이 있습니다.이 마스터입니다. 우리는 데이터베이스 1과 동일한 데이터베이스 2를 만들 수 있기를 원하지만 다른 누군가에게 줄 수 있습니다.

이들은 매우 복잡한 데이터베이스에서 레코드를 추가, 수정 및 삭제하여 서로를 처리합니다. 그런 다음 데이터베이스 1에 데이터베이스 2의 변경 사항을 포함 시키되 일부 변경 사항은 취소 할 수 있습니다.

정보를 얻으려면 ou 응용 프로그램이 이미 다중 사용자이므로이 다중 사용자를 사용하고 버전 관리를 잊어 버리면 어떨까요? 때로는 다른 사이트의 다른 회사에 데이터베이스 복사본을 제공해야하며 서버에 연결할 수 없기 때문입니다. 그들은 그들 편에서 일하고 나서, 합병하기를 원합니다.

이 유형의 요구 사항을 경험 한 사람이 있습니까? 우리에게는 많은 아이디어가 있지만 대부분 데이터베이스 나 기존 쿼리에 대한 많은 수정 작업이 필요합니다.

이것은 2 백만개의 증가하는 C++ 응용 프로그램이므로 다시 작성할 수 없습니다!

의견을 보내 주셔서 감사합니다.

J-F

+0

이렇게 엉망진창처럼 들리네, 행운을 빌어 요. –

답변

0

용어를 적용하기 전에 그들을 필터링 이러한 변경 사항을 적용 할 수있는 방법을 "이 필드에 레코드를 삽입"데이터베이스 복제입니다. 당신은 그 주제 (내 개인적인 경험이 제한됩니다)에 대한 자세한 정보를 얻을 수있는 Google 수 있습니다.

+0

''그러나 변화의 일부를 해산 할 가능성은있다 .''는 어려울 것이다. –

+0

@KM : 그들은 기성품을 찾을 수 있을지 의심 스럽다. 그러나 저널링이나 변경 사항을 감지하고 데이터베이스 노드간에 업데이트 정보를 이동하는 방법에 대한 정보를 문서에 제공해야합니다. 이미 2M 줄의 코드를 사용하여 자체 솔루션을 기꺼이 키우는 것처럼 들립니다. –

+0

나는 그들이 기성품을 발견 할 수 있을지 의심 스럽다. –

0

이 이미 iCal에 의해 (옛 SunOS의 캘린더 앱)을 시행 하였다.

앱이 변경 사항을 저장할 때 저장/저장/전송하는 것은 데이터베이스 내용이 아니라 실제 변경 로그 (예 : "ID 1의 레코드 삭제", "이 필드가있는 ID 2의 레코드 업데이트"

) 당신이 나중에 DB를 마스터하고, 당신이 찾고있는

+0

감사합니다. 이것은 또한 좋은 생각입니다. 우리는 작은 응용 프로그램 중 하나에서이 작업을 수행하고 있으며 관리가 매우 복잡하지만이를 볼 수있는 솔루션입니다. –

관련 문제