I am new to mongodb sharding. We know that we shard a database for scaling purpose. Where we need to use a sharding key so that the database distributing system can distribute data based on those key values. My question is - will I have to attach the sharding key with the query to avoid unnecessary query on other sharded db servers or does this work for mongodb sharding ?
Will I have to attach shard key with my query to get performance?
410 Views Asked by John At
1
There are 1 best solutions below
Related Questions in MONGODB
- MongoDb not connecting C#
- How do I link two models in mongoose?
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- On the server side, it returns undefined but on the client side, logs the values no problem
- Laravel: Using belongsToMany relationship with MongoDB
- What are some MERN projects that will grow me from junior dev to senior
- Save Interface in DB golang
- findOneAndUpdate not updating value in mongodb?
- Get Type Error when using .countDocuments with mongoDB
- Getting a Large Error Output When Calling MongoDB/Mongoose Functions Without an Error Message
- How to enter data in mongodb array at specific position such that if there is only 2 data in array and I want to insert at 5, then rest data is null
- using Python to insert_one to my mongo_db, How do I pass key values into a function?
- SSL Certificate Verification Error When Scraping Website and Inserting Data into MongoDB
- connect ECONNREFUSED 43.205.72.30:27017 while connecting to Atlas
- Vite is probably changing my import path. What should I do?
Related Questions in MONGODB-CLUSTER
- MongoDB Cluster VSCode Connection
- MongoSocketException : nodename nor servname provided, or not known
- MongoDB cluster with SpringBoot WebFlux duplicates records
- mongo cluster slow find query
- MongoSocketException or UnknownHostException - while connecting to MongoAtlas mongo cluster
- update config replication of mongodb sharded database access point mongos during run-time
- Detect Failover of MongoDB-Cluster with Spring-Data-MongoDB
- mongoose makes connection to servers not passed in connection string
- Recover MongoDB data from inaccessible replica set
- error while connecting to database TypeError: Invalid URL in Mongo DB
- Unable to connect Nodejs driver to MongoDB Atlas cluster
- Migrate large data from mongodb to another mongodb on different server
- MongoDB Cluster upgrade to use SSL/TLS failed
- Replicasets are not creating in mongodb community operator
- Will I have to attach shard key with my query to get performance?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
When your search is having the shard key index in the query , the mongodb sharded cluster routing service(mongos) will forward your query directly to the shard for which the query is addressed avoiding the "scatter-gather" request to all shards. This is because the mongos is caching the shard key index ranges and know in advance to which shard to address the request.
Moreover in specific write cases in mongodb version >=4.2 including the shard key in the query part is compulsory.
Also if your data is distributed between few shards sending broadcast requests is not an issue , but in case you have 100x shards you will need to wait for all 100 shards to search and reply to the mongos , so in general not using the shard key is a not scalable operation and need to be avoided whenever possible.
I hope this answer your question ...