2015-01-27 2 views
0

두 개 또는 세 개의 연결로 동시에 같은 테이블 (또는 같은 행)을 수정할 때 SQL 데이터베이스가 손상을 어떻게 방지합니까?동시 데이터베이스 연결

내가 여러 서버 기반의 부하 분산 앞이 데이터베이스에서 발생할 수있는 이론적 가능성을 생각 는

종료 :

  • 서버 1
  • 는 서버 2가 중앙 데이터베이스
  • 에게 액세스하는 중앙 데이터베이스에 액세스 서버 1은 중앙 데이터베이스에서 사용자 X에 대한 정보를 얻습니다.
  • 서버 2는 중앙 데이터베이스에서 동일한 사용자 X에 대한 정보를 가져옵니다.
  • 서버 1은 사용자 X에 대한 새 데이터를 c 몇 가지 작업을 수행 한 후 entral 데이터베이스의 (a DO 수 또는 거래하지 할 수있는)
  • 서버 2 개 세트를 중앙 데이터베이스에서 사용자 X에 대한 새로운 데이터가 기본적으로 가지고이 시점에서 사용자 X가 잘못된 항목을 포함 할 것

서버 1이 방금 동일한 사용자에게 한 작업을 덮어 씁니다.

나는 항상 동일한 테이블을 확인하려고 생각하고 있었다. & 행이 최근에 수정되었지만 여전히 동일한 테이블을 멈추고 있지 않다는 것을 확인했다. & 행이 확인 된 시간과 쓸 시간 사이에 수정되었다. 확인 후 DB에.

저는 수백만 명의 사용자가있는 대형 데이터베이스가 어떻게 작동하는지, 그리고 수십 또는 수 백 개의 개별 서버에 분산되어있는 방법을 알기 위해 노력하고 있습니다.

+0

답변 도움이 될 수 있습니다 _database 트랜잭션 integrity_에 검색하여 문제. –

+0

예, 지난 밤에 관련된 정보를 검색하려고 시도했지만 https://technet.microsoft.com/en-us/library/ms173763.aspx와 같은 좋은 링크를 많이 발견했습니다. – Xanather

+0

호기심을 충족 시켜줄 필요가있는 것을 발견하고 자신의 질문에 답변 한 것을 기쁘게 생각합니다. 즐겨. –

답변