]]>
]]>

LucidDB notes for SSB benchmark

dba_system_parameters

0: jdbc:luciddb:http://localhost> select * from sys_root.dba_system_parameters;
+---------------------------------+-------------------------------------+
|           PARAM_NAME            |             PARAM_VALUE             |
+---------------------------------+-------------------------------------+
| fennelDisabled                  | false                               |
| userCatalogEnabled              | false                               |
| codeCacheMaxBytes               | 2000000                             |
| checkpointInterval              | 0                                   |
| serverRmiRegistryPort           | -1                                  |
| serverSingleListenerPort        | -1                                  |
| calcVirtualMachine              | CALCVM_JAVA                         |
| javaCompilerClassName           | org.eigenbase.javac.JaninoCompiler  |
| connectionTimeoutMillis         | 86400000                            |
| serverHttpPort                  | -1                                  |
| databaseInitSize                | 2000                                |
| databaseIncrementSize           | 1000                                |
| databaseMaxSize                 | 0                                   |
| tempInitSize                    | 3000                                |
| tempIncrementSize               | 1000                                |
| tempMaxSize                     | 0                                   |
| databaseShadowLogInitSize       | 2000                                |
| databaseShadowLogIncrementSize  | 1000                                |
| databaseTxnLogInitSize          | 2000                                |
| databaseTxnLogIncrementSize     | 1000                                |
| cachePagesMax                   | 131072                              |
| cachePagesInit                  | 131072                              |
| cachePageSize                   | 32768                               |
| groupCommitInterval             | 0                                   |
| resourceDir                     | ${FARRAGO_HOME}/catalog/fennel      |
| jniHandleTraceFile              |                                     |
| expectedConcurrentStatements    | 4                                   |
| cacheReservePercentage          | 5                                   |
| deviceSchedulerType             | aioLinux                            |
| freshmenPageQueuePercentage     | 25                                  |
| pageHistoryQueuePercentage      | 100                                 |
| prefetchPagesMax                | 12                                  |
| prefetchThrottleRate            | 10                                  |
| processorCacheBytes             | -1                                  |
+---------------------------------+-------------------------------------+
34 rows selected (1.421 seconds)

Create table

CREATE TABLE SSB.CUSTOMER ( C_CUSTKEY     INTEGER PRIMARY KEY,
                            C_NAME        VARCHAR(25) NOT NULL,
                            C_ADDRESS     VARCHAR(40) NOT NULL,
                            C_CITY        VARCHAR(10) NOT NULL,
                            C_NATION      VARCHAR(15) NOT NULL,
                            C_REGION      VARCHAR(12) NOT NULL,
                            C_PHONE       VARCHAR(15) NOT NULL,
                            C_MKTSEGMENT  VARCHAR(10) NOT NULL);

CREATE TABLE SSB.DATES ( D_DATEKEY          INTEGER PRIMARY KEY,
                         D_DATE             VARCHAR(18) NOT NULL,
                         D_DAYOFWEEK        VARCHAR(8) NOT NULL,
                         D_MONTH            VARCHAR(9) NOT NULL,
                         D_YEAR             INTEGER NOT NULL,
                         D_YEARMONTHNUM     INTEGER,
                         D_YEARMONTH        VARCHAR(7) NOT NULL,
                         D_DAYNUMINWEEK     INTEGER,
                         D_DAYNUMINMONTH    INTEGER,
                         D_DAYNUMINYEAR     INTEGER,
                         D_MONTHNUMINYEAR   INTEGER,
                         D_WEEKNUMINYEAR    INTEGER,
                         D_SELLINGSEASON    VARCHAR(12) NOT NULL,
                         D_LASTDAYINWEEKFL  INTEGER,
                         D_LASTDAYINMONTHFL INTEGER,
                         D_HOLIDAYFL        INTEGER,
                         D_WEEKDAYFL        INTEGER);
                         
