On Tue, Jan 10, 2017 at 1:36 PM, Melvin Davidson <melvin6925@xxxxxxxxx> wrote:
> IMHO, I disagree. I feel a better name would be "materialized
> table".
The dictionary defines "materialize" as meaning "become actual
fact" or "appear in bodily form". In the database environment, it
generally means that the data is actually stored, rather than being
something which can be generated. For example, in query execution
the relation produced by an execution node may feed into a
Materialize node if the generated relation is expected to be
scanned multiple times by a higher-level node and scanning a stored
copy of the relation each time is expected to be faster than
regenerating the relation each time. "Materialized table" would be
redundant; a table is always materialized. A view is data
generated by running a query. In the simple case, the resulting
relation is not stored, but is regenerated on each reference. The
"materialized view" feature lets you materialize it, like a table.
If you don't think materializing data means storing a copy of it
for re-use, I'm not sure what you think it means.
This is not to beat up on you, but to try to keep terminology
clear, to facilitate efficient communication. There are some terms
we have been unable to avoid using with different meanings in
different contexts (e.g., "serialization"); that's unfortunate, but
hard to avoid. I want to keep it to the minimum necessary by
avoiding creep of other terms to multiple definitions.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
> IMHO, I disagree. I feel a better name would be "materialized
> table".
The dictionary defines "materialize" as meaning "become actual
fact" or "appear in bodily form". In the database environment, it
generally means that the data is actually stored, rather than being
something which can be generated. For example, in query execution
the relation produced by an execution node may feed into a
Materialize node if the generated relation is expected to be
scanned multiple times by a higher-level node and scanning a stored
copy of the relation each time is expected to be faster than
regenerating the relation each time. "Materialized table" would be
redundant; a table is always materialized. A view is data
generated by running a query. In the simple case, the resulting
relation is not stored, but is regenerated on each reference. The
"materialized view" feature lets you materialize it, like a table.
If you don't think materializing data means storing a copy of it
for re-use, I'm not sure what you think it means.
This is not to beat up on you, but to try to keep terminology
clear, to facilitate efficient communication. There are some terms
we have been unable to avoid using with different meanings in
different contexts (e.g., "serialization"); that's unfortunate, but
hard to avoid. I want to keep it to the minimum necessary by
avoiding creep of other terms to multiple definitions.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company