The eG database is responsible for persistent storage of the measurement results. You can configure this database on an Oracle database server (version 11G / 12c / 18c / 19c) or a Microsoft SQL Server (version 2008 R2 / 2012 / 2014 / 2016 / 2017 / 2019). You also have the option of using an existing Microsoft Azure SQL Database (if any) as the eG backend. Note that you can configure this database on Microsoft SQL Server version 2016 (and above) installed on Linux operating system too. Separate tables are maintained in the eG database for each of the tests being executed by eG agents.
On a Microsoft SQL Server Enterprise Edition / Microsoft SQL 2016 (and above) SP1 Standard Edition / Microsoft SQL Azure, the eG manager automatically creates multiple partitions – one for each day – in every table. When storing data in the database, the manager automatically stores the data pertaining to a particular day into the partition created for that day.
Figure 1 : How database partitioning works
- The Database Partitioning feature is available only for the eG database hosted on Microsoft SQL Server Enterprise Edition, Microsoft SQL 2016 (and above) SP1 Standard Edition, or Microsoft SQL Azure.
- By default, 30 partitions are created in each table. You can override this default limit by changing the value of the MaxPartitionDays parameter in the [MANAGER_SETTINGS] section of the eg_db.ini file (in the <EG_INSTALL_DIR>\manager\config directory).
- You can even turn off the database partitioning feature, if required. For this, set the EnableTablePartition flag in the [DB_PROPERTIES] section of the eg_db.ini file (in the <EG_INSTALL_DIR>\manager\config directory) to No.
On Oracle 12c (and above), 'Partitioning' is a licensed capability. If your Oracle database server license enables partitioning support, then you can have the eG manager store performance and configuration metrics in partitions on the eG database. At the time of configuring the eG database on an Oracle database server 12c (or above), setup prompts you to confirm whether/not your DB license supports the Partitioning feature. If you confirm support, then setup will automatically create a partition and store metrics in it. If your DB license does not support the partitioning feature, then data insertions on the Oracle backend will be done based on available space – i.e., data will be inserted into any space available anywhere in a table.
If you choose to store data in partitions on an Oracle database server, auto-indexing of the eG database will not be performed.
The database design provides a way to periodically purge old data from the database. The periodicity with which the data will be purged by the database is configurable by the user. Where the database partitioning feature is turned on, partitions for selected days are dropped during cleanup. In such environments therefore, cleanup will be fast and efficient.
Besides the measurement tables, the database hosts threshold tables for each test. A threshold table indicates the upper and lower ranges of the threshold values for each measurement.