메모리 (1M 이상)에 비해 너무 큰 두 개의 데이터 세트를 비교하는 효과적인 방법을 찾고 있습니다. 둘 다 MySQL 테이블에 있습니다. 나는 서버와 클라이언트 사이의 차이점을 찾고 무엇을 업데이트하고, 만들고, 클라이언트에서 삭제하려고하는지 찾으려고 노력 중이다. 이전에 데이터를 정렬하거나 정렬 된 상태로 유지할 수 있습니다.빅 데이터 세트 비교
input:
server = [
{:id => 7, :rev => 1, :uuid => 111},
{:id => 8, :rev => 3, :uuid => 222},
{:id => 9, :rev => 1, :uuid => 333},
]
client = [
{:id => 8, :rev => 2, :uuid => 222},
{:id => 9, :rev => 1, :uuid => 333},
{:id => 6, :rev => 1, :uuid => 444},
]
expected output:
create: [{:id => 7, :rev => 1, :uuid => 111}]
update: [{:id => 8, :rev => 3, :uuid => 222}]
delete: [{:id => 6, :rev => 1, :uuid => 444}]
이 diff 문제를 나누고 여러 근로자/노드를 통해 배포하는 방법을 찾고 있습니다. 다른 데이터 저장소를 사용할 수 있으며 루비 또는 C가 아닌 데이터 저장소에서 수행 할 수 있다면 좋을 것입니다. 제안?