Hybrid data storage model (pzPVStream BLOB)
Most columns in the database schema correspond to scalar properties of property mode
Single Value
. The column name is the same as the property name. These columns are known as exposed columns.
For example, the
pzInsKey
column is the primary key of every table, which corresponds to the value of the
@baseclass.pzInsKey
property, present in every instance of every class. Similarly, the column named
pyStatusWork
in the
pc_work
table corresponds to the property
Work-.pyStatusWork.
Properties of many
Pega Platform
property types, including
Text
,
Identifier
,
Password
, and
Decimal
, correspond to string (VARCHAR) database data types. Properties of mode
Integer
, and
Double
can be stored as NUMBER database data types. Techniques for storing
DateTime
property values differ by database vendor.
Values of properties with a mode other than Single Value
(such as mode
Page
or Page List
) are stored in a special column named
pzPVStream. This column is known as the Storage Stream and has a BLOB
(Binary Large Object) data type.
The size of the Storage Stream values can have a significant effect on memory demand, network traffic, and overall performance. To help detect and address issues related to the BLOB size, multiple types of alerts (PEGA0004, PEGA0025, PEGA0039, and PEGA0040) monitor database activity and report exceptional conditions involving Storage Stream values.
You can set up data compression for the BLOB column by using the
DeflateStreams
setting in the prconfig.xml file or Dynamic System
Settings. When enabled, compression and decompression occur on the Pega Platform server using the java.util.ZIP
class. See the Pega Community article How to compress BLOB values in the PegaRULES database.