Advanced MongoDB connector
Our team is constantly working to improve our component and optimize its performance. Therefore, these improvements could not bypass one of our most popular Flexmonster Pivot integrations with MongoDB.
This database is rightfully one of the most convenient and functional on the market. Therefore it attracts the attention of many developers and users. No wonder it got so popular - its main features are high performance, extra availability, and easy scalability.
So that when using MongoDB in conjunction with Flexmonstеr you do not lose in efficiency and speed, we have developed an advanced connector and released it in version 2.9.
Major improvements in connector 2.9:
- Performance optimization by changing the approach.
- The ability to track how the connector works via logs.
- Cache managing (amount, availability, time to live).
Let's have a closer look at each of these points.
New approach
The connector's operation scheme is quite simple. It sequentially gives Flexmonster first the data schema, then all the unique members of columns and rows, and in the end, the data itself in an already aggregated form.
The connector communicates with the database itself. It receives the data needed and then generates the answers for the Flexmonster.
The new approach streamlines all these communications. Now, queries work 3 times faster because their generation process has changed, and the total number of queries to be executed has decreased.
And in order not to re-generate requests that have already been executed, we added another feature - cache. This feature made it possible to speed up many processes enormously, as cache makes it possible not to go into the database again.
Cache managing
In the new version of the connector, we have added an ability to activate the in-memory cache and manage it with several parameters:
- cacheEnabled - generally states whether we need to keep the cache or not. By default, it is not saved to increase efficiency.
- cacheMemoryLimit - adjusts the maximum memory size available for caching.
- cacheTimeToLive - defines how long the data is stored in the cache.
Thus, you can set custom values for the last two of them and get the perfect combination for your product without feeling significant losses in speed.
Logs tracking
Tracking logs is a very handy thing for tracking connector performance and problems. All actions carried out by the connector are recorded in a special log, which greatly facilitates finding errors, hence their elimination.
However, this action with writing to the log can affect the speed of the connector and is not always necessary, so it is disabled by default. If you still need such tracking, then you can always change it in the connector parameters logsEnabled.
Minor but useful features
MongoDB is suitable for hierarchical data storage, so now our connector also supports this feature, as well as the possibility to expand all values.
All these improvements aim to make the use of Flexmonster Pivot together with MongoDB as convenient and effective as possible for each developer to customize the connector operation depending on the needs.
Now, when the MongoDB connector became even better, there are even more reasons to try it out if you haven't yet! You can start with our step-by-step guide.