2012-09-29 5 views
2

Azure 테이블 저장소에 의해 시행되는 유일한 기본 키/고유성 검증은 파티션 키 + 행 키입니다. 다른 열을 고유하게하려면 응용 프로그램 계층에서이 조건을 확인해야합니다. 내가 대해 궁금 무엇Azure 테이블 스토리지 컬럼의 고유성을 어떻게 검증합니까?

if(service.GetEmailAddress(emailAddress) == null) { 
    // email address is not yet registered by a user 
    // persist user data to the database 
} 
else 
{ 
    // display an error message 
} 

은 같은 테이블에 동일한 열 값을 저장하는 동안 동시 사용자의 X 번호가있는 경우 일 것입니다. UNIQUE 제약 조건이없는 특정 열 아래에 중복 값이 ​​입력되지 않도록하는 안전한 방법은 무엇입니까?

답변

2

Azure Table Storage는 그러한 목적으로 설계된 것이 아닙니다. 그들은 푸른 표 스토리지의 목표는 말하는 것처럼로 : 효율적인 검색을위한

데이터 저장 및 지속성

그래서 나는 이것이 당신이 찾고있는이 아닌 해결책이 될 수 있습니다 생각 주어진, 난 당신을 생각 Azure SQL 데이터 이동 가능성을 평가해야합니다. Azure Table Storage (또는 다른 NoSQL 구현)에서 COLUMN의 개념은 동일한 테이블에 다른 유형의 엔티티를 저장할 수 있기 때문에 많은 가치가 없습니다.

추가 읽기 link1, link2.

+1

안녕하세요, Geethanga, 저는 Azure에서 확장 가능한 데이터베이스 솔루션을 시장에 출시했습니다. SQL Azure를 단독으로 사용하는 것은 좋은 생각이 아닙니다. 당분간 150GB로 제한되므로 한 번에 수평 분할을 고려해야합니다. 나는 최근에 SQL Azure Federation을 가지고 놀았지만 그 중 하나에 고유 한 제약 조건을 만들 수는 없습니다. 각 고유 인덱스에는 연합 컬럼이 포함되어야합니다. – Mark13426

+0

당신의 맥락에서 그것은 사실입니다. 데이터베이스 크기 때문에 문제가 발생합니다. 그러나 이전에 말했듯이 열 관점에서 테이블 저장소를 살펴 보는 것은 좋지 않다고 생각합니다. 같은 테이블에 여러 유형의 엔티티가 있기 때문입니다. 따라서 비즈니스 계층에서이를 처리 할 수있는 유일한 솔루션 만 남게됩니다. 나는 그것이 당신이 향해야하는 곳이라고 생각합니다. – Geethanga

관련 문제