2014-04-24 6 views
1

Datomic은 동일한 쿼리에서 use multiple inputs, 즉 다중 데이터 서버를 허용합니다.단일 입력에서와 같이 빠른 속도로 여러 입력에 대한 데이터 쿼리 성능이 향상 되었습니까?

쿼리가 performed locally in the peers, using the actual db indexes inside the peer 인 경우 여러 데이터 서버의 데이터를 조인하는 쿼리가 실행되는 것처럼 보일 수 있습니다. 단일 데이터 서버에서 유사한 조인을 수행하는 것보다 빠르지는 않을 수도 있습니다.

여러 소스를 사용할 때 쿼리 엔진이 작동하는 방식과 질적 인 차이점이 있습니까?

(없으면 우리는 데이터 처리 서버의 모든 쓰기가 임의의 쓰기 성능을 조정하기 위해 샤딩을 수행하여 단일 트랜잭션을 거쳐야한다는 사실을 잊을 수 있습니다.) RDBMS 샤딩보다 성능이 좋아지며 효율성 가입)

편집 :

그것은 not all queries are equally fast, 단 한 번의 datomic 서버 내부 밝혀 :

엔티티는 자주 ACR를 조회 할 수 있습니다 oss - 샘플 데이터의 커뮤니티 관련 엔티티와 마찬가지로 - 쿼리 성능을 높이기 위해 같은 파티션에 있어야합니다.

그래서 나를 바꿔 보자 단일 datomic 서버에 datomic 약으로 빠르고 효율적인 서버 (메모리, CPU 사용량, 네트워크) 파티션에서 쿼리로 에서 쿼리 있습니까?

답변

3

Datomic의 쿼리 엔진은 기본 인덱스 세그먼트의 출처를 신경 쓰지 않으므로 여러 시스템의 인덱스를 사용하는 쿼리는 단일 시스템의 인덱스를 사용하는 쿼리와 비교하여 불이익을주지 않습니다.

그렇다면 N 시스템에서 흥미로운 작업을 수행 할 수있는 유용한 속성이있는 방식으로 데이터를 구성해야합니다. 성능에 영향을 미칠 수 있습니다 (예 : 단순 엔티티 ID보다 큰 값 유형을 선택하면 캐시에 들어갈 수있는 데이터의 양이 줄어 듭니다.