2016-08-29 4 views
-1

엄청난 양의 데이터가 필요하다는 프로젝트가 있습니다.고성능이며 신뢰할 수있는 데이터베이스

Google은 엄청난 양의 데이터를 저장하고 가져올 데이터 저장소를 찾고 있습니다. 데이터베이스는 쉽고, 바우처에는 하나의 객체가 있고 트랜잭션에는 일대 다 많은 관계가 있습니다. 하나의 바우처에는 ~ 10 - 100 건의 거래가 있습니다. 때때로 시스템이 짧은 시간에 수천 개의 바우처를 생성 할 수도 있고 시스템이 수천 건의 트랜잭션을 쓰거나 삭제할 수도 있습니다. 바우처가 유효하거나 쉽지 않은 경우 (쉬운 검색 요청) 애플리케이션이 신속하게 반환되는 것이 매우 중요합니다.

나는 이것을하고 명단에 최적의 데이터베이스를 찾기 위해 여러 블로그를 보았다는 MongoDB를

  • 탄성 검색
  • 카산드라
  • 내가 가장 좋아하는이 탄성 검색하지만

    • 입니다 ES가 기본 데이터 저장소로 사용할만큼 충분히 신뢰할 수 없다고 말하는 여러 블로그를 발견했습니다. mongodb에는 클러스터를 실행하는 데 문제가 있다고하는 블로그도 있습니다. 카산드라와 같은 직업에 대한 경험이 있습니까? 아니면 다른 데이터베이스를 선호합니까?

    +0

    막대한 양의 데이터를 정의 하시겠습니까? – HLGEM

    답변

    2

    MongoDB에 대한 경험이 있지만이 문제에 대해 알지 못합니다.

    빠른 데이터베이스를 원한다고 말할 때 게임에 영향을주는 요소가 많이 있습니다. 인덱싱, 수직 또는 수평 확장, 관계형 또는 nosql, 성능 대 독서 성능 및 독서 기본 설정, 균형 조정, 네트워킹에 대해 고려해야 할 사항 중 하나를 선택하는 경우 DB에 대해 하드웨어를 고려해야합니다 .

    내가 아는 데이터베이스로 이동하고 규모를 조정하고 관리하고 조정할 수 있다고 제안합니다.

    내 개인적인 경험으로는 클러스터 (샤딩)에서 MongoDB를 실행하는 데 아무런 문제가 없었습니다. 관리 나 계획이 잘못되어 문제가 발생할 수 있으므로 잘 알고있는 데이터베이스로 이동하는 것이 좋습니다.

    +0

    좋은 관계형 데이터베이스를 추가하고 평가할 것입니다. 데이터 세트가 적절하게 설계되어 있으면 거대한 (테라 바이트로 생각하십시오) 데이터 세트를 사용하여 신속하게 처리 할 수 ​​있습니다. – HLGEM

    1

    고성능을 필요로하는 거대한 데이터베이스를 설계 할 때 데이터베이스를 선택하는 것이 가장 중요합니다. 대부분의 Nosql 및 관계형 데이터베이스는 이러한 유형의 응용 프로그램을 효과적으로 실행하도록 만들 수 있습니다. 하드웨어가 중요하며 데이터베이스의 실제 디자인과 인덱싱이 중요합니다. 실행하는 쿼리 유형이 효율적이어야합니다.

    고성능의 대용량 데이터베이스가 필요한 프로젝트를 수행하려면 가장 먼저해야 할 일은 이러한 유형의 시스템을 수년간 사용해 온 데이터베이스 전문가를 고용하는 것입니다. 이것은 애플리케이션 개발자가해야 할 일이 아닙니다. 이것은 초보자 나 20 년 넘게 중간 규모의 데이터베이스로만 일해온 나 같은 사람에게도 해당되지 않습니다. 당신은 당신이 지불하는 것을 얻습니다. 이 경우 데이터베이스 설계 실수는 일단 데이터가 있으면 수정하기가 어렵 기 때문에 설계 단계에서 진정한 전문성에 대한 대가를 지불해야합니다. 상주하는 고용인을 원하지 않지만 전문가를 고용하는 경우 계약자를 고용하십시오.

    관련 문제