Large Optimized Foreign Table (LOFT) is a remote column store manager. It is designed specifically to facilitate replication of tables from operational environment into a separate analytics domain.
LOFT is essentially an efficient data repository that stores and serves partitioned tables to Vitesse DB and Greenplum DB. It can be used as a data mart to offload your data warehouse or as a replica of your data on premise or in the cloud [more]. For small 100TB data warehouses, it can even function as the primary storage.
In order to access LOFT, we need to load an extension into Vitesse DB that provides the necessary stubs. The extension is included in the Vitesse DB distribution. Simply execute the following commands to enable the extension:
% psql your-database -c 'create extension vitesse_spq_fdw' % psql your-database -c 'create server spq_fdw_server foreign data wrapper vitesse_spq_fdw'
A similar setup procedure is necessary for Deepgreen DB:
% psql your-database -f $GPHOME/share/postgresql/contrib/vitesse.sql
LOFT and its related utilities are included in Vitesse DB and Deepgreen DB distributions.
All you need to setup LOFT is some disk space and a network
port. First identify a directory on a disk that you want to
store the data. For the purpose of illustration, we will assume
that directory is /data/loftdata
.
Next, we create a simple config file that specifies the port that LOFT should listen for incoming requests:
% echo "port=8787" > /data/loftdata/loftd.conf
That's it! We are ready to start the LOFT service.
The executable for LOFT is called loftd
.
To start LOFT:
% loftd -D /data/loftdata
To stop LOFT, do a ps
to find
the loftd
process and kill it.