In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-30 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)05/31 Report--
Dex-MongoDB index optimization tool how to use and what principles, many novices are not very clear about this, in order to help you solve this problem, the following editor will explain in detail for you, people with this need can come to learn, I hope you can get something.
Dex is an open source MongoDB optimization tool, which proposes an efficient index optimization strategy to administrators by analyzing the query log and the current database index.
How to use the Dex-MongoDB index optimization tool
Installation
Pip install dex
Start monitoring
Dex-f mongodb.log mongodb://localhost
During the monitoring process, dex will output the recommended results through stderr
{
"index": "{'simpleIndexedField': 1,' simpleUnindexedFieldThree': 1}"
"namespace": "dex_test.test_collection"
"shellCommand": "db.test_collection.ensureIndex (
{'simpleIndexedField': 1,' simpleUnindexedFieldThree': 1}, {'background': true}) "
}
Some statistics will also be output.
Total lines read: 7
Understood query lines: 7
Unique recommendations: 5
Lines impacted by recommendations: 5
We can see that in the output, there is a shellCommand field, which is to add an index statement, if you think the dex recommendation is good, you can directly copy this script to add an index on the MongoDB. It's quite convenient.
In addition to outputting the information name to the stderr during the run, the recommendation information is packaged into a large JSON object and output once in the stdout after the run.
What are the working principles of Dex-MongoDB index optimization
The following three main steps are taken during the operation of Dex.
1. Parsing query
two。 Judge the current query by the existing index
3. If the index is found to be inappropriate, recommend a suitable index
Step 1: parse query
Dex parses the query query, which is divided into the following categories
EQUIV-A normal query by numeric value, for example: {a: 1}
SORT-sort operations, such as .sort ({a: 1})
RANGE-range query, such as: Specifically:'$ne','$gt','$lt','$gte','$lte','$in','$nin','$all','$not'
UNSUPPORTED
Combined queries, such as $and, $or, $nor
Nested queries other than RANGE
Step 2: judge the current index
There are two criteria to find the index required by the query.
Coverage (none, partial, full)-Coverage represents the case of the index, with three values in parentheses. None means no index coverage at all. Full means that the index can be found in all the fields in the query. Partial represents the situation between none and full.
Order (ideal or not)-Order is used to determine whether the order of the index is ideal. The ideal index order would be:
Equivalence ○ Sort ○ Range
It is worth noting that the geolocation index is only analyzed, but no suggestions for improvement are made.
Step 3: recommend the appropriate index
Through the above two steps, we can have an understanding of how a query might use an index. Dex generates the best index for this query. If the index does not exist and the query does not include the UNSUPPORTED mentioned above, then Dex will make recommendations for index optimization accordingly.
Dex will also introduce many new features in the future, such as using system.profile logs for recommendations, support for geographic indexing, and so on. Details can be found on its project home page.
Is it helpful for you to read the above content? If you want to know more about the relevant knowledge or read more related articles, please follow the industry information channel, thank you for your support.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.