alteryx server Knowledge Base

Definitive answers from Server experts.
Alteryx is here to help you solve your biggest data challenges. Read about the new Virtual Solution Center here.

How To: MongoDB - Migrate from MMAPv1 to the WiredTiger Storage Engine

Alteryx
Alteryx
Created

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:

 

  1. Document-level concurrency control for write operations which allows multiple documents in a collection to be updated at the same time
  2. 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.

 


Prerequisites

 

  • Product - Alteryx Server
    • 2018.1 or newer with embedded MongoDB

 

Procedure

 

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.

 

  1. Open the Alteryx System Settings
  2. Navigate to the Controller -> Persistence page
  3. Copy the "Data Folder" path
  4. Open Windows Explorer (File Browser)
  5. Paste the "Data Folder" path copied in Step 3 in the Address Bar of Windows Explorer
  6. 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


    file types 1.png


  7. 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


    file types 2.png


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.

 

  1. Log in to the server hosting the Alteryx Server Controller and embedded MongoDB database
  2. Open an elevated command prompt (Right-click -> Run as Administrator)
  3. Change directories to the Alteryx Server installation directory
    1. cmd: cd %ProgramFiles%\Alteryx\bin
  4. 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
  5. Stop the AlteryxService
    1. cmd: AlteryxService.exe stop
    2. The AlteryxService should report it stopped successfully, as shown in the below screenshot


      cmd 1.png


  6. Perform a backup of the embedded MongoDB
    1. cmd: AlteryxService.exe emongodump=<Path to Backup Location>


      cmd 2.png


  7. Proceed to "Restoring an Embedded MongoDB Backup" 

 

Restoring an Embedded MongoDB Backup

 

  1. Restore the embedded MongoDB backup to a new directory
    1. cmd: AlteryxService.exe emongorestore="<Path to MongoDB Backup>","<Path to Restore to>"


      cmd 3.png


  2. Update the Data Folder in the Alteryx System Settings
    1. Browse to or enter the path MongoDB was restored to in the Data Folder field on the Controller -> Persistence section


      sys-settings.png


  3. In the Alteryx System Settings console, click "Next" until reaching the "Finalize Your Configuration" screen
  4. Click the "Finish" button on the "Finalize Your Configuration" screen to apply the changes and start the Alteryx Service
  5. Verify the Alteryx Service started
    1. cmd: sc query AlteryxService
    2. Confirm the state returned is "Running" as shown in the screenshot below


      cmd4.png

 

Verify MongoDB is running using the WiredTiger Storage Engine

 

  1. Open Windows Explorer (File Browser)
  2. Navigate to the new "Data Folder" path in Windows Explorer
  3. 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


    file-explorer.png
 

 

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.

  

Additional Resources