Login or Sign Up to become a member!
LessThanDot Sit Logo

LessThanDot

Data Management

Less Than Dot is a community of passionate IT professionals and enthusiasts dedicated to sharing technical knowledge, experience, and assistance. Inside you will find reference materials, interesting technical discussions, and expert tips and commentary. Once you register for an account you will have immediate access to the forums and all past articles and commentaries.

LTD Social Sitings

Lessthandot twitter Lessthandot Linkedin Lessthandot friendfeed Lessthandot facebook Lessthandot rss

Note: Watch for social icons on posts by your favorite authors to follow their postings on these and other social sites.

Your profile

Authors

Search

XML Feeds

Google Ads

« An Introduction to New T-SQL Programmability Features in SQL Server 2008Three Ways To Return All Rows That Contain Uppercase Characters Only »
comments
Rate Post:
submit to reddit Digg!FacebookDotnetkicks

Maybe you heard about Sybase IQ and maybe you did not. So what is Sybase IQ? Sybase IQ is a columnar database. What does this mean? This mean that the data is stored in columns and not in rows. Inserts are slower that a traditional row based database but selects are many times faster (up to 50 times). The good thing about this technology is that the SQL looks the same, the only difference is that the data is stored in a different way.

Sybase announced that they have Set Guinness World Record for World’s Largest Data Warehouse

Powered by the category-leading column-oriented database Sybase IQ, the data warehouse is certified to support a record-breaking one petabyte of mixed relational and unstructured data—more than 34 times larger than the largest industry standard benchmark1 and twice the size of the largest commercial data warehouse known to date2. In total, the data warehouse contains six trillion rows of transactional data and more than 185 million content-searchable documents, such as emails, reports, spreadsheets and other multimedia objects.

I have been using Sybase IQ for about 6 months now, I am not impressed with the way the tools look, hey I’ll take performance over tools any day :-)

In SQL Server you have 2 types of indexes (not counting XML indexes) clustered and non clustered. Well Sybase IQ has a lot more

With Sybase IQ you have these indexes to choose from

The Default column index
For any column that has no index defined, or whenever it is the most effective, query results are produced using the default index. This structure is fastest for projections, but generally is slower than any of the three column index types you define for anything other than a projection. Performance is still faster than most RDBMSs since one column of data is fetched, while other RDBMSs need to fetch all columns which results in more disk I/O operations.

The Low_Fast (LF) index type
This index is ideal for columns that have a very low number of unique values (under 1,000) such as sex, Yes/No, True/False, number of dependents, wage class, and so on. LF is the fastest index in Sybase IQ.

The High_Group (HG) index type
The High_Group index is commonly used for join columns with integer data types. It is also more commonly used than High_Non_Group because it handles GROUP BY efficiently.

The High_Non_Group (HNG) index type
Add an HNG index when you need to do range searches.
An HNG index requires approximately three times less disk space than an HG index requires. On that basis alone, if you do not need to do group operations, use an HNG index instead of a HG index.

The Compare (CMP) index type
A Compare (CMP) index is an index on the relationship between two columns. You may create Compare indexes on any two distinct columns with identical data types, precision, and scale. The CMP index stores the binary comparison (<, >, or =) of its two columns.

The Containment (WD) index type
This index allows you to store words from a column string of CHAR and VARCHAR data.

The Date (DATE) index type
The Time (TIME) index type
The Datetime (DTTM) index type
Three index types are used to process queries involving date, time, or datetime quantities:

The JOIN Index (Linear joins and Star joins)
Join indexes usually provide better query performance than when table joins are first defined at query time (ad hoc joins). In many situations, however, you can gain optimal performance on joined columns without creating join indexes.

Sybase IQ does not have clustered or non clustered indexes. You can specify clustered index but it will be ignored.

Here are two examples of creating indexes

The first index is a Low Fast index, the second index is a datetime index

  1. CREATE LF INDEX IX_LF_IGROUP_Index ON TestTable (SomeColumn)
  2.  
  3. CREATE DTTM INDEX IX_DTTM_Tradate_Index ON TestTable (SomeDate)

If you want to know more about Sybase IQ visit this page http://www.sybase.com/products/datawarehousing/sybaseiq

About the Author

User bio imageDenis has been working with SQL Server since version 6.5. Although he worked as an ASP/JSP/ColdFusion developer before the dot com bust, he has been working exclusively as a database developer/architect since 2002. In addition to English, Denis is also fluent in Croatian and Dutch, but he can curse in many other languages and dialects (just ask the SQL optimizer) He lives in Princeton, NJ with his wife and three kids.
Social SitingsTwitterFacebookLinkedInHomePageLTD RSS Feed
5139 views
submit to reddit Digg!FacebookDotnetkicks

Comments and Feedback

5 comments

Comment from: MikeLacey [Member] Email
****-
Neat...
07/04/08 @ 12:40
Comment from: John Ryan [Visitor]
****-
There's few people around with IQ experience, (me included) so it's good to see advice. Only
suggestion I would give is if you're building a Data Warehouse using a Dimensional Design
(ie. Fact table with multiple Dimension tables, integer (surrogate key) joins, and little or
no snowflakes, I'd start with the following rule of thumb:-

On the Dimension tables create a HG index on Primary Keys (only way to create unique indexes).
On the Fact table (foreign keys) create a HG or LF index depending upon the cardinality of the
data. (ie. 10m rows in the Fact table, and a "select count(distinct sale_type)..." returns 50
- create an LF. If it returns 5,000 distinct entries - use a HG.

Create Referential Constraints between Dimensions --> Fact to help the optimiser (unlike for
example Oracle - there is no "cost based" optimizer - so the more help the better).

Once you have a realistically sized warehouse set up for PRT (performance and resilience testing)
switch on the INDEX ADVISOR option, and IQ should advise you on any indexes which may be
usefully added.

If anyone has any "real experience" of performance on IQ I'd be interested to hear your results.
Currently trying to compare Oracle 10g Vs IQ for a client.
09/16/08 @ 06:13
Comment from: Nagesh kanvinde [Visitor] Email · http://www.advisory.com
****-
Very useful information. Thank you !

>>Currently trying to compare Oracle 10g Vs IQ for a client.

Do you mind posting more info about how that goes?

Thanks!
10/06/08 @ 12:41
Comment from: Shamim Aziz [Visitor]
*----
Lot of things is there while comparing with
oracle and Sybase IQ .

1) Compression & Storage
2) Cost of Maintaing the materialized views
3) More over the Query Performance

-- i successfully completed one OLTP application
to Sybase IQ which have more than 600% perfor
mance improvement. Contact me i can provide
much details
05/26/09 @ 21:19
Comment from: Vijaya [Visitor] · http://www.DotNetVJ.com
****-
Thanks for the information.
But it is not good compare Oracle with Sybase IQ. Sybase IQ is only for DSS type of systems and Oracle is good is for OLTP and OLAP.

Thanks -- Vj
www.DotNetVJ.com
10/13/09 @ 19:07

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)