2013-05-13 7 views
3

현재 우리 시스템은 PostgreSQL을 사용하고 있지만 우리는 그 기능의 한계를 밀어 낸 것으로 보입니다. 일부 테이블은 초당 100 번 이상의 읽기/쓰기 작업을 처리해야하므로 여러 컴퓨터에서 수평 적으로 확장해야 할 때가 있습니다.카산드라는 초당 100 번 이상의 읽기/쓰기 작업을 유지해야하는 좋은 후보 데이터베이스입니까?

GAE의 Big Table을 사용해 본 경험이 많습니다. Big Table에는 쿼리 옵션이 풍부했습니다. 예를 들어 목록 데이터 필드에 대해 쿼리가 가능했습니다. 카산드라는 빅 테이블에 기반을 두어야한다고 생각하지만, 카산드라의 경우 정확하게 이해한다면 인덱스 테이블을 사용하고 관리하는 카산드라 위에 커스텀 코드를 만들어야합니다. 오픈 소스 데이터베이스는 우리가 병합 조인 - 지그재그 지그재그, 등, 인덱스 테이블을 유지하기 위해 우리 자신의 사용자 지정 논리를 구축하지 않았다 사용할 수 있었다면

좋은 카산드라가 ... 좋은 것 후보자가 여기 있니? 아니면 더 나은 것으로 간주 될 수있는 것들이 있습니까?

답변

5

작업이 거대한 조인이거나 수십만 개의 행을 반환하지 않는 한, 선택한 데이터베이스는 100 ops/s를 유지할 수 있습니다. 카산드라는 노드 당 수만 건의 읽기와 쓰기가 아니라면 수천 가지 문제를 해결할 수 있습니다.

특정 사례에 대해 자세히 알지 못하면 의미있는 조언을 제공하는 것이 불가능합니다. 카산드라는 훌륭한 데이터베이스이지만, 그것이 당신에게 옳다면 나는 모른다. 나는 Stack Overflow에서 cassandra 태그를 살펴보고 사람들이 무엇에 관해서 물어 보는지, 그리고 당신이하려고하는 것과 똑같이 보는지, 그리고 그 대답이 카산드라와 가능하다라고 말한다면 (나는 ' Cassandra가 그 특별한 경우를위한 최선의 선택이 아니라는 답변이있는 꽤 많은 질문에 대답했습니다.)

카산드라와 조지 빅 테이블에는 큰 유사점이 있지만 큰 차이점이 있습니다. 새로운 카산드라 사용자를 끌어들이는 한 가지는 "다른 것이 없으면이 항목 만 추가"또는 "마지막 N 항목을 제외하고 항목을 추가하고 모두 제거"와 같은 일을하는 방법이 실제로 없다는 것입니다.