10 억 개 이상의 개체가있는 데이터베이스가 필요하고 언제든지 데이터베이스의 항목에 즉각적으로 (또는 거의 즉각적으로) 액세스해야하는 경우 가장 좋은 솔루션은 무엇입니까?수십억 개의 정보를 저장하는 것이 중요합니까?
이 데이터베이스는 초당 약 1000 건의 요청으로 쿼리됩니다. 데이터베이스의 행은 거의 관련이 없으므로 관계형 일 필요는 없습니다.
이유가 궁금하신 분은 움직이는 요소를 시뮬레이션 해보십시오.
로드 균형 조정 된 웹 서버 클러스터를 통해 액세스되는 카산드라의 여러로드 균형 클러스터와 같은 것을 생각하고있었습니다.
돈은 더 싼 것이 더 좋은 요소입니다. 소프트웨어 또는 도구에 대한 제한은 없지만 오픈 소스 여야합니다.
수많은 사용자가 어리석은 양의 데이터를 처리하는 데 좋은 데이터베이스 솔루션을 찾고 있습니다 (관계형 일 필요는 없습니다).
중복성과 오류를 처리하는 것이 중요합니다.
저를 올바른 방향으로 끌어 들이기위한 높은 수준의 아이디어는 훌륭합니다. 당신이 효율적으로 3D 간격 (X_min < = X_obj < = X_max & Y_min < = Y_obj < = Y_max & Z_min < = Z_obj < = Z_max) 내에서 모든 개체를 얻을 수 있어야합니다 때문에
평균적으로 수십억에서 1000 리퀘스트/초를 수집해야하는 오브젝트의 수는 얼마입니까? 서로 다른 요청에 의해 선택된 데이터간에 얼마나 많은 상관 관계가 있습니까? 10 억 개 이상의 물체는 얼마나 큽니까? 객체는 어떻게 식별됩니까? –
요청 당 약 10 또는 20 개를 말하십시오. 상관 관계는 없습니다 (클라이언트 측에서 계산됩니다). 각 객체는 실제로 약 10 개의 일반 텍스트 속성과 3D 위치 데이터를 말합니다. 객체는 고유 한 키로 식별됩니다 (또는 사용자가 특정 위치에 범위가 지정된 경우). X 단위 내의 모든 객체를 볼 수 있어야합니다 (결과를 얻으려면 db에 쿼리 할 수 있어야합니다. X, Y 및 Z의 범위 내에 있습니다. 다른 속성도 쿼리 할 수 있지만 반환되는 객체는 대부분 10에서 20 또는 100 정도입니다. – jreid42
당신은 z == this 속성을 가진 모든 객체를 제공한다고 말할 수는 없습니다. 그것은 항상 ... X, Y, Z의 200 단위 내의 모든 객체를 제공 할 것입니다. 그런 다음 속성에 따라 추가로 필터링 할 수 있습니다 (그러나 클라이언트 측에서 수행 할 수있는 작업은 동일한 것이 많지 않습니다. 부위). – jreid42