Joinutility seperatorLogin utility separator Infobright.com

Infobright Blog

27
Jul

ICE 3.2 Release Candidate 1 Is Available For Download

Mark Windrim's photo
by Mark Windrim     Mon, Jul 27, 2009

 

The Infobright Optimizer Extends Its Reach!

Today we’re very excited about the new release of ICE 3.2 (release candidate 1), which builds on the expanded depth of query functionality introduced in version 3.1, where we delivered over 120 additional SQL functions fully optimized in Infobright’s high performance Knowledge Grid.

Infobright 3.1, released in March, delivered up to a 10X performance boost for complex queries using our new optimized SQL functions. Version 3.2 further advances the breadth of query support where customers will experience further increases in performance. Extending the query coverage in the Knowledge Grid means more queries run natively thru the Infobright Optimizer without any query restructuring–resulting in effortless performance.

Infobright beta users have seen significant performance increases with our 3.2 release for queries now going through the Infobright Optimizer. For example, queries that previously ran in hours are now taking seconds, and queries that previously ran in 20 minutes are being returned in less than a second. This reflects the huge benefit achieved by Infobright’s query optimizer using rough set algorithms.

Infobright 3.2 expands the support for SQL functions allowing complex expressions to execute within the Infobright Optimizer. Support for complex expressions have been implemented on the SELECT list with GROUP BY, and the ORDER BY, UNION, HAVING, WHERE, DISTINCT, LIMIT, IN, and OFFSET clauses, and across a broader range of sub-queries.

Infobright 3.2 includes support for Windows Server 2003/2008. New install packages have been introduced to improve the user experience, facilitate ease-of-install and configuration. The install packages automatically detect upgrade versus new installs, updating the software seamlessly while preserving data and configuration settings.

The Release Candidates for ICE 3.2 are available immediately and IEE 3.2 release candidates will be available in the next 2 weeks!

 

Looks like:
  “`score` decimal(18,10) NOT NULL”
might be the problem. 

CREATE TABLE `fact` (
  `id` bigint(20) NOT NULL,
  `a_id` bigint(15) DEFAULT NULL,
  `b_id` bigint(15) DEFAULT NULL,
  `c_id` bigint(15) DEFAULT NULL,
  `i1` int(11) NOT NULL,
  `qty` smallint(6) NOT NULL,
  `score` decimal(18,10) NOT NULL,
  `price` decimal(10,3) NOT NULL,
  `i2` int(11) NOT NULL,
  `i3` int(11) NOT NULL,
  `wide_row` char(50) COLLATE ascii_bin DEFAULT NULL
) ENGINE=BRIGHTHOUSE DEFAULT CHARSET=ascii COLLATE=ascii_bin ;


mysql> select count(*) from fact;
+—————-+
| count(*)  |
+—————-+
| 100000000 |
+—————-+
1 row in set (0.00 sec)

mysql> select sum(price), sum(score), sum(price * score) from fact;
ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance.

mysql> select i1,sum(price), sum(score), sum(price * score) from fact group by i1;
ERROR 1105 (HY000): Brighthouse other specific error: Numeric result of an expression is too large and cannot be handled by Infobright. Please use an explicit cast to a data type handled by Infobright, e.g. CAST(<expr> AS DECIMAL(18,6)).

Author: Swany
Date: 08/03/09

Swany,

I re-ran the test on the same build you have (5036) on RHEL5.  Here are the results:

[root@ttcc foodmart]# mysql-ice32rc1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.14-log build number (revision)=IB_3.2_r5000_5036(ice)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use foodmart
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select sum(unit_sales * store_sales) from sales_fact_1998;
+———————————————-+
| sum(unit_sales * store_sales) |
+———————————————-+
|          3582503.61000000 |
+———————————————-+
1 row in set (0.13 sec)

Author: David Lutz
Date: 08/03/09

Swany,

Interesting.  Can you share what data types the two fields were?  If either was non-numeric, that would be of note.  Here is the DDL for the two fields I used:


C:\Program Files\Infobright>“C:\Program Files\Infobright\bin\mysql.exe”—defaul
ts-file=“C:\\Program Files\\Infobright\\my-ib.ini” -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.14-beta-log build number (revision)=IB_3.2_r5000_5078(ice)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use foodmart
Database changed
mysql> desc fact_sales_1998;
ERROR 1146 (42S02): Table ‘foodmart.fact_sales_1998’ doesn’t exist
mysql> desc sales_fact_1998;
+———————+———————-+———+
| Field     | Type       | Null |
+———————+———————-+———+
| ...      | ...        | ...  |
| store_sales | decimal(10,4) | NO   |
| ...      | ...        | ...  |
| unit_sales   | decimal(10,4) | NO   |
+———————+———————-+———+
8 rows in set (0.13 sec)

mysql>

Author: David Lutz
Date: 08/03/09

Linux, 64bit.

I think the problem is data type dependent, as I’ve got some inconsistent results.

I’ll make a bug report in the tracker once I figure out exactly what is going on.

Author: Swany
Date: 08/02/09

Swany,

For clarity, I ran the following on Windows XP with ICE 3.2 RC1 for Windows using the example database foodmart from Jaspersoft:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.14-beta-log build number (revision)=IB_3.2_r5000_5078(ice)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use foodmart
Database changed

mysql> select sum(unit_sales * store_sales) from sales_fact_1998;

+———————————————-+
| sum(unit_sales * store_sales) |
+———————————————-+
|          3582503.61000000 |
+———————————————-+
1 row in set (0.12 sec)

Author: David Lutz
Date: 08/02/09

Swany,

What platform are you running on?  Just curious because the download I have, for Windows, is Build 5000_5078 and it works fine.

Author: David Lutz
Date: 08/02/09

I thought that 3.2 was supposed to support aggregation over “complex” expressions, but this still doesn’t work.

5.1.14 (revision)=IB_3.2_r5000_5036(ice)

mysql> select sum(score * price) from fact;

ERROR 5 (HY000): The query includes syntax that is not supported by the Infobright Optimizer. Either restructure the query with supported syntax, or enable the MySQL Query Path in the brighthouse.ini file to execute the query with reduced performance.

Was this feature pulled from 3.2 or will it be in later RC releases?

Author: Swany
Date: 07/31/09

Please login or register to post a comment.