Skip to content

Repository files navigation

MongoExperiments

A set of test cases to evaluate cache performance of MongoDB with different document counts and sizes

Prerequisites

  • MongoDB
  • PostgreSQL
  • Working only under linux systems (not windows)

ADBIS 2020 experiments

  • adbis_experiments contains the experiments for the following use cases
    • E1 - Multivalued attributes

      • Insert

      insert

      • Size

      size

      • Sum

      sum

    • E2 - Nested structures

      • Insert

      insert

      • Size

      size

      • Sum

      sum

    • E3 - Null values

      • Insert

      insert

      • Size

      size

      • Sum

      sum

      • Count nulls

      count

    • E4 - Datatype validation

    • E6 - Integrity constraints

      • Insert

      insert

    • E5 - Metadata representation

      • Insert: changing number of attributes

      insert

      • Size: changing number of attributes

      size

      • Sum: changing number of attributes

      sum

      • Insert: changing data-metadata ratio

      insert

      • Size: changing data-metadata ratio

      size

      • Sum: changing data-metadata ratio

      sum

  • ADBIS 2020 - experimental results contails the experimental results and the respective figures

Statistical data for MongoDB inserts

  • Change the constants (Const.java) according to your setup (MongoDB path, logpath, config path, and directories for the database)
  • Run CreateData.java
    • This will create different databases in different directories and save the ids of the documents in files for the experiments
  • Run the code in schema.sql to make the table in PostgreSQL (you might have to create the index before)
  • Run RunExper.java with appropriate PostgreSQL settings
    • This will issue 50 000 queries (10ms sleep inbetween) with random access with primary id on each of the database and record the stats after each 100th query in postgres.
    • Each database will have 10 runs of 50 000 executions
  • After the experiments finish analyse the data with analyse.sql.
    • This is an example SQL code to retrieve the JSON data from PostgreSQL with pages read, evicted and bytes in cache for both data and index together with the iteration.
    • you can use the script in excel to get proper graphs.

About the config

I have disabled the compression and limited the cache to 0.25GB to get the cache saturated faster.

About

Tests to evaluate mongodb performance

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages