2014-07-17 6 views
3

나는 비교적 NoSQL에 익숙하지 않지만 관계형 데이터베이스를 다루는 데는 상당한 시간이 걸렸다.카산드라 및 구조화되지 않은 데이터

데이터 모델이 상당히 적극적으로 발전해야하는 환경에서 사용할 수 있도록 Cassandra를 평가하고 있습니다. Cassandra가 "구조화 된, 반 구조화 된 그리고 구조화되지 않은"데이터를 저장할 수있는 여러 곳을 썼습니다.

구조 요청을 이해합니다. 그것은 분명합니다 : 테이블이 컬럼을 정의했습니다.

반 구조적 주장을 이해한다고 생각합니다. 행에 모든 열을 채울 필요는 없습니다.

하지만 구조화되지 않은 주장에 대해서는 명확하지 않습니다. 확실히 모든 것을 키 - 값 블롭으로 저장할 수 있지만 값으로 검색하는 방법은 없습니다 (효율적으로).

Cassandra와 함께 비정형 데이터를 사용하는 모범 사례를 설명하는 그물에서 리소스를 찾지 못했습니다. 이상적으로, 우리의 응용 프로그램을 위해서는 반 구조화 된 데이터로 충분할 것입니다. 그러나 우리에게 가치를 더할 수있는 경우에 구조화되지 않은 주장을 이해하고 싶습니다.

감사합니다.

+0

불행히도, 나는 데이터베이스 관리자에게 이것을 게시하려했으나 여기에서 끝났습니다. 그것이 upvoted 때까지 나는 여기에 게시되었다는 것을 몰랐다. 그래서 그동안 데이터베이스 관리자들에게 다시 게시했습니다. 이 모든 말 : 크로스 - 게시 미안 해요. –

답변

3

카산드라는 기껏해야 반 구조화 된 데이터를 검색 할 수 있습니다. 클러스터링 키와 2 차 인덱스를 사용하는 것도 마찬가지입니다. 클러스터링 키는 확실히 반 구조화 된 데이터를 검색하는 효율적인 방법입니다.

파티션 키를 지정하지 않고 2 차 색인 데이터를 검색하는 것은 효율적이지 않습니다. DSE Search (Sol와 Cassandr) 및 Stargate와 같은 도움을주는 몇 가지 솔루션이 있습니다. 이 두 가지 솔루션은 모두 열 중 하나가 구조화되지 않은 텍스트 인 경우 도움이 될 수 있습니다.

그렇지 않으면 Cassandra가 키없이 검색 할 수 없으므로 구조화되지 않은 데이터를 처리하는 것은 좋지 않습니다.

+0

나는 내가 게시했을 때보 다 훨씬 더 교육받는 것이 아닌가 걱정된다; 그러나 더 좋은 대답은 없을 것 같습니다. 이것을 대답으로 표시하십시오. –

1

구조화되지 않은 것은 스키마없는 열 패밀리를 가짐을 의미합니다. 각 행은 (분명히) 행 키를 가지고 있습니다. 그러나 각 행의 나머지 부분에는 임의의 키/값 쌍이 포함될 수 있습니다. 데이터 유형조차 행간에 일치시킬 필요는 없습니다.

하지만 trulite는 올바르게 메모하므로 일반적으로 스키마가없는 데이터 모델을 사용하는 것은 좋지 않은 생각입니다. Look at http://planetcassandra.org/blog/post/the-myth-of-schema-less/

관련 문제