CouchDB는 수많은 다른 시나리오에서 사용할 수있는 a cool pattern을 사용합니다. 나는 map/reduce 결과의 지속 된 B-tree 인덱스에 대해 이야기하고 있습니다. 아이디어는 집계 된 데이터를 사전 계산하여 B-tree 인덱스의 다른 레벨에 저장하는 것입니다. 그런 다음 인덱스를 사용하여 모든 데이터를 항상 재구성하지 않고도 효율적으로 집계를 쿼리 할 수 있습니다. 그런 다음 리프 수준 값이 변경되면 트리를 통과하는 오름차순 경로 만 다시 계산해야합니다.CouchDB가 집계 된 데이터를 인덱싱하는 데 사용하는이 기술의 일반적인 이름
예를 들어 데이터의 가격이 시간 경과에 따라 다르면 인덱스는 SUM, COUNT를 일, 월 및 년 수준으로 저장할 수 있습니다. 그런 다음 평균 가격을 연초에 쿼리하려는 경우 시작일부터 모든 전체 월에 대한 모든 SUM 및 COUNT를 더하고 마지막 달에 사용할 수있는 모든 요일을 합산 한 다음 합계 SUM을 나눕니다 총 COUNT 개. 과거 가격을 변경해야하는 경우 변경 사항이 색인을 통해 전파되어야하지만 해당 일 및 월 및 연도 값만 업데이트해야하며 그 다음 다른 날짜 및 다른 달의 값은 계산.
이 접근법의 일반적인 이름은 무엇입니까? 인기있는 RDBMS에 비슷한 것이 있습니까? 이것을 실제로 사용하는 경험이 있습니까?