문제

현재 Amazon SimpleDB를 평가하고 있습니다.SimpleDB는 테이블(또는 도메인) 스키마가 필요하지 않다는 점에서 매우 유연합니다.스키마는 생성/업데이트 명령이 유입됨에 따라 발전합니다.이 모든 것이 좋지만 모델링 도구(MindScape LightSpeed ​​평가)를 사용하는 동안 도구가 스키마를 기반으로 모델을 생성하려면 먼저 스키마가 필요합니다.SimpleDB에서 도메인을 직접 만들 수 있고 도움이 되지만 이를 위해서는 도메인에서 하나 이상의 생성 작업을 수행해야 합니다.도메인 스키마만 생성하는 기능을 찾고 있습니다.어떤 단서가 있나요?

도움이 되었습니까?

해결책

SimpleDB에는 스키마가 없습니다.

이것이 NoSQL 사람들이 패러다임을 비관계형 데이터 저장소로 전환하기 전에 관계형 데이터베이스를 "학습하지 않는 것"을 제안하는 이유입니다.

따라서 설명하는 대로 수행할 수 없습니다.데이터가 없으면 아무것도 없습니다.

다른 팁

SimpleDB가 스키마를 지원하지 않는 것은 사실이지만 숫자 데이터나 날짜에 대해 쿼리를 실행하는 경우 일부 유형 정보를 유지하는 것이 중요합니다*.대부분의 NoSQL 제품에는 쿼리와 유형이 모두 있거나 그렇지 않으면 쿼리가 없고 유형이 없지만 SimpleDB는 쿼리와 유형이 없습니다.

결과적으로, 기본 애플리케이션 외부의 도구와 통합하려면 다음 중 하나가 필요합니다.

  1. 중복 유형 정보를 다른 위치에 저장
  2. 유형 정보를 저장하기 위해 자신만의 간단한 스키마 시스템을 만듭니다.

옵션 2가 훨씬 더 좋아 보이며 일부 사람들의 제안에도 불구하고 이를 선택한다고 해서 "마음이 옳지 않다"는 의미는 아닙니다.

S3는 이 데이터에 대한 좋은 옵션이 될 수 있습니다. 이를 도메인과 동일한 이름의 파일에 보관할 수 있으며 SimpleDB 계정과 동일한 AWS 자격 증명을 사용하여 어디에서나 액세스할 수 있습니다.

데이터를 attributename=formatname 목록으로 저장하는 것이 내가 해야 할 일의 범위입니다.실제로 이 모든 것을 도메인의 항목에 저장할 수 있습니다.유일한 문제는 이것이다. 특별한 유형 정보가 아닌 실시간 데이터를 기대하는 도메인 쿼리에서 항목이 의도치 않게 돌아올 수 있습니다.

저는 MindScape LightSpeed에 익숙하지 않지만 SimpleDB를 사용할 때 유용하다고 생각하는 일반적인 전략입니다. 제품이 S3에 파일을 로드/저장할 수 있다면 더욱 좋습니다.

*메모:분명히 하자면, 저는 바퀴를 재발명하거나 SimpleDB를 관계형 데이터베이스로 사용하려는 것에 대해 말하는 것이 아닙니다.SimpleDB의 문자열 기반 쿼리 언어로 작업하려면 숫자 데이터를 0 패딩(선택한 길이까지)과 오프셋 값(부호 여부에 따라 다름)으로 저장해야 한다는 사실에 대해 이야기하고 있습니다. .애플리케이션에서 사용할 형식 또는 형식 세트를 결정한 후에는 소스 코드 도구, 쿼리 도구에서 해당 정보가 필요한 경우 해당 정보를 소스 파일에 숨겨서 소스 파일 전체에 분산시키는 것은 어리석은 일입니다. , 보고 도구 또는 기타 코드.

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