문제

Microsoft SQL Azure 연합에 관한 몇 가지 질문이 있습니다.

1) 활성 데이터베이스에 페더레이션 DB를 만들거나 앞서 연합을 배포해야합니까?

2) SQL 쿼리를 Completation을 쿼리하는 방법을 준수하거나 하나의 SQL Server 데이터베이스에서 작업하고 있으므로 정기적 인 쿼리를 계속 사용할 수 있습니까?

3) 데이터베이스를 분할하고 시간이 지나면 파편 중 하나가 매우 바쁘고 거의 가득 찼습니다. 연합을 사용 하여이 문제를 해결하는 방법은 무엇입니까? - 90 % 가득 차있는 단일 연합 테이블 만 분할해야합니다. 그렇지 않으면 덜 광범위한 범위를 사용하여 분할 전략을 다시 만들어야합니다. 문제는 하나의 특정 사용자가 매우 활성화 될 수 있기 때문에 매우 활성화 된 페더레이션 테이블 / 사용자로 인해 페더레이션 전략을 다시 만들 필요가 없는지 확인하는 데 사용하는 전략이 무엇입니까?

4) 다른 기본 키로 나눌 수있는 테이블이 다른 경우, 샤드가 작동하는 방법. 예 :

이해하는 것 :

[블로그]

blog_id

정보

[blog_posts]

ID

blog_id

post_content

그래서 0-1000에서 blog_id를 기반으로 샤드를 결정하면 1-2001의 두 개의 연합 테이블이 있습니다. 그러나 blog_id 이외의 다른 키가있는 더 많은 테이블을 추가하는 경우 더 많은 연합 테이블을 더 많이 추가하는 경우 더 많은 연합 테이블이 있습니까?

감사합니다

도움이 되었습니까?

해결책

더 정확하고 콘크리트로 보내고 한 번에 한 가지 질문을하십시오. 별도로 물었을 때 모든 질문에 대한 답변을 얻을 수있는 기회가 더 좋습니다. 이제 몇 가지 질문을 다루게하십시오.

1) 활성 데이터베이스에 페더 레이 티드 DB를 만들거나 필요합니까? 미리 연합을 배치 하시겠습니까?

기존 DB 내에서 연합을 확실히 생성 할 수 있습니다. 새 / 빈 DB에서 연합을 만드는 데 제한이 없습니다. 그러나 액티브 DB에서 연합을 만드는 것은 당신을 위해 아무 것도하지 않습니다. 연합이 별도의 DB가 있음을 알아야합니다. 페더레이션 (또는 연합 구성원)은 연합 루트 DB (연합을 만든 DB)에 대해 알고 있지 않습니다. 따라서 연합을 만들면 활성 DB (또는 연합 루트)에서 스키마 / 데이터 마이그레이션에 대해 생각해야합니다.

2) SQL 쿼리를 변경하여 방법을 준수해야합니까? 연합 쿼리를 쿼리하거나 일반 쿼리를 계속 사용할 수 있습니다. 하나의 SQL Server 데이터베이스에 대해 작업 중입니까?

가장 아마 그렇습니다. Windows Azure SQL 데이터베이스 페더레이션은 DB 계층의 스케일 아웃 메커니즘입니다. 즉, 모든 웹 응용 프로그램과 마찬가지로 팜 모양의 환경 (예 : Windows Azure와 같은 스케일 아웃 환경)에서 작동 할 수있는 "특별한"디자인이 필요합니다. 데이터베이스는 스케일 아웃에서 작동 할 수있는 "특별한"디자인이 필요합니다. 환경. SQL Azure 페더레이션이있는 Magic-Wand는 코드를 작동시키지 않습니다. 당신은 그것을 일으키기 위해 그것을 디자인해야합니다.

3) 데이터베이스를 분할하고 잠시 후에 나는 그 중 하나가 파편은 매우 바쁘고 거의 가득 찼습니다.이 문제를 어떻게 처리하는지 연합? - 단일 연합 테이블 만 분할해야합니까? 그것은 90 % 가득 찼습니다. 또는 나는 splitting strategy를 다시 만들어야합니다. 덜 넓은 범위를 사용합니다. 문제는 하나의 특정 사용자입니다 매우 적극적 일 수 있으므로 어떤 전략을 사용하여 하나의 매우 활성화되어 페더레이션 전략을 다시 만들어야합니다. 연합 테이블 / 사용자?

이것은 전략 분할 전략에 관한 것입니다. 연합 키를 조심스럽게 디자인해야하며 다른 파편에서 데이터를 분할하는 방법을 설명해야합니다. 원자 단위를 단일 샤드에 보관하는 한 항상 연합을 분할 할 수 있습니다.

4) 다른 테이블을 다른 테이블을 가지고 다른 테이블을 사용하여 기본 키, 어떻게 샤딩이 작동 할 것입니다.

다른 키에 다른 테이블을 분할하려면 다른 연합을 사용하면 자체 연합 키와 테이블이있는 각각의 테이블이 있습니다.

SQL 연합을위한 것이라면 시청할 가치가있는 좋은 비디오 : http : / /channel9.msdn.com/events/teched/northamerica/2012/dbi408

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top