나는 청크 객체 저장소로 카산드라를 사용하고 있습니다.카산드라에서 불변의 바이트 청크를 저장하고 검색하는 가장 좋은 방법
복제 인수 3을 사용합니다. CL_ONE으로 청크를 작성한 다음 쓰기가 완료되면 CL_ONE으로 읽습니다.
청크가 불변이므로 불필요한 데이터를 읽을 위험이 없습니다.
그러나 NotFoundException을 실행할 수 있습니다. 하나를 작성한 직후에 청크를 읽으려고 할 때 모든 복제본에 아직 청크가 없을 수 있기 때문입니다. 나는이 문제를 해결하기 위해 노력했다 무엇
: 복제본이 덩어리가 될 때까지
- 가 CL_ONE에서 읽기를 다시 시도합니다. 몇 분이 걸릴지 모르지만 몇 분이 걸릴 수 있습니다.
이제 CL_ONE을 사용하여 읽기를 한 번 시도한 다음 실패하면 CL_ALL로 다시 시도합니다. 내가 처음 쓰기가 완료된 후에 만 읽기 때문에, 나는 그것이 측면에서 (이 최선의 방법입니다,
내 질문은 청크에 대한 모든 복제본을 묻는 비용으로, 모든 경우에 응답을 받아야합니다 Cassandra에서 불변 인 덩어리의 읽기/쓰기를 관리 할 수 있습니까? 사전에
감사합니다,
앙투안
ChunkedObjectStore에 Netflix 레서피를 사용하고 있습니다. 당연히 나는 당신의 문제를 사용할 수 있지만 그때 청크는 불변이므로 동일한 청크를 여러 번 가져 오는 것이 대부분이기 때문에 성능 문제가 있습니다. 최대 성능을 위해 CL_ONE을 읽고 쓰고, 청크가 방금 작성되고 아직 복제되지 않은 경우에만 발생하는 오류를 찾지 못한 경우에는 다시 시도해야합니다. 내 문제를 조금 더 잘 이해 하셨기를 바랍니다. – lambdacalculus