2012-09-09 3 views
1

관계형 데이터를 noSQL에 넣고이를 비정규 화해야하는 게시물의 수를 확인합니다. 이 도구가 존재하지 않기 때문에 실제로입니까? playOrm에는 S-SQL이 있습니다. 파티션을 사용하지 않으면 확장되지 않으며 DBMS 데이터를 noSQL 스토어로 옮겨서 간단하게 확장 할 수는 있지만 일단 파티션으로 이동하면 확장이 잘됩니다.noSql 조인, noSQL 저장소로의 관계형 데이터 이동 및 playOrm

제 질문은 도구 문제입니까? 우리는 DBMS의 관계형 데이터를 처리하는 것처럼 join을 수행하고 noSQL 저장소에서 관계형 데이터를 처리 할 수있는 playOrm과 같은 도구를 더 많이 보게 될 것입니다.

덕분에, 딘이 조인의 더 복잡한 업데이트 비용, 필요성을 제거하여 읽기 성능, 을 개선하기 위해 비정규 전통적인 OldSQL 데이터베이스에서

답변

2

. NoSQL 데이터베이스에서 조인 지원이 부족하기 때문에 비정규 화해야 할 수 있습니다. 여전히 읽기 성능은 좋지만 업데이트가 복잡합니다 (특히 NoSQL 데이터베이스가 트랜잭션을 지원하지 않는 경우). 데이터베이스의 결합에 대한 지원을 추가하려면 기본 계층 인 데이터베이스가 조인을 지원하는 경우보다 훨씬 더 성능을 떨어 뜨릴 다른 계층을 추가하십시오.

무언가가 수평으로 (거의 선형으로) 확장되면 노드를 추가하면 성능을 쉽게 얻을 수 있습니다. 조인은 데이터가 분할되어 두 개의 행/게시물 사이에 각 조인 이 하나의 단일 데이터베이스 노드에서 로컬로 실행될 수 있도록 분할 된 경우에만 수평 적으로 확장됩니다. 일부 사전 정의 된 조인에 대해서는 을 얻을 수 있지만 일반적으로 대부분의 NoSQL 데이터베이스는 조인과 관련된 복잡한 임시 쿼리를 지원할 때 성능이 저하 될 것이라고 주장합니다.

다른 대안을 살펴보면 NewSQL 데이터베이스 Starcounter가 쿼리 가입 을 지원하며 뛰어난 성능을 제공합니다.

+0

실제로 1,000,000 개의 행에서 playOrm을 사용하는 노드를 통한 조인 시간이 60ms가되어 100 개의 행을 반환하므로 시간이 초과되었습니다. 따라서 분할 된 nosql의 경우 조인 성능이 저하되는 경향이 있습니다. 생각을 위해 +1. 또한 playOrm은 더 나은 성능을 얻기 위해 lookahead 조인을 사용합니다. –