나는이 구조를 가진 PostgreSQL 데이터베이스와 루비 레일에 응용 프로그램을 . 각 A에는 수천 개의 B가 있고 각 B에는 수만 개의 C가 있습니다 (따라서 각 A에는 수백만 개의 C가 있음).수평 데이터베이스 확장
A는 독립적이며 다른 A의 B 's와 C는 함께 필요하지 않습니다 (즉 동일한 쿼리에서).
내 문제는 이제 ActiveRecord 쿼리가 꽤 오래 걸린다는 것입니다. C 용 테이블에 수천만 개의 행이 있으면 쿼리에 오래 걸릴 것입니다.
데이터베이스를 수평으로 확장하려고합니다 (즉, A의 테이블, B의 테이블 하나, 각 A의 C 테이블 하나). 그러나 나는 그것을 어떻게하는지 모른다. 그것은 일종의 sharding 일종이지만 DB 테이블을 동적으로 생성하는 방법을 알아낼 수 없으며 ActiveRecord를 사용하여 테이블이 어떤 A im과 작업하는지에 따라 데이터에 액세스 할 수 있습니다.
대단히 감사합니다.
확인
http://www.mongodb.org/
'public'. – tadman
감사합니다. 나는 스키마에 대해 몰랐습니다. 그러나 나는 어떻게 그것을 동적으로 할 것이냐? – Nicolas
만약 내가 당신이라면, 당신에게 시작할 곳을 제공하는 부가 기능이나 플러그인을 찾아 볼 것입니다. Postgres 공간에 익숙하지는 않지만 점프 지점 역할을 할 수있는 [Octopus] (https://github.com/tchandy/octopus)와 같은 것들이 있습니다. – tadman