CREATE TABLE SSB.PART  ( P_PARTKEY     INTEGER PRIMARY KEY,
                         P_NAME        VARCHAR(22) NOT NULL,
                         P_MFGR        VARCHAR(6) NOT NULL,
                         P_CATEGORY    VARCHAR(7) NOT NULL,
                         P_BRAND       VARCHAR(9) NOT NULL,
                         P_COLOR       VARCHAR(11) NOT NULL,
                         P_TYPE        VARCHAR(25) NOT NULL,
                         P_SIZE        INTEGER NOT NULL,
                         P_CONTAINER   VARCHAR(10) NOT NULL);

CREATE TABLE SSB.SUPPLIER ( S_SUPPKEY     INTEGER PRIMARY KEY,
                            S_NAME        VARCHAR(25) NOT NULL,
                            S_ADDRESS     VARCHAR(25) NOT NULL,
                            S_CITY        VARCHAR(10) NOT NULL,
                            S_NATION      VARCHAR(15) NOT NULL,
                            S_REGION      VARCHAR(12) NOT NULL,
                            S_PHONE       VARCHAR(15) NOT NULL);

CREATE TABLE SSB.LINEORDER ( LO_ORDERKEY       BIGINT,
                             LO_LINENUMBER     BIGINT,
                             LO_CUSTKEY        INTEGER NOT NULL,
                             LO_PARTKEY        INTEGER NOT NULL,
                             LO_SUPPKEY        INTEGER NOT NULL,
                             LO_ORDERDATE      INTEGER NOT NULL,
                             LO_ORDERPRIOTITY  VARCHAR(15) NOT NULL,
                             LO_SHIPPRIOTITY   INTEGER,
                             LO_QUANTITY       BIGINT,
                             LO_EXTENDEDPRICE  BIGINT,
                             LO_ORDTOTALPRICE  BIGINT,
                             LO_DISCOUNT       BIGINT,
                              LO_REVENUE        BIGINT,
                              LO_SUPPLYCOST     BIGINT,
                              LO_TAX            BIGINT,
                              LO_COMMITDATE     INTEGER NOT NULL,
                              LO_SHIPMODE       VARCHAR(10) NOT NULL)
!set force true
alter session set "errorMax" = 1000;
alter session set "degreeOfParallelism" = 10;

Tips to improve load

(by Nicholas Goodman)

 Raise the ceiling:

alter system set "cachePagesMax" = 131072;

2. Restart LucidDB

3. Change cachePagesInit:

alter system set "cachePagesInit" = 131072;

I preallocated a 100GB db.dat (./lucidDbAlloc). Second, make sure you have cachePagesMax and cachePagesInit set to a reasonable setting. I used 131072 for most server installations for both values.

I generated a 10GB dataset (to test the DDL I'm sending to you) tonight. In order to get parallel loading you have to split the file, and then create a view to UNION ALL it. I used the command line “split” to split the file into 8 parts, duplicated the .bcp files, and then create a view like:

create view ssb.lineorder_source as select * from ssb.”lineorder1” UNION ALL select * from ssb.”lineorder2” UNION ALL select * from ssb.”lineorder3” UNION ALL select * from ssb.”lineorder4” UNION ALL select * from ssb.”lineorder5” UNION ALL select * from ssb.”lineorder6” UNION ALL select * from ssb.”lineorder7” UNION ALL select * from ssb.”lineorder8”;

Indexes

1/52         set schema 'ssb';    
No rows affected (0.023 seconds)  
2/52
3/52         ---------------------------
4/52         -- indices for foreign keys
5/52         ---------------------------
6/52
7/52         -- LINEORDER: LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERDATE, LO_COMMITDATE
8/52         CREATE INDEX LO_CUSTKEY_IDX ON LINEORDER(LO_CUSTKEY);
No rows affected (78601.04 seconds)
9/52         CREATE INDEX LO_PARTKEY_IDX ON LINEORDER(LO_PARTKEY);
No rows affected (126921.698 seconds)
10/52        CREATE INDEX LO_SUPPKEY_IDX ON LINEORDER(LO_SUPPKEY);
No rows affected (116387.907 seconds)
11/52        CREATE INDEX LO_ORDERDATE_IDX ON LINEORDER(LO_ORDERDATE);
No rows affected (10624.119 seconds)
12/52        CREATE INDEX LO_COMMITDATE_IDX ON LINEORDER(LO_COMMITDATE);
No rows affected (34395.341 seconds)
13/52
14/52        ----------------------------
15/52        -- indices for WHERE clauses
16/52        ----------------------------
17/52
18/52        -- CUSTOMER: C_REGION, C_NATION, C_CITY
19/52        CREATE INDEX C_REGION_IDX ON CUSTOMER(C_REGION);
No rows affected (12.742 seconds) 
20/52        CREATE INDEX C_NAITON_IDX ON CUSTOMER(C_NATION);
No rows affected (23.238 seconds) 
21/52        CREATE INDEX C_CITY_IDX ON CUSTOMER(C_CITY);
No rows affected (34.307 seconds) 
22/52
23/52        -- DATES: D_YEAR, D_YEARMONTHNUM, D_WEEKNUMINYEAR, D_YEARMONTH
24/52        CREATE INDEX D_YEAR_IDX ON DATES(D_YEAR);
No rows affected (0.698 seconds)  
25/52        CREATE INDEX D_YEARMONTHNUM_IDX ON DATES(D_YEARMONTHNUM);
No rows affected (0.672 seconds)  
26/52        CREATE INDEX D_WEEKNUMINYEAR_IDX ON DATES(D_WEEKNUMINYEAR);
No rows affected (0.682 seconds)  
27/52        CREATE INDEX D_YEARMONTH_IDX ON DATES(D_YEARMONTH);
No rows affected (0.699 seconds)  
28/52
29/52        -- PART: P_CATEGORY, P_BRAND, P_MFGR
30/52        CREATE INDEX P_CATEGORY_IDX ON PART(P_BRAND);
No rows affected (4.071 seconds)  
31/52        CREATE INDEX P_BRAND_IDX ON PART(P_BRAND);
No rows affected (3.888 seconds)  
32/52        CREATE INDEX P_MFGR_IDX ON PART(P_BRAND);
No rows affected (4.53 seconds)   
33/52
34/52        -- SUPPLIER: S_REGION, S_NATION, S_CITY
35/52        CREATE INDEX S_REGION_IDX ON SUPPLIER(S_REGION);
No rows affected (4.612 seconds)  
36/52        CREATE INDEX S_NAITON_IDX ON SUPPLIER(S_NATION);
No rows affected (6.704 seconds)  
37/52        CREATE INDEX S_CITY_IDX ON SUPPLIER(S_CITY);
No rows affected (12.992 seconds) 
38/52
39/52        -- LINEORDER: LO_QUANTITY, LO_DISCOUNT,
40/52        CREATE INDEX LO_QUANTITY_IDX ON LINEORDER(LO_QUANTITY);
No rows affected (8407.526 seconds)
41/52        CREATE INDEX LO_DISCOUNT_IDX ON LINEORDER(LO_DISCOUNT);
No rows affected (4954.581 seconds)
42/52
43/52        -----------------    
44/52        -- analyze tables    
45/52        -----------------    
46/52
47/52        ANALYZE TABLE CUSTOMER ESTIMATE STATISTICS FOR ALL COLUMNS;
No rows affected (13.094 seconds) 
48/52        ANALYZE TABLE DATES ESTIMATE STATISTICS FOR ALL COLUMNS;
No rows affected (2.74 seconds)   
49/52        ANALYZE TABLE PART ESTIMATE STATISTICS FOR ALL COLUMNS;
No rows affected (2.303 seconds)  
50/52        ANALYZE TABLE SUPPLIER ESTIMATE STATISTICS FOR ALL COLUMNS;
No rows affected (4.179 seconds)  
51/52        ANALYZE TABLE LINEORDER ESTIMATE STATISTICS FOR ALL COLUMNS;
No rows affected (3890.009 seconds)
52/52
 
benchmark/ssb/luciddb/start.txt · Last modified: 2011/07/17 21:05 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Contact Us 24 Hours A Day
SupportContact us 24×7
Emergency? Contact us for help now!
Sales North America(888) 316-9775 or
(208) 473-2904
Sales
Europe
+44-208-133-0309 (UK)
0-800-051-8984 (UK)
0-800-181-0665 (GER)
Training(855) 55TRAIN or
(925) 271-5054

 

Share This
]]> ]]>