In a nutsehell, they are encrypted, condensed/compact files athat only Qlikview can read. Since they are a proprietary format, other applications cannot access them but it allows qlikview to read a lot of data very efficiently.
further details provided in articed
A QVD (QlikView Data) file is a file containing a table of data exported from Qlik Sense. QVD is a native Qlik format and can only be written to and read by QlikView. The file format is optimized for speed when reading data from a script but it is still very compact. Reading data from a QVD file is typically 10-100 times faster than reading from other data sources.
Increasing load speed :
By buffering non-changing or slowly-changing blocks of input data in QVD files, script execution becomes considerably faster for large data sets.
Decreasing load on database servers :
The amount of data fetched from external data sources can also be greatly reduced. This reduces the workload on external databases and network traffic. Furthermore, when several scripts share the same data, it is only necessary to load it once from the source database into a QVD file. Other apps can make use of the same data through this QVD file.
Consolidating data from multiple apps :
With the binary script statement, data can be loaded from a single app into another app, but with QVD files a script can combine data from any number of apps. This makes it possible for apps to consolidate similar data from different business units, for example.
Incremental load :
In many common cases, the QVD functionality can be used for incremental load by only loading new records from a growing database.
Hope it helps!!
Let me widen that statement a bit. Not only QlikView can read QVDs, any tool that uses a Qlik OEM SDK is able to read QVDs. There are a lot of QVD viewers on the market.
Therefor the "encryption" is in no way helpful in securing the data in a QVD.
Please read this:
One of the things that new developers often ask about QVDs is, "why?". They wonder
why they need to use QVDs. They know that they can connect to a database and read
data and they feel that they can do that again and again and don't see any reason why
they need to bother writing the data to a QVD file first. There are, however, several
very good reasons to store data in QVDs:
• Speeding up loads by storing data that doesn't change, or doesn't change
very frequently. Loading data from a database is relatively much slower
than loading data from a local QVD. For example, if you have 2-year-old
transactions, that won't change; you could have those in QVDs, and then
load newer transactions from the database and concatenate the two sets of
data. Of course, this also reduces the load on the database server because
we are only looking for relatively few rows of data on each SQL call.
• Combining data from multiple different sources. For example, we could have
a new ERP system in place but we also want to add in sales information from
an old system. If we keep the old data in QVD, we don't need to have the old
database online, so it can be decommissioned.
• Incremental load is the ultimate use of QVDs to load transactional information
in the minimum amount of time possible. Basically, we load only the newest
data from the database, combine with the older data from locally stored QVDs,
and then update the QVDs.
•QlikView Data Modeling, dimensional modeling
approaches say that we should use conformed dimensions where dimensions
are shared across different models. This is an excellent use of QVDs—we
create the QVD once and then can share it across many QlikView documents.
Even if we are not following a strict dimensional modeling approach, we can
still use QVDs to reuse data in more than one application.
• Implementing data quality when preparing data for users. A cleaned set of
QVD files, that are centrally created and controlled, can be provisioned for
users with confidence that data is correct.
Just from a development point of view, you will find that you are performing reloads
again and again as you are perfecting your data model. If you are reloading from a
slow database connection, this can be painful. If you create local QVDs, then your
development efforts will proceed a lot faster.
Courtesy - Mastering Qlikview Book
There are only two advantages:
The other above mentioned advantages can be achieved also by loading from text files.
The QVD files are not encrypted.