조인을 병렬화 할 수 있습니까?


9

술어에 대해 두 가지 관계를 결합하려고한다고 가정하십시오. 이것이 NC에 있습니까?

나는 그것이 NC에 있지 않다는 증거는 따라서 공개적으로 문제가 있다는 증거를 답변으로 받아들입니다.

일반적인 경우와 특정 사례에 관심이 있습니다 (예 : 특정 데이터 구조를 사용하면 병렬화 가능).

편집 : 의견의 일부 설명을이 게시물에 가져옵니다.

  • 우리는 equijoin을 고려할 수 있습니다 .엑스=.와이. 단일 프로세서에서 해시 기반 알고리즘은 에서 실행되며 각 세트를 읽어야하므로 이것이 최선입니다영형(||+||)
  • 술어가 각 쌍을 점검해야하는 "블랙 박스"인 경우쌍이 될 수 있고 각각이있을 수도 있고 없을 수도 있으므로 가능성입니다. 각 쌍을 확인하면 가능성이 절반으로 나눠 지므로 최선을 다하는 것은 입니다.||||2영형()

여러 프로세서 에서 이들 (또는 일부 세 번째 조인 유형)을 로 개선 할 수 있습니까?로그케이


이 문제가 실질적인 문제에 의해 동기가 부여된다면, NC는 "유용 할 수없는"의 가장 적합한 개념이 아닐 수 있음을 명심하십시오.
Raphael

@Raphael : 그렇지는 않지만 왜 그런지에 대해 연결할 수 있습니까? 더 적절한 경우 별도의 질문으로 이것을 요청할 수 있습니다.
Xodarap

당신이 무엇을 요구하는지는 분명하지 않습니다. 조인 연산자를 추가 할 기본 관계형 데이터베이스 쿼리 언어는 무엇입니까? 아니면 조인 연산자 만 포함하는 쿼리의 복잡성을 묻고 있습니까? 아니면 더 나은 시간 복잡성을 달성하기 위해 조인 연산자를 "병렬로"실행할 수 있는지 여부가 실제 질문입니까? (AND가 병렬로 수행 될 수있는 방식과 유사) 또한 (안전한) SQL 쿼리는 FOL (Count)에 해당합니다.
Kaveh

또는 두 개의 관계형 데이터베이스를 입력으로 사용하여 조인을 계산하는 복잡성에 대해 가장 잘 알려진 상한 및 하한 (복잡성 클래스)이 무엇인지 묻고 있습니까?
Kaveh

2
@ Xodarap : 내 질문 에 대한 답변과 의견을 찾을 수 있습니다 . 나도 알아 Kruskal et al. (1990) 도 잘 읽었습니다.
Raphael

답변:


1

2프로세서는 모든 가능성을 일정한 깊이로 비교할 수 있으므로 NC에 있습니다.(2)


OR을하려고하면 깊이가 로그가됩니다.
sdcvvc

@ sdcvvc : 충분합니다. 극단적으로 관계형 미적분학에서 3SAT를 인코딩 할 수 있으므로이 결과는 선택이 간단한 경우에만 유지됩니다 (즉, 일정한 시간).
Xodarap
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.