You are currently browsing legacy 4.1 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Map-Reduce Visualizer



Map-Reduce Visualizer Usage Flow

  • 1. Select a Map-Reduce index and the documents to view
Figure 1. Select an Index

Figure-1: Select Map-Reduce Index and Document IDs

  • 2. View the graphical representation of the documents and their related 'group-by' reduced key field from the index
Figure 2. View relation

Figure-2: Graphical Representation of the Documents and the Reduced Key

  • In the above example, the selected documents orders/1-A, orders/27-A, orders/829-A are related to the key: companies/85-A.
    i.e. All 3 documents have the value 'companies/85-A' in their 'Company' field in the document body.

  • Document ordes/100-A has the value companies/21-A in its 'Company' field.

  • 3. View the detailed view for the key reduced results
Figure 3. Key details

Figure-3: Detailed View of the Key Reduced Results

  1. The total number of orders documents made that contain the key 'companies/85-A' - which is 6
    and the total orders amount made by company `companies/85-A' - which is 2,272.75

  2. A detailed info of these aggregated values showing per document selected.
    Note: per each document, the OrdesCount is '1', as each company makes one order.

  • 4. View details of all entries
Figure 4. All Entry details

Figure-4: Detailed View of All Entries

  • A detailed view of all the entries in the index that have 'companies/85-A' for their key (the 'Company' field).
    Only the selected documents are listed explicitly in the Source Document column.

Map-Reduce Visualizer for Big Data

  • 5. Visualizer results for big data
Figure 5. Big Data Tree

Figure-5: Results for Big Data

  • Once past a certain size, RavenDB starts processing the Map-Reduce entries in a treelike fashion.

  • 6. Visualizer details for big data
Figure 6. Big Data Details

Figure-6: Details for Big Data

  • When there is a lot of data for a particular key, RavenDB will segment the data,
    so that a minimal number of aggregation operations is required.

  • For example, consider an update to document orders/77-A in the above image.
    First, the Map function is run on the updated document, giving a Map entry to write to page #1047.
    Then, the Reduce function is run on this page, giving the final tally for page #1047.
    We’ll then recurse upward, toward page #1391, where the Reduce is run again.