Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Why are table indexes/keys stored in the database

Solved1.32K views18th July 2023protocol
2
Jeff Douglass860 26th April 2021 0 Comments

It is my understanding that the indexes/keys for tables are stored in the database. What is the logic behind this behavior? My logic would be that the table does not exist, have any entries in it, until the table is polled from the actual device and saving the indexes/keys in the database can cause problems, as we have seen, because the protocol code can reference a table row that does not exist because it has not been retrieved/polled from the device yet. The table, or any access reference to it, does not exist until it is polled from the device and having any history of indexes for the state of a table prior to actually getting the table from the device is irrelevant. When an element is restarted then all the tables will be empty until they are retrieved from the actual device and the table's structure may have changed from what was last stored in the database, but since the table indexes are retrieved from the database upon startup prior to device polling the protocol code could think the table has entries when it really doesn't.

Thanks for any insight into this in advance.

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 18th July 2023

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
8
Thijs Vanovenacker [SLC] [DevOps Advocate]2.09K Posted 26th April 2021 0 Comments

Hi Jeff,
Typically the main reason why we opt to save the primary keys on polled tables is related with Alarming & trending capabilities.

Saving the primary keys in the table results in allowing future alarm updates to be linked to the same alarm instance. (Building up the alarm tree). In case the Primary Keys would not be saved, the alarms would be treated as new alarms after an element or DataMiner restart.

Same applies for trending: Let's say you have a communication issue with your data source, then you will no longer receive updates in that table, but you still can access all the history data on the rows. Even if you restart the element or DataMiner system, you will still be able to easily access the trending history. (what would not be the case when the PK's would not have been saved)

In case you would have polled tables that would not have any monitoring  (Alarm/Trending) capabilities, then the option "volatile" would probably be a good one to add to these tables.
Not saving any data to the database will have a positive effect on the DB load, but also on the startup time of that respective element.

Hope this clarifies things for you. Please let us know if you have any further questions. Thanks!

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 18th July 2023
1
Brent Alleweireldt [SLC]1.53K Posted 26th April 2021 0 Comments

Data can take many forms and each have their own purpose.

Some tables can contain configuration data which is send to the device. It makes sense to save these so they are persisted between restarts.

Other tables only contain monitoring data, which is polled from the device as you described. This kind of data should indeed not be persisted in the database.

To accommodate this second kind of behaviour you can add the "volatile"-tag to these tables. This will tell the software that the data in the tables will be polled and the primary keys will not be saved in the database.

Brent Alleweireldt [SLC] Answered question 26th April 2021
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

How to implement bearer token refresh? 0 Answers | 3 Votes
Web Applications exception in Cube due to invalid certificate 0 Answers | 2 Votes
Redundancy Groups and Alarming – Duplicate Alarms 1 Answer | 1 Vote

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin