It updates the data into memory as the server is running the QVW. The data is not saved in the QVW to do that you have to do a reload. This works well with limited data updates but not with large about of data.
Real time server allows you to make external calls to QVS to insert a record into a table within an application it is hosting in memory. As Bill said it doesn't get saved to the QVW/QVD file at all.
The real limitation is that RTS only works well with relatively small data sets. Every time a record is added to memory, QV has to calculate the relationships between the new record and all the data it is already hosting. So you can insert a very small record but if you already have billions of records in memory it takes a long time for it to calculate the relationships and insert the record. Trying to insert records faster than it can calculate the relationships and insert them creates a situation where the records get buffered and "Real Time" becomes anything but.
So...why should I buy a license for Real Time Server(which is so expensive), if I need to create another program to push data to RTS... and it doesn't save data into the QVW/QVD files and work only with small data?!
I have a big question mark.... for what is good RTS?!
PS: however can you give me a small example for "External calls"... to realize how it works with RTS.
It will be a good starting point for many developers.
Basically you've hit the nail on the head. It has its uses but they are very specific. In all the QV implementations I've seen/worked on I have only seen it used twice. The best was a dashboard for monitoring/planning capacity within an emergency department at a hospital and needed to know immediately if a patient was checked in at the reception.
For examples of adding, deleting and updating records in memory, take a look at the "QlikView Automation Reference.pdf" that gets installed with QV in the installation directory under the "Documentation" sub folder.