복붙노트

[REDIS] 중간 크기의 문서를 저장 수천 가장 효율적인 문서 지향 데이터베이스 엔진은 무엇입니까?

REDIS

중간 크기의 문서를 저장 수천 가장 효율적인 문서 지향 데이터베이스 엔진은 무엇입니까?

MongoDB를 나 레디 스?

나는 내가 더 잘 색인 (및 RAM에 맞는 인덱스)를 활성화하기 위해 MongoDB의 작은 컬렉션을 유지해야한다고 들었습니다, 나는 레디 스 "가 빠르며"되어 있지만 더 큰 컬렉션이있는 경우 MongoDB를 더 나은 것을 들었습니다.

내가 해시의 수천 말할 약간의 여러 천 개 컬렉션이있는 경우 가장 효율적인 하나는 무엇입니까?

내 프로젝트에 벤치 마크에 사용 가능한 데이터가 너무 일찍 때문에 나는 이것을 부탁 해요 내가 아주 잘 특별히 레디 스를 두 데이터베이스 엔진의 이론적 인 개념을 이해하지 않기 때문에 나는 아마 나쁜 벤치 마크 스크립트를 설계하는 것입니다.

이 답변을 모두에게 감사합니다.

해결법

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

    1.그것은 특정 유스 케이스에 많이 의존한다. 당신이 자신의 ID가 아닌 다른 무언가에 문서를 조회 할 수 있도록하려는 경우에 당신은 레디 스를 선택하지 않아야합니다. 레디 스를 사용하면 자신의 색인 방식을 구현해야 할 것이다, 그것은 단지 필요합니다.

    그것은 특정 유스 케이스에 많이 의존한다. 당신이 자신의 ID가 아닌 다른 무언가에 문서를 조회 할 수 있도록하려는 경우에 당신은 레디 스를 선택하지 않아야합니다. 레디 스를 사용하면 자신의 색인 방식을 구현해야 할 것이다, 그것은 단지 필요합니다.

    레디 스 내가 사용 사례는 (레디 스에 아무것도 잘못이 있다고, 나는 종종 레디 스 및 몽고,하지만 다른 것들을 모두를 사용하지) 무슨 생각을위한 더 나은 옵션이 될 것입니다 매우 적은 경우가 실제로있다. 당신은 해시로 표현 할 수있는 개체를 가지고있는 것처럼 그것은 나에게 소리. 몽고와 레디 스 모두 해시를 저장할 수 있지만, 몽고 훨씬 더 많은 일을 할 수 있습니다. 몽고하면 그 분야의 어떤에서 문서를 검색 할 수 있습니다, 당신이 그것을 속도를 인덱스를 추가 할 수 있으며 필드도 문자열을 할 필요가 없습니다, 그것은 숫자, 날짜, 목록, 심지어 문서가 될 수 있습니다 (문서 또는 목록), 그리고 모든 문서는 (레디 스 'diskstore 기능이 완료되면이 변경 되더라도) RAM에 맞게 필요가 없습니다. 레디 스 그 중 하나를 가지고 있지 않습니다. 당신은 당신이 (때로는 불편 정말) 아무것도하지만 문자열을 저장할 수 없습니다, 자신을 검색 할 수 있도록 인덱스를 구현해야합니다, 당신은 구현하거나 매핑의 어떤 종류를 사용하는 의지하지 않고 (아무것도하지만 평면 해시를 저장할 수 없습니다 옴 층 등).

    또한 속도를 언급. 레디 스 빠른 엄청나게이며, 몽고 빨리 할 수있다 몽고를 사용하여 사용하는 경우에, 그러나 어느 나쁘지 않다. 공지 사항 나는 몽고 자체가 빠른 것,하지 않는 것이 몽고를 사용하여 말한다. 제가 위에서 언급 한 바와 같이 당신이 레디 스에 가서 여전히 기본 키가 아닌 필드를 사용하여 문서를 검색 할 수 있도록하려면 건은, 당신은이를 직접 구현해야합니다. 검색하면 다음 인덱스에보고하기위한 레디 스, 하나에 두 개 이상의 요청을해야하고, 문서를 가져 오는 한 것입니다. 하나 개 이상의 문서에서 검색 결과는 개별적으로 각 문서에 대한 요청을해야합니다. 이러한 모든 요청을의 오버 헤드 아마 몽고를 사용하는 것보다 더 나쁜 레디 스를 사용하여 만들 것입니다. 내 경험에 의하면, 가장 간단한 캐시, 큐, 또는 이와 유사한 요구 사항 이외는 필요한 모든 것을 얻을 레디 스에 둘 이상의 요청을 확인합니다.

    그래서, 내 처분에 제한된 정보를, 나는 MongoDB를하는 것이 좋습니다.

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

    2.MongoDB를이 괜찮해야한다 :

    MongoDB를이 괜찮해야한다 :

    http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

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

    3.문서 크기는 중요하지만, 몽고 나 레디 스를 선택하는 당신을 위해 가장 중요한 요소는 안된다. 그것은 당신이 몽고에 4 메가 ​​바이트 한도에 도달 할 것입니다 희귀 한, 그리고 당신이 할 경우, 당신의 문서가 충분히 분해되지 않은 지표가 될 수 있습니다. 당신이 당신의 응용 프로그램 상태에서 (제안 상자, 캐시 등) 틈새 영역에 대한 데이터 저장소를 사용하여하려는 경우, 레디 스가 더 적합 할 수 있도록 레디 스 좀 더 모든 목적이다. 풍부한 아이템, 레디 스 '기본 데이터 유형과 구조를 넘어 확장 사람들을 지속하는 경우, 몽고 아마 더 잘 맞는 것입니다.

    문서 크기는 중요하지만, 몽고 나 레디 스를 선택하는 당신을 위해 가장 중요한 요소는 안된다. 그것은 당신이 몽고에 4 메가 ​​바이트 한도에 도달 할 것입니다 희귀 한, 그리고 당신이 할 경우, 당신의 문서가 충분히 분해되지 않은 지표가 될 수 있습니다. 당신이 당신의 응용 프로그램 상태에서 (제안 상자, 캐시 등) 틈새 영역에 대한 데이터 저장소를 사용하여하려는 경우, 레디 스가 더 적합 할 수 있도록 레디 스 좀 더 모든 목적이다. 풍부한 아이템, 레디 스 '기본 데이터 유형과 구조를 넘어 확장 사람들을 지속하는 경우, 몽고 아마 더 잘 맞는 것입니다.

    솔직히, 레디 스 및 몽고 모두 설치하고 실행하는 뛰어난 죽은 간단합니다. 그것은 당신의 라이프 사이클 초기의 고려, 크기에 모두를 시도하고 더 나은 기분을 참조하십시오.

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

    4.버클리 DB XML : 나는 반지에 한 번 더 옵션을 던져 것입니다. 그것은 C ++ 및 XML 데이터 관리, XQuery와 XPath 쿼리를 제공하는 자바 API를 사용하여 작은 풋 프린트 C ++ 라이브러리입니다. 매우 빠르고, 확장 가능하고 신뢰할 수있는 설계되었습니다. 그것은 거래, 복구 및 복제를 지원합니다. 당신은 XML 문서뿐만 아니라 비-SQL 키 - 값 쌍을 저장하는 데 사용할 수 있습니다.

    버클리 DB XML : 나는 반지에 한 번 더 옵션을 던져 것입니다. 그것은 C ++ 및 XML 데이터 관리, XQuery와 XPath 쿼리를 제공하는 자바 API를 사용하여 작은 풋 프린트 C ++ 라이브러리입니다. 매우 빠르고, 확장 가능하고 신뢰할 수있는 설계되었습니다. 그것은 거래, 복구 및 복제를 지원합니다. 당신은 XML 문서뿐만 아니라 비-SQL 키 - 값 쌍을 저장하는 데 사용할 수 있습니다.

    면책 조항 : 나는 조금 편견 해요, 그래서 내가 버클리 DB의 제품 관리자입니다. 그러나, 우리는 매우 큰 문서 저장소에 매체 BDB XML을 사용하는 고객이 많이 있습니다.

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

    5.레디 스는 힘 이제 서버 용도에 보조 인덱스를 내놓았다. Linkg : https://redis.io/topics/indexes

    레디 스는 힘 이제 서버 용도에 보조 인덱스를 내놓았다. Linkg : https://redis.io/topics/indexes

  6. from https://stackoverflow.com/questions/5090781/whats-the-most-efficient-document-oriented-database-engine-to-store-thousands-o by cc-by-sa and MIT license