안녕하세요 저는 카산드라를 처음 사용합니다. 아래 시나리오에서 DB 디자인에 약간의 혼동이 있습니다.카산드라 + MySQL
현재 저는 3 개의 테이블을 가지고 있습니다 : Post, User, PostLike.
포스트 : 저장 후 정보
사용자 : 저장소 사용자 정보
PostLIke :
CREATE TABLE PostLike (
like_time timestamp
post_id bigint,
user_id bigint,
PRIMARY KEY (like_time,post_id,user_id)
);
like_time : 시간처럼 우편으로 포스트 순서를 저장하는 데 사용. 그들이 사용되었다 like_time에 의해 주어진 포스트 위해 추천하고
모든 사용자 ID : 카산드라는
요구 사항은 OrderPreservingPartitioner이 제공 선택 * PostLike에서 어디 post_id를 =를?
모든 게시물 사용자가 좋아하는 모든 게시물 select * from PostLike where user_id =? :이 오류
을 준 [잘못된 쿼리] 메시지 = "PRIMARY KEY 열"post_id를 = user_id를 ColumnDefinition {이름 = org.apache.cassandra 유형 " 제한 (이전 열 수 없습니다." db.marshal.LongType, 종류 = CLUSTERING_COLUMN는 는 componentIndex = 0, INDEXNAME = NULL,는 indexType = NULL}
pls는 내가에 필요한 제안 "중 하나를하지 제한 또는 비 EQ 관계)입니다" 여기에서 :
또는
카산드라
CREATE TABLE PostLike (
like_time timestamp
post_id bigint,
PRIMARY KEY (like_date,post_id)
);
CREATE TABLE UserLike (
like_time timestamp
user_id bigint,
PRIMARY KEY (like_date,user_id)
);
또는 다른 어떤 솔루션이 별도의 테이블을 만들고 이러한 관계에 대한 카산드라와 MySQL을 사용하는
필요. 도와주세요.
옵션 # 2로 이동하십시오. 비정규 화는 새로운 검정색입니다. 답장을 보내 주셔서 감사합니다. – ethrbunny
또한 색인을 추가하면 위의 오류 해결 – navy