The question is not can the database handle it, but are the programmers knowledgeable enough to make it work efficiently.
If they are citing database limitations as a reason to not do it, I doubt the answer is "yes". Databases are, by their very nature, unlimiting. The limiting factors are the ability to efficiently sift through the wide array of data they present.
In a large-scale system such as yours, I would suggest a two-tiered system, along with the bells and whistles mentioned in the in-depth responses, such as ability to forget, limitations based upon intelligence, etc. Keep all known persons in one system (structure, array, binary heap, or whatever is used). Second, maintain a second listing which is referenced first, and tracks the most recently used name(s), up to a degree of N.
There are umpteen schools of thoughts on efficiency, but only one true final exam: if it lags the game, then there's a better way to do it.
Dynamically creating the short description of the person based upon a known control (the viewer) would be much faster in comparison to indexing a list of known individuals and replacing the short desc with their name. "An elf much taller than you, a very short elf, three dragons, two turtles, and a partridge resting on the limb of a pear tree are all here." is, while logistically a nightmare tangle of code, relatively simple cost-wise compared to "Joe the High Elf, Uther the Short (an Elf), Ember the Red Dragon, Crytos (a Dragon), a very large Green Dragon, two turtles, and a bird are here."
KaVir's treatise on dynamically built descriptions was more in line with creating what you see when you look AT a person, rather than returning what is seen in a room. Quzah wrote a method of dealing with this as well. I do not believe either of them dealt with handling a dynamically-built short description, although it could be extrapolated from their work. (I may be wrong, I havent looked at Quzah's Interactive Descriptions or KaVir's method in a few years).
But, to summarize: In answer to the question "Can a database handle large-scale numbers": a resounding YES. Databases were created for that very reason. Note that a database is very different from a data structure.
|