우리는 지난 1 시간 동안 웹 사이트 분석을 저장하기 위해 "소형"메모리 전용 Aerospike 서버를 사용하고 있습니다. 지난 1 시간 동안의 데이터 크기는 약 10GB입니다. (단일 모든 집계 Aerospike 노드에서 수행되는 문서에 따르면Aerospike 집계 부분 크기
stream : aggregate(map(), complex_aggregate_function) : reduce(simple_reduce_function)
:
우리는 별도의 서버 Aerospike에 (자바 기반 클라이언트), (LUA)에이 같은 일부 집계 쿼리를 실행하려고 노드), 클라이언트를 줄이십시오.aggregate() 함수는 작은 데이터 배치 (예 : 10-16 레코드) 만 처리합니다. 그런 다음 집계 결과가 reduce()에 의해 처리되도록 클라이언트에 전송됩니다.
reduce() 작업은 클라이언트에서 실행되므로 서버가 최소한 1/16 크기의 데이터를 클라이언트에 보내야 함을 의미합니다. 나는. 데이터에 대해 수백 메가 바이트입니다. 성능에 대해 이야기하십시오.
레코드 스트림 집계의 "버퍼 크기"또는 "큐 크기"또는 "크기"를 변경할 수 있습니까? 나는. reduce() 함수를 각 노드 당 한 번만 호출하도록 Aerospike를 "조정"할 수 있습니까?