복붙노트

[MONGODB] 때 MongoDB를 또는 다른 문서 지향 데이터베이스 시스템을 사용 하는가? [닫은]

MONGODB

때 MongoDB를 또는 다른 문서 지향 데이터베이스 시스템을 사용 하는가? [닫은]

우리는 비디오 카메라와 오디오 클립, 사진 및 벡터 grafics을위한 플랫폼을 제공합니다. 더 나은 MongoDB가이 요구 사항에 맞는 때문에 우리는 모든 파일의 메타 정보를 저장하여 MongoDB를 데이터베이스 백엔드로 MySQL을 시작하고 최근에 포함되어 있습니다. 예를 들어 사진 EXIF ​​정보가있을 수 있습니다 비디오는 우리가 너무의 메타 정보를 저장할 수있는 오디오 트랙을 가질 수있다. 내가 알 수 있도록 동영상 및 벡터 그래픽 MongoDB를이 구조화되지 않은 데이터를 저장하고 검색을 유지하는 완벽한 것을, 등 어떤 공통의 메타 정보를 공유하지 않습니다.

그러나, 우리는 우리의 플랫폼을 개발하고 기능을 추가 계속. 이제 다음 단계 중 하나는 우리의 사용자를위한 토론의 장을 제공합니다. 즉, 지금 발생 질문 : 너무 등 포럼과 포럼 - 게시물을 저장하거나이를 위해 MongoDB를를 사용하는을위한 좋은 선택이 될 것입니다 MySQL 데이터베이스를 사용할 수 있습니까?

질문은 그래서 : 때 때 RDBMS를 사용하는 MongoDB를하고를 사용합니다. 당신은 선택의 여지가 있다면 당신은, MongoDB를 또는 MySQL을 걸릴 것입니다 그리고 당신은 왜 그것을 걸릴까요?

해결법

  1. ==============================

    1.NoSQL에에서 : 그것은 MongoDB에 대한 쉬운, 저자 쓰기 경우에만 :

    NoSQL에에서 : 그것은 MongoDB에 대한 쉬운, 저자 쓰기 경우에만 :

    그런 다음, 결론에서 :

    이 기사처럼, 나는 그것은 NoSQL의 풍경과 과대 광고의 좋은 개요를 제공합니다, 그것은 매우 유익한 찾을 수 있습니다. 그러나, 가장 중요한 부분 즉, 그것은 정말 RDBMS와 NoSQL의 사이에서 선택을 때 자신에게 올바른 질문을하는 데 도움이됩니다. 가치는 이럴을 참조하십시오.

    기사에 대한 대체 링크

  2. ==============================

    2.소셜 앱하여 MongoDB를 사용하여 2 년, 나는 그것이 정말 SQL RDBMS없이 사는 것이 무엇을 의미하는지 목격했다.

    소셜 앱하여 MongoDB를 사용하여 2 년, 나는 그것이 정말 SQL RDBMS없이 사는 것이 무엇을 의미하는지 목격했다.

    나는 모든 프로젝트의 98 %가 아마 더 일반적인 SQL RDBMS와 NoSQL에보다 방법입니다 있다고 생각합니다.

  3. ==============================

    3.당신이 말했듯이, MongoDB를 구조화되지 않은 데이터를 저장하는 것이 가장 적합합니다. 그리고이 문서 형식으로 데이터를 구성 할 수 있습니다. 되는 NoSQL 데이터 저장소 (MongoDB를, CouchDB를, 볼드 모트)라는이 RDBMS의 altenatives는 스케일 대규모 애플리케이션에 매우 유용 이러한 빅 데이터를 저장에서 빠른 데이터 액세스를 필요로합니다.

    당신이 말했듯이, MongoDB를 구조화되지 않은 데이터를 저장하는 것이 가장 적합합니다. 그리고이 문서 형식으로 데이터를 구성 할 수 있습니다. 되는 NoSQL 데이터 저장소 (MongoDB를, CouchDB를, 볼드 모트)라는이 RDBMS의 altenatives는 스케일 대규모 애플리케이션에 매우 유용 이러한 빅 데이터를 저장에서 빠른 데이터 액세스를 필요로합니다.

    그리고 이러한 데이터베이스의 구현은 일반 RDBMS보다 간단하다. 이러한 간단한 키 값 또는 문서 스타일의 바이너리 객체이기 때문에 직접 디스크로 직렬화. 이 데이터 저장소는 ACID 속성 및 스키마를 적용하지 않습니다. 이것은 어떤 트랜잭션 능력을 제공하지 않습니다. 이 큰를 확장 할 수 있습니다 우리는 빠른 액세스 (읽기 및 쓰기 모두)을 달성 할 수 있습니다.

    그러나 대조적으로, RDBMS는 datas에 ACID 및 스키마를 적용합니다. 당신이 구조화 된 데이터로 작업하려면 원하는 경우에 당신은 RDBS으로 앞서 갈 수 있습니다.

    나는 이런 종류의 물건에 대한 포럼을 만들기위한 MySQL의를 선택하는 것입니다. 이 때문에 큰 규모 않을 것입니다. 그리고이 데이터 간의 관계를 구성하고있다 매우 간단한 (공통) 애플리케이션이다.

  4. ==============================

    4.몽고는 기본적으로 JSON을 저장합니다. 앱 (중첩으로) JS는 개체를 많이 취급하고 이러한 개체를 유지하려면 다음 몽고를 사용하기위한 매우 강력한 주장이있다. 그들이 않은 포장 모든 JS 개체 속성 및하려고하지 않기 때문에 그것은, 얇은 당신의 DAL과 MVC 레이어 울트라하게 그들이 자연에 맞지 않는 구조 (스키마)로 그들을 강제 맞습니다.

    몽고는 기본적으로 JSON을 저장합니다. 앱 (중첩으로) JS는 개체를 많이 취급하고 이러한 개체를 유지하려면 다음 몽고를 사용하기위한 매우 강력한 주장이있다. 그들이 않은 포장 모든 JS 개체 속성 및하려고하지 않기 때문에 그것은, 얇은 당신의 DAL과 MVC 레이어 울트라하게 그들이 자연에 맞지 않는 구조 (스키마)로 그들을 강제 맞습니다.

    우리는 그 중심에 여러 복잡한 JS 개체가있는 시스템을 가지고, 우리는 정말 모든 것을 지속 할 수 있기 때문에 우리는 정말 쉽게, 몽고을 사랑 해요. 우리의 목적은 오히려 비정질 및 구조화, 그리고 몽고는 깜박하지 않고 그 합병증까지 젖은. 우리는 인간의 소비에 대한 비정질 데이터를 해독 사용자 정의 보고서 층이 있고,이 아니었다 어려운 개발하는 것이다.

  5. ==============================

    5.나는 복잡한 거래를해야 할 경우 RDBMS를 사용 말할 것입니다. 와 작업에보다 유연하고 당신은 당신이 필요로 할 때 그것을 확장 할 수있는 알 - 그렇지 않으면 나는 MongoDB를 함께 갈 것입니다. (- 나는 MongoDB를 프로젝트에서 작동하지만 나는 바이어스 해요)

    나는 복잡한 거래를해야 할 경우 RDBMS를 사용 말할 것입니다. 와 작업에보다 유연하고 당신은 당신이 필요로 할 때 그것을 확장 할 수있는 알 - 그렇지 않으면 나는 MongoDB를 함께 갈 것입니다. (- 나는 MongoDB를 프로젝트에서 작동하지만 나는 바이어스 해요)

  6. ==============================

    6.누가 분산, 분산됩니다 포럼을 필요가 있겠습니까? 어쩌면 페이스 북은,하지만 당신은 페이스 북 경쟁자를 작성하지 않는 한, 당신이 가장 편안하게 어떤 MySQL은, 포스트 그레스 또는를 사용합니다. 당신은 확인하여 MongoDB를 시도하지만, 당신을 위해 마법을 기대하지 않습니다합니다. 난 당신이 정말 이미 작업 된 경우 이미 발견 한 확신으로 그것은 단지 다른 모든 것들로, 그 단점 및 일반 불결함을해야합니다.

    누가 분산, 분산됩니다 포럼을 필요가 있겠습니까? 어쩌면 페이스 북은,하지만 당신은 페이스 북 경쟁자를 작성하지 않는 한, 당신이 가장 편안하게 어떤 MySQL은, 포스트 그레스 또는를 사용합니다. 당신은 확인하여 MongoDB를 시도하지만, 당신을 위해 마법을 기대하지 않습니다합니다. 난 당신이 정말 이미 작업 된 경우 이미 발견 한 확신으로 그것은 단지 다른 모든 것들로, 그 단점 및 일반 불결함을해야합니다.

    물론, MongoDB를가 흥하고 표면에 쉽게 보이는,하지만 당신은 더 많은 제품이 이미 극복 성숙 문제로 실행하겠습니다 수 있습니다. 수행 그렇게 쉽게 유혹, 오히려 "NoSQL에"성숙, 또는 다이 때까지 기다릴 수 없습니다.

    개인적으로, 나는 "NoSQL에"이 시들어 생각하고 (거의 정의에 의해) 정해진 기준이없는 등, 분열에서 죽는다. 나는 개인적으로 장기 프로젝트를 위해 내기를하지 않습니다 그래서.

    거의 코딩과 디자인 오버 헤드없이 원활 루비 또는 유사한 언어로 통합하고, 언어가 "지속"할 수 있다면 내 책에서 "NoSQL에"를 절약 할 수 있습니다 만 건이다. 즉 통과 올 수 있습니다,하지만 난 지금이, 그 때까지 기다릴 것, 그리고 더 많은 수 물론 성숙 할 필요가있다.

    BTW, 당신은 왜 처음부터 포럼을 만드는? 당신이 정말로 (I 의심) 포럼의 차세대를 만드는 경우를 제외하고, 대부분의 요구 사항에 맞게 불통 할 수 있습니다 오픈 소스 포럼의 톤이있다.

  7. ==============================

    7.나는 응용 프로그램 로그에서 실시간 분석을 위해 MongoDB를를 사용하는 기업의 많은에서 본 적이있다. 그 스키마 여수 정말 기록 스키마 변화에 수시로 경향이 응용 프로그램 로그에 대한 적합합니다. 자동으로 메모리에 데이터 맞춤을 유지하기 위해 이전 데이터를 제거합니다 있기 때문에, 그 모자를 씌운 컬렉션 기능이 유용합니다.

    나는 응용 프로그램 로그에서 실시간 분석을 위해 MongoDB를를 사용하는 기업의 많은에서 본 적이있다. 그 스키마 여수 정말 기록 스키마 변화에 수시로 경향이 응용 프로그램 로그에 대한 적합합니다. 자동으로 메모리에 데이터 맞춤을 유지하기 위해 이전 데이터를 제거합니다 있기 때문에, 그 모자를 씌운 컬렉션 기능이 유용합니다.

    즉, 하나 개의 영역입니다 정말 위해 MongoDB에의 적합을 생각하지만, MySQL은 / ​​PostgreSQL은 더 일반적으로 권장합니다. 상기 웹 문서화 및 개발자 리소스의 많은뿐만 아니라 기능과 견고성이있어.

  8. ==============================

    8.당신이 몽고이 선호 할 수 있습니다 왜이 주된 이유

    당신이 몽고이 선호 할 수 있습니다 왜이 주된 이유

    그것은 빅 데이터 애플리케이션에 적합하다. RDBMS는 빅 데이터에 대한 좋지 않다.

  9. ==============================

    9.알다시피, 조인 약이 모든 물건 '복잡한 거래'-하지만, 몇 년 전, 말, COMMIT / ROLLBACK을위한 "필요"멀리 설명 사람 몬티 자신이었다 논리 클래스에서 수행되는 모든 '그 어쨌든 (그리고 데이터베이스) '- 그래서 다시 한번 같은 일입니다. 필요한 것은 웹 애플리케이션이하는 일의 99 %를, 바보 아직 매우 단정하고 빠른 데이터 저장 / 검색 엔진입니다.

    알다시피, 조인 약이 모든 물건 '복잡한 거래'-하지만, 몇 년 전, 말, COMMIT / ROLLBACK을위한 "필요"멀리 설명 사람 몬티 자신이었다 논리 클래스에서 수행되는 모든 '그 어쨌든 (그리고 데이터베이스) '- 그래서 다시 한번 같은 일입니다. 필요한 것은 웹 애플리케이션이하는 일의 99 %를, 바보 아직 매우 단정하고 빠른 데이터 저장 / 검색 엔진입니다.

  10. ==============================

    10.등, 이전에 말했다 당신은 많은 선택 사이에서 선택 모든 선택이 좀 걸릴 수 있습니다 : http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

    등, 이전에 말했다 당신은 많은 선택 사이에서 선택 모든 선택이 좀 걸릴 수 있습니다 : http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

    내가 제안하는 것은 최선의 조합을 찾을 수 있습니다 : 당신이 산을 필요로하고 당신이 어떤 테이블을 조인 할 경우의 MySQL + Memcache는 정말 대단한 MongoDB를 + 레디 스 문서 저장소에 적합 Neo4J 그래프 데이터베이스에 적합

    내가 뭘 : 나는에 사용 해요 때문에 MYSQL + Memcache를 시작, 나는 다른 사람에게 데이터베이스 프레임 워크를 사용하여 시작합니다. 하나의 프로젝트에서, 당신은 예를 들어 MySQL과 MongoDB를 결합 할 수 있습니다!

  11. from https://stackoverflow.com/questions/1476295/when-to-use-mongodb-or-other-document-oriented-database-systems by cc-by-sa and MIT license