Skip to content

Database Schema

Abraham Riedel-Mishaan edited this page Aug 3, 2018 · 1 revision

Currently, you can change the names of the databases used in constants.py but the current scheme is as follows:

  • androidApp

    • apkInfo - holds metadata for each app/version. Each app & version combo is a unique entry, and contains all relevant metadata for each one
    • packageNames - holds entries for each unique package_name, used to quickly query which apps are in or not in the database (way faster when keyed by package_name instead)
    • topApps - contains the package names of top apps as returned by the Crawler, and if they are currently top or not.
  • analysisDatabase (or whatever the name), this one holds a separate collection for each analysis run, with each entry representing one app

  • userDatabases - used with the api, holds info for users they only have access to.

Accesses to the database should only be done through the database_helper to ensure everything remains secure. Currently we use MongoDB for everything.

Clone this wiki locally