2017-04-10 12 views
1

일부 메모리 내 계산을 시도하고 있는데, Apache Ignite를 CacheStore 구현과 함께 사용하여 작업을 수행하고 있습니다.이 캐시 조인은 크로스 캐시 조인을해야하는데 효율적이지 않습니다. 그래서 같은 캐시 저장소에 여러 유형의 객체를 저장하는 방법이 있습니다.아파치 점화에서 하나의 cacheStore에 여러 유형의 객체를 저장하는 방법이 있습니까?

+0

서로 다른 캐시에 동일한 CacheStore 구현을 사용 하시겠습니까? – alpert

+0

예 .. 목적은 캐시를 조인 할 필요가 있습니다 (예 : 크로스 캐시 조인이 아니라 다른 유형의 오브젝트). 주문, 주문 상품 –

+0

나는 CacheStore로 가능하지 않을 것이라고 생각합니다. 무엇을 얻기 위해 노력하고 있습니까? 더 쉬운 방법이 있을까요? – alpert

답변

0

어쩌면 내가 놓친 것일 수도 있지만 같은 기본 클래스를 구현할 수 없습니까?

+0

하지만 매번 타입 변환 할 필요가 있습니다. 가져온 후에 .. 해결할 수 없지만 키가 중복 될 수 있습니다. 예. 주문, 주문 항목의 ID가 같을 때 –

+0

도우미 클래스를 만들어 캐시에서 물건을 빼낼 수 있습니다. 각각 원하는 유형의 서명이 있습니다. 따라서 SomeTypeA = helper.get ('key')를하면 키가 모두 같은 유형 임에도 명시 적으로 캐스팅하지 않고 (도우미가 캐스팅하지 않고) 형식을 가져옵니다. 정말로 이것을하고 싶다면 객체들 사이에 겹치지 않는 키가 있어야합니다. 서로 다른 오브젝트 유형의 ID가 서로 다른 접미어를 사용하면이 작업을 쉽게 수행 할 수 있습니다. Type A, B, C의 id는 각각 001,002,003으로 끝납니다. –

1

Ignite SQL 성능은 날씨 조인이 크로스 캐시인지 여부에 달려 있지 않습니다. 성능 문제가있는 경우 다른 이유가 있어야합니다.

그러나 어떤 경우에도 단일 캐시에 여러 데이터 형식을 저장할 수 있으며 제한이 없습니다. CacheStore이이 경우 구성되는 방법은 사용하는 구현에 따라 다릅니다.