Getting Started With Ingres VectorWise
Agenda VectorWise is for... Requirements Download Installation Ingres VectorWise Instance Architecture Testing the Installation Loading Data Running Queries The Demonstration © 2010 Ingres Corporation
VectorWise is for... Data warehousing Data mining Data marts Business Intelligence OLAP Big Data © 2010 Ingres Corporation
Hardware Requirements Fast CPUs Minimum Memory –4 gig Disk –Lots © 2010 Ingres Corporation
Operating System Currently only available on 64-bit Linux Runs on –RedHat –Fedora –CentOS –Ubuntu –SuSE Will work on other Linux flavours Will come on other operating systems © 2010 Ingres Corporation
Documentation Ingres VectorWise 1.0 for Linux User Guide –/vectorwise-q/ –/vectorwise-discussion/ Knowledge Base © 2010 Ingres Corporation
Installation Options –rpm GUI Install –ingbuild Install –Express Install © 2010 Ingres Corporation
rpm GUI Install © 2010 Ingres Corporation
Unpack Put the tgz file into a directory Ensure that the file is owned by the user who will own the installation –It is suggested An “ingres” user Then –tar –xvf ingresvw NPTL-eval-linux-x86_64.tgz This creates a directory –ingresvw NPTL-eval-linux-x86_64 © 2010 Ingres Corporation
rpm Installation As the installation owner e.g. ingres cd to –ingresvw NPTL-eval-linux-x86_64 –Which contains Files –LICENSE –readme_a64_lnx_nptl.html –ingres_express_install.sh –md5sum.txt –readme.html –ingres_install Dirctories –bin –pixmaps –rpm © 2010 Ingres Corporation
rpm Installation command rpm Installation You need the root password
And then... Tell Ingres VectorWise about the editor Nothing else to do [home]$ which vi alias vi='vim' /usr/bin/vim [home]$ ingsetenv ING_EDIT /usr/bin/vim © 2010 Ingres Corporation
Ingres VectorWise Instance © 2010 Ingres Corporation
User Interface (SQL, ABF, OpenROAD, JAVA, etc.) DAS Server (iigcd) Communications Server (iigcc) Archiver (iiacp) Recovery Server (iircp) Databases Journals Transaction Log File Ingres Instance Architecture Name Server (iigcn) User Interface (SQL, ABF, OpenROAD, etc.) DBMS Server (iidbms) LocksLog Buffers © 2010 Ingres Corporation
User Interface (SQL, ABF, OpenROAD, JAVA, etc.) DAS Server (iigcd) Communications Server (iigcc) Archiver (iiacp) Recovery Server (iircp) Databases Journals Transaction Log File Ingres VectorWise Instance Architecture Name Server (iigcn) User Interface (SQL, ABF, OpenROAD, etc.) DBMS Server (iidbms) LocksLog Buffers © 2010 Ingres Corporation VectorWise Server VectorWise Data Store
Limitations No commit/rollback/savepoint No journalling No use of transaction log file No ckpdb/rollforwarddb of VectorWise data location No modify No alter table No rules © 2010 Ingres Corporation
Limitations No Dbprocedures No IngresDate No Time Zones No “long” data types No mixing of Ingres and VectorWise tables in the same query Flattened queries only (no SE joins) © 2010 Ingres Corporation
Testing the Installation without VectorWise createdb my_ii sql my_ii create table x (id int)\g insert into x values(1)\g insert into x values(5)\g select * from x\g \q destroydb my_ii © 2010 Ingres Corporation
Testing the Installation with VectorWise createdb my_vw sql my_vw create table x (id int) with structure = vectorwise\g insert into x values(1)\g insert into x values(5)\g select * from x\g \q destroydb my_vw © 2010 Ingres Corporation
The Demo Database © 2010 Ingres Corporation Is the DBT-3 database benchmark Available in Open Source at
The Demo Table © 2010 Ingres Corporation CREATE TABLE lineitem ( l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity DECIMAL(2,0) NOT NULL, l_extendedprice DECIMAL(8,2) NOT NULL, l_discount DECIMAL(2,2) NOT NULL, l_tax DECIMAL(2,2) NOT NULL, l_returnflag CHAR(1) NOT NULL, l_linestatus CHAR(1) NOT NULL, l_shipdate ANSIDATE NOT NULL, l_commitdate ANSIDATE NOT NULL, l_receiptdate ANSIDATE NOT NULL, l_shipinstruct CHAR(25) NOT NULL, l_shipmode CHAR(10) NOT NULL, l_comment VARCHAR(44) NOT NULL ) WITH STRUCTURE = VECTORWISE
Data Loading Copy –Fastest method –Binary or ASCII multiple Inserts –Can lead to Fragmentation within the data store Performance degradation © 2010 Ingres Corporation
The Demo Load © 2010 Ingres Corporation copy table lineitem ( l_orderkey = 'c0|', l_partkey = 'c0|', l_suppkey = 'c0|', l_linenumber = 'c0|', l_quantity = 'c0|', l_extendedprice = 'c0|', l_discount = 'c0|', l_tax = 'c0|', l_returnflag = 'c0|', l_linestatus = 'c0|', l_shipdate = 'c0|', l_commitdate = 'c0|', l_receiptdate = 'c0|', l_shipinstruct = 'c0|', l_shipmode = 'c0|', l_comment = 'c0nl' ) from 'lineitem.ingres‘
The Demo Load © 2010 Ingres Corporation copy table lineitem () from 'lineitem.ingres‘ rows of data
Data Storage Ingres Storage Parse Optimization Query Execution SELECT l_returnflag, l_linestatus, … Project(Agg(Select( (Columnscan( [l_returnflag, l_linestatus, … Running Queries VectorWise Storage VectorWise Server Ingres DBMS © 2010 Ingres Corporation
The Demo Query © 2010 Ingres Corporation SELECT l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order FROM lineitem WHERE l_shipdate <= date ' ' - interval '90' day GROUP BY l_returnflag, l_linestatus ORDER BY l_returnflag, l_linestatus
And now live and without the use of a safety net - the demo...