This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
on 09-25-201910:51 AM- edited
a month ago
How to migrate from MMAPv1 to the WiredTiger Storage Engine
In earlier versions of MongoDB (3.0 and earlier), the default storage engine used was MMAPv1. The WiredTiger storage engine was introduced in MongoDB 3.0 and is the default storage engine in MongoDB 3.2 and later. Two major benefits of the WiredTiger storage engine are:
Document-level concurrency control for write operations which allows multiple documents in a collection to be updated at the same time
Native compression which allows for more efficient use of storage space and less disk I/O
Earlier versions of Alteryx Server shipped with MongoDB 2.6 and MongoDB 3.0 which defaults to using the MMAPv1 storage engine. If you installed Alteryx Server prior to the 2018.1 release when Alteryx Server was upgraded to MongoDB 3.4, it is highly likely that your Alteryx Server is running MongoDB using the MMAPv1 storage engine. To take advantage of the performance benefits of the WiredTiger storage engine you can migrate to the WiredTiger storage engine. This article documents the steps required to migrate to the WiredTiger storage engine by performing a backup and restore of the embedded MongoDB database.
NOTE: The steps below only apply when using Embedded MongoDB with Alteryx Server 2018.1 and newer. If you are running Alteryx Server with a user-managed MongoDB, refer to the MongoDB help documentation.
Product - Alteryx Server
2018.1 or newer with embedded MongoDB
The first step is to identify which storage engine you are using. You can easily identify which storage engine is being used by reviewing the file system. Use the following Instructions to verify whether you are using the MMAPv1 or WiredTiger storage engine.
Open the Alteryx System Settings
Navigate to the Controller -> Persistence page
Copy the "Data Folder" path
Open Windows Explorer (File Browser)
Paste the "Data Folder" path copied in Step 3 in the Address Bar of Windows Explorer
If you see a series of "NS File" and "0 File" file types, as shown below, your Embedded MongoDB is running using the MMAPv1 storage engine
If you see a series of "WT File" file types and a file named "WiredTiger", as shown below, your Embedded MongoDB is running using the WiredTiger storage engine and no further action is necessary
Create an Embedded MongoDB Backup
The steps below walk you through creating an Embedded MongoDB backup and restoring the backup to a new directory. For additional information on backup and restore best practices, refer to the additional resources at the end of this article.
Log in to the server hosting the Alteryx Server Controller and embedded MongoDB database
Open an elevated command prompt (Right-click -> Run as Administrator)
Change directories to the Alteryx Server installation directory
cmd: cd %ProgramFiles%\Alteryx\bin
Alteryx Server installs to %ProgramFiles%\Alteryx\bin by default. If you installed to a non-default directory, update the paths accordingly as shown in the screenshots
Stop the AlteryxService
cmd: AlteryxService.exe stop
The AlteryxService should report it stopped successfully, as shown in the below screenshot
Perform a backup of the embedded MongoDB
cmd: AlteryxService.exe emongodump=<Path to Backup Location>
Proceed to "Restoring an Embedded MongoDB Backup"
Restoring an Embedded MongoDB Backup
Restore the embedded MongoDB backup to a new directory
cmd: AlteryxService.exe emongorestore="<Path to MongoDB Backup>","<Path to Restore to>"
Update the Data Folder in the Alteryx System Settings
Browse to or enter the path MongoDB was restored to in the Data Folder field on the Controller -> Persistence section
In the Alteryx System Settings console, click "Next" until reaching the "Finalize Your Configuration" screen
Click the "Finish" button on the "Finalize Your Configuration" screen to apply the changes and start the Alteryx Service
Verify the Alteryx Service started
cmd: sc query AlteryxService
Confirm the state returned is "Running" as shown in the screenshot below
Verify MongoDB is running using the WiredTiger Storage Engine
Open Windows Explorer (File Browser)
Navigate to the new "Data Folder" path in Windows Explorer
You should see a series of "WT File" file types and a file named "WiredTiger," as shown below. If you see "NS File" file types, confirm you completed the steps outlined in the article
Now that you have completed the steps, your Alteryx Server is running embedded MongoDB using the WiredTiger storage engine - YAY! If you experience any issues with this process, please contact the Alteryx Customer Support Team for further assistance.
For additional information on managing embedded MongoDB, refer to the Alteryx Server Help topic on MongoDB Management
For Alteryx Server Backup and Recovery best practices, refer to the following Community articles