Many years ago, I made a data migration blunder that slowed a production OSS down to a crawl. Actually, less than a crawl. It almost became unusable.
I was tasked with creating a production database of a carrier’s entire network inventory, including data migration for a bunch of Nortel Passport ATM switches (yes, it was that long ago).
- There were around 70 of these devices in the network
- 14 usable slots in each device (ie slots not reserved for processing, resilience, etc)
- Depending on the card type there were different port densities, but let’s say there were 4 physical ports per slot
- Up to 2,000 VPIs per port
- Up to 65,000 VCIs per VPI
- The customer was running SPVC
To make it easier for the operator to create a new customer service, I thought I should script-create every VPI/VCI on every port on every devices. That would allow the operator to just select any available VPI/VCI from within the OSS when provisioning (or later, auto-provisioning) a service.
There was just one problem with this brainwave. For this particular OSS, each VPI/VCI represented a logical port that became an entry alongside physical ports in the OSS‘s ports table… You can see what’s about to happen can’t you? If only I could’ve….
My script auto-created nearly 510 billion VCI logical ports; over 525 billion records in the ports table if you also include VPIs and physical ports…. in a production database. And that was just the ATM switches!
So instead of making life easier for the operators, it actually brought the OSS‘s database to a near stand-still. Brilliant!!
Luckily for me, it was a greenfields OSS build and the production database was still being built up in readiness for operational users to take the reins. I was able to strip all the ports out and try again with a less idiotic data creation plan.
The reality was that there’s no way the customer could’ve ever used 2,000 x 65,000 VPI/VCI groupings I’d created on every single physical port. Put it this way, there were far less than 130 million services across all service types across all carriers across that whole country!
Instead, we just changed the service activation process to manually add new VPI/VCIs into the database on demand as one of the pre-cursor activities when creating each new customer service.
From that experience, I have reverted back to the Minimum Viable Data (MVD) mantra ever since.Read the Passionate About OSS Blog for more or Subscribe to the Passionate About OSS Blog by Email