Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb8edd2b

Browse files
committed
Update readme file
1 parent55ec639 commitb8edd2b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

‎README.md‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@ by storing data in tiles: group of column values. It allows to reduce deform tup
55
Please look at tpch.sql example which shows how VOPS can be used to increase speed of TPC-H Q1/Q6 queries
66
more than ten times.
77

8+
How to use VOPS? First of all you need to somehow load data in VOPS.
9+
It can be done in two ways:
10+
1. Load data from existed table. In this case you just need to create VOPS projection of this table (using VOPS types instead
11+
of original scalar types) and copy data to it using VOPS populate(...) function.
12+
2. If you data is not yet loaded in the database, you can import it directly from CSV file into VOPS table using VOPS import(...) function.
13+
14+
Ok, now you have data in VOPS format. What you can do with it? VOPS manual (vops.html) explains many different ways of running
15+
VOPS queries. VOPS provides set of overloaded operators which allows you to write queries in more or less standard SQL.
16+
Operators which can not be overloaded (and, or, not, between) are handled by VOPS executor hook.
17+
18+
VOPS is able to efficiently execute filter and aggregation queries. What about other kinds of queries? For examples queries with
19+
joins? There are once again two choices:
20+
1. You can use original table (if any) for such queries.
21+
2. You can use VOPS foreign data wrapper (FDW) to present VOPS table to PostgreSQL as normal table (with scalar column types).
22+
The parts of query which can be efficiently executed by VOPS (filtering and aggregation) will be pushed by Postgres query optimizer
23+
to VOPS FDW and will be executed using VOPS operators. Other query nodes will fetch data from VOPS as standard tuples
24+
and process them in the same way as in case of normal tables. VOPS FDW provides statistic (you need to do ANALYZE for FDW table)
25+
so query execution plan should be almost the same as for normal tables. The only exception is parallel processing:
26+
parallel processing is not currently supported by VOPS FDW.
27+
28+
So what finally you get? By creating of VOPS projection of existed data or storing data in VOPS table you can speed-up execution
29+
of some queries more than ten times (mostly analytic queries with aggregation and without joins). And still be able to execute
30+
all other queries using VOPS FDW.
31+
832
Chinces version of VOPS documantation can be found here:
933
https://github.com/digoal/blog/blob/master/201702/20170225_01.md
1034

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp