Which database or storage solution would you use in a scenario where customers' phone numbers are changing frequently, such as in a telecommunications company?
💡 Model Answer
In a telecom environment where phone numbers change often, the key is to separate the immutable customer identity from mutable attributes like phone numbers. A relational database with a surrogate primary key (e.g., CustomerID) is a solid choice. The Customer table holds static data, while a related PhoneNumbers table stores current and historical numbers with a foreign key to CustomerID. This design allows efficient lookups by customer ID and easy tracking of number changes over time.
If the workload is write‑heavy and you need horizontal scalability, a NoSQL solution such as Cassandra or DynamoDB can be used. Store each customer as a partition key and use a composite key of CustomerID and timestamp for phone numbers. This gives fast writes and the ability to query the latest number via a secondary index.
In either case, the important design decisions are:
- Use a stable surrogate key for the customer.
- Store phone numbers in a separate table or column family to allow updates without touching the primary key.
- Keep a history of changes if auditability is required.
- Choose a storage engine that matches your read/write patterns and scalability needs.
This answer was generated by AI for study purposes. Use it as a starting point — personalize it with your own experience.
🎤 Get questions like this answered in real-time
Assisting AI listens to your interview, captures questions live, and gives you instant AI-powered answers on a discreet on-screen overlay.
Get Assisting AI — Starts at ₹500