1

데이터베이스 시스템의 "유형"을 결정해야하는 웹 애플리케이션을 개발할 계획입니다. 장고/파이썬에서 웹 애플리케이션을 개발할 계획입니다.어떤 데이터베이스 유형을 사용해야합니까?

내 응용 프로그램에는 점점 증가하는 'n'개의 레코드와 'k'열 (1-100)이있는 테이블이 하나만 포함됩니다. 불행하게도, 나는 'k'즉 그 수에 대해 아무런 통제력이 없다. 'k'의 크기는 시간에 따라 증가/감소 할 수 있습니다 (1-100 사이). 나는 성과와의 절충을 원하지 않는다.

어떤 데이터베이스 유형을 사용해야합니까? 다음과 같이 내 초기 반응은 다음과 같습니다

  • MySQL은 : 좋은 옵션을하지만 (키, 값) 저장소가
  • XML 데이터베이스 청구서에 맞지 않는 : 외모 나는이 옵션을
  • 레디 스를 피하기 위해 싶습니다 작업에 좋지만 원하는 성능을 제공합니까? 나는 확실하지 않다이

편집 특정 요구 사항에 : 관계형 DB 지향

  • 객체

    는 K-컬럼에 조회를 수행하고 'N'기록의 일부를 검색 할 수 있습니다. Twitter 또는 Facebook과 비슷한 REST API를 제공 할 계획입니다.

    예 : http://api.twitter.com/1/users/show.json?screen_name=Ashton. 이것이 내가 구현하려고 계획 한 것이라면 screen_name은 열 중 하나입니다. 마찬가지로 user_id, 친구 수 등과 같은 다른 항목을 기반으로하는 다른 매개 변수가있을 수 있습니다.

  • +1

    데이터베이스 결정은 저장하려는 데이터가 아닌 작성하려는 조회에 초점을 맞추어야합니다. 텍스트 파일에 지속적으로 추가되는 K 개의 필드로 이루어진 N 개의 레코드를 작성하면 주 요구 사항을 충족시키지 만, 사용자가 묻는 것은 의심 할 여지가 없습니다. 따라서 질문을 수정하고 수행하려는 다른 작업에 대해 더 자세히 이야기해야합니다. –

    +0

    @WillHartung 방금 귀하의 의견을 토대로 편집 내용을 추가했습니다. 지금은 더 분명해지기를 바랍니다. – Dexter

    답변

    2

    너무 많은 선입관을 갖고이 결정에 참여한 것 같습니다. 왜 MySQL을 피하기를 원하십니까? 당신이 강체 스키마를 피하기 때문에 그것입니까?

    Redis는 데이터 볼륨 때문에 적합하지 않다고 생각하지만 키/값 저장소라는 것과 아무 관계가 없다고 생각합니다.

    데이터는 MongoBD의 경우 꽤 텍스트 뼈대처럼 들립니다. 너 봤어?

    +0

    예, 엄격한 스키마로 인해 MySQL을 피하고 싶습니다. Redis는 튜플에 하나의 키만있을 수 있기 때문에 적합하지 않습니다. 예를 들어 (1,2,3,4)는 Redis에서 {1 : 2,3,4}로 표시됩니다. 따라서 '1'에 대해서만 쿼리 할 수 ​​있습니다. 레코드의 모든 값에 대한 유연한 쿼리가 필요합니다. 위의 예에서 1/2/3/4. 나는 MongoDB를 살펴볼 것이다. – Dexter

    +1

    내가 redis에 대한 요점을 만들었던 이유는 그것이 오해를 기반으로한다는 것을 알았 기 때문입니다. redis는 단순한 키/값 저장소 이상의 _lot_입니다. 문제가 생겨서 아직 모델을 만들 수 없습니다. 동일한 프리미티브를 사용하여 데이터를 복잡한 제품으로 저장하는 경우 복잡성을 숨기지 않습니다. 하지만 네, 아마도 몽고드가 아마도 당신에게 가장 적합하다고 생각할 것입니다. 완전히 유연한 스키마, 특별 쿼리, 인상적인 속도 관계형 데이터베이스처럼 (대부분) 쿼리 할 수있는 스키마가없는 저장소입니다. – menacingly

    +0

    Redis의 명령을 사용하면 데이터를 매우 복제해야합니다. 어쨌든, 나는 MongoDB를 살펴볼 것이다. 그러나 Redis에서 내 데이터를 모델링 할 수 있다고 생각한다면이 데이터를 살펴 보는 것이 좋습니다. – Dexter

    관련 문제