sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB fragment podle data na jednom počítači

Technicky nemusíte svůj obsah skartovat a stačí indexovat své pole. Ano, můžete vytvořit index v datovém poli a bylo by to respektováno, což můžete vidět v plánu dotazů db.collection.explain("executionStats")

Výběr shard key je však velmi důležitý. při výběru shard key

je třeba zvážit několik věcí
- Write scaling (high cardinality, Randomization)
- Query Isolation. (read)

výběr datového pole ve skutečnosti poskytuje velmi vysokou mohutnost, ale selhává při provádění randomizace a v důsledku toho jsou všechny dokumenty uloženy do jednoho datového fragmentu, což omezuje kapacitu systému pro zápis. Ze stejného důvodu se nedoporučuje používat ObjectId jako klíčový klíč.

http://docs.mongodb.org/manual/core/sharding- shard-key/ Obsah z výše uvedeného odkazu..."MongoDB generuje při vytváření dokumentu hodnoty ObjectId, aby vytvořil jedinečný identifikátor pro objekt. Nejvýznamnější bity dat v této hodnotě však představují časové razítko, což znamená, že se zvyšují pravidelný a předvídatelný vzor. I když má tato hodnota vysokou mohutnost, při použití tohoto, libovolného data nebo jiného monotónně rostoucího čísla jako klíčového fragmentu budou všechny operace vkládání ukládat data do jednoho bloku, a tedy jediného fragmentu. ve výsledku bude kapacita zápisu tohoto fragmentu určovat efektivní kapacitu pro zápis clusteru."



  1. MongoError:nelze provádět dotazy na admin v atlasu

  2. $geoNear odpovídající nejbližšímu poli

  3. Nasazení aplikace Meteor na vlastní server

  4. C# MongoDB Driver – Jak používat UpdateDefinitionBuilder?