2010-06-18 2 views
6

저는 현재 초당 수만 건의 쓰기를 처리 할 수 ​​있어야하는 시스템을 설계하고 있습니다. 나는 지속성 레이어를 위해 Apache Cassandra를 사용하는 것에 어느 정도 동의하고 애플리케이션 레이어에 Java를 사용할 것이지만 몇 초 안에 변경 사항을 픽업하는 방식으로 데이터에 신속하게 액세스해야하는 상황이 있습니다.Cassandra 및 Java와 함께 사용하는 클라이언트 내 캐싱 옵션은 무엇입니까?

매번 Cassandra를 두드리는 것은 변경 사항이 너무 느릴 것입니다. 즉, 어떤 종류의 응용 프로그램 계층 캐싱을 사용해야한다는 것을 의미합니다.

캐시 된 데이터가 최신 상태로 유지되도록하려면 일종의 멀티 캐스트 기반 캐시 무효화를 지원하는 것이 이상적입니다.

내 옵션에는 어떤 것이 있습니까?

+1

난 당신이 데이터 카산드라를 치는 것은 너무 느린 될 것으로 추정한다고 생각하지 않습니다. 액세스중인 데이터가 신선하거나 뜨겁다면 항상 메모리에 저장되며 다시 캐싱하면 더 많은 메모리를 낭비하게됩니다. 당신은 실험보다는 시험을해야합니다. –

답변

0

나는 ehcache을 사용했으며 정말 잘 작동했습니다. 멋지게 구성 할 수있는 앱 외부에서 멀티 캐스트 무효화 (그리고 무효화 이상을 필요로하는 디스크 기반 지속성)를 지원합니다.

1

나는 캐스 산드라 키 (색인 스캔 방지) 및/또는 행 캐시 (스 태스 블 검색 제외)가 충분한 지 조사하여 시작할 것입니다.

자세한 정보는 : http://wiki.apache.org/cassandra/API

+0

이들이 클라이언트에 캐시되어 있습니까? 그것에 대한 자세한 정보를 알려줄 수 있습니까? – sanity

+1

순수 서버 사이드 캐싱 – Schildmeijer