저는 Cassandra를 처음 접했을뿐입니다. Datastax 과정을 통해 배웠지 만 여기서는 버킷에 대한 정보를 찾지 못했습니다. 인터넷에서, 그리고 응용 프로그램에서 버킷을 사용하여 분할해야합니다. 내 데이터.Cassandra 버킷 분할 파티션 크기 조정
대책을 세울 수있는 도구가 있습니다. 매일 파티션 (파티션 키로 타임 스탬프)을 분할하면 파티션에 대해 100MB의 한계에 쉽게 도달 할 수 있으므로 약간 위험 할 수 있습니다. 각 측정 값은 ID로 식별 된 특정 객체와 관련됩니다. 그래서 양동이를 사용하고 싶지만 어떻게 해야할지 모르겠습니다. 나는 카산드라 3.7 여기
을 사용하고
내 표는 대략의 모양을하는 방법입니다
CREATE TABLE measures (
instrument_id bigint,
day timestamp,
bucket int,
measure_timestamp timestamp,
measure_id uuid,
measure_info float,
object_id bigint,
PRIMARY KEY ((instrument_id, day, bucket), measure_timestamp, measure_id)
);
내가 파티션 키와 OBJECT_ID를 추가하는 생각했지만, 그때는 "흐름을 풀어 어떤 수단에 의해 만들어지는 "여러 가지 측정 방법"은 특정 시간이나 특정 시간에 도구로 만들어진 모든 측정을 보는 것입니다.
- 그렇다면 특정 악기에 대한 하루의 모든 레코드를 요청할 때 많은 양동이가 있다면 어떻게해야합니까?
- 파티션 제한을 400 000 행으로 만들려면 데이터를 삽입 할 때 버킷에 데이터를 삽입해야 할 때 어떻게 알 수 있습니까?
- 거기에 버킷의 개수를 아는 방법이 있습니까?
도움 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 것은 악기가 얼마나 많은 측정을 할 수 있는지 모른다. 개체를 감지 할 때 개체 수가 제한되지 않습니다. 하지만 당신이 말하는대로 할 수 있습니다. :) 쓰여진 버킷의 수를 "계산"하는 '기본 제공'방법이 없으므로 어떻게 할 수 있습니까? 데이터를 삽입 할 때 어떻게 작동합니까? – Miwauke
@Miwauke 악기의 속도 *를 모르십니까? 하나의 계측기가 초당 하나의 측정 값 * 처리량 *을 갖는다면, 어느 날 하루에 계측기 당 하루 최대 측정치는 ** M = 86400 **입니다. * 처리량 *이 1 초당 1 초 측정 인 경우 기기 당 하루 평균 측정치는 M = 86M **입니다. 정확한 숫자는 필요하지 않습니다. (야구계) 추측은 괜찮을 것입니다.** 당신은 ** 데이터를 작성하는 버킷을 결정합니다. 각 계기는 자체 측정 값을 계산해야하며 버킷 당 올바른 측정 계수 *를 사용하여 올바른 버킷에 적절하게 작성해야합니다. – xmas79
아직 악기의 속도는 모르지만 조사 할 수는 있습니다. 답해 주셔서 감사합니다. 정확한 양동이에 글을 쓰려면 "모든 것"을 추적해야합니다. 이것이 제가 알고 싶었던 것입니다. 하나의 버킷에있는 항목 수를 계산하는 가장 좋은 방법은 무엇입니까? 어딘가에서 카운터 열을 사용해야합니까? – Miwauke