저는 카산드라에서 간단한 모델링 작업을 받았습니다. 거의 전적으로 SQL 배경에서 오는, 그러나, 나는 그것을 알아내는 데 약간의 어려움을 겪고있다.카산드라에서 다음 유스 케이스를 처리할까요?
기본적으로 우리는 주기적으로 해당 업데이트를 듣고있는 피드 목록을 가지고 있습니다. RSS, JSON, ATOM, XML 등 (피드에 따라 다름) 일 수 있습니다.
우리가 원하는 것은 각 피드의 새 항목을 주기적으로 확인하고 데이터를 몇 가지 형식 (예 : JSON 및 RSS)으로 변환 한 다음이를 Cassandra 상점에 저장하는 것입니다.
그래서, RBDMS에서, 구조는 유사 뭔가를 다음과 같습니다
Feed:
feedId
name
URL
FeedItem:
feedItemId
feedId
title
json
rss
created_time
카산드라의 데이터는 대한 항목의 X 금액을 받고 같은 간단한 일을 용이하게하는 것을 모델링하는 방법에 관해서는 내가 혼란 스러워요 생성 된 내림차순의 특정 피드 (가장 일반적인 쿼리 일 수 있음).
나는이 예에서 피드 키를 가지고 시간 기반 UUID로 created_time을 저장하는 복합 키를 언급했지만 아직 약간 혼란 스럽다는 것을 알게되었다.
예를 들어 기본적으로 피드 ID가 일련의 행이 있다고 가정 해 보겠습니다. 각 행의 내부에는 위에서 언급 한 것처럼 다양한 열을 저장합니다. 문제는 실제 데이터가 어디로 이동합니까 (JSON, RSS, 제목)? 해당 '레코드'에 대한 모든 데이터를 열 값으로 저장해야합니까?
복합 키 아이디어가 마음에 들면 넓은 행과 좁은 (짧은?) 행이 혼동 스럽긴하지만 각 레코드에 다른 데이터를 저장하려고합니다. 두 개를 병합하는 방법을 모르겠습니다. 함께 ...