System and methods are described for improved indexing and processing (e.g., query processing) of date-based information. A date value may be viewed as comprising year (y), month (m), and day (d) components. A DateIndex index data structure is defined to comprise three distinct groups of bitmaps: one for years, another for months, and another for days, respectively. This index can be created on a column having a datatype of "date" (e.g., standard SQL datatype which stores date literals). A month group is defined to contain exactly 12 bitmaps (call them M[1], M[2], . . . , M[12]) to track rows meeting at a specified month range for a particular column. Each successive bitmap within the group stores a successively smaller subrange of possible month values (e.g., month 1-12, month 2-12, month 3-12, and so forth and so on). In a similar manner, bitmaps may be created for tracking day and year ranges. Additionally, an "existence bitmap" (EBM) is used to track whether particular rows exist in a given column being indexed. Armed with this information, the system can now resolve a desired query operation using set algebra. Depending on the particular date value(s) under consideration, use of set algebra may often be optimized, thereby reducing the number of bitmap operations required. By providing a new index structure specifically designed for date columns, the approach significantly reduces the number of bitmap operations required to do each of these operations and also significantly reduces the amount of I/O required to do each operation.

O sistema e os métodos são descritos para o indexing melhorado e processar (por exemplo, pergunta que processa) da informação data-baseada. Um valor da data pode ser visto como compreender o ano (y), o mês (m), e os componentes do dia (d). Uma estrutura de dados do índice de DateIndex é definida para compreender três grupos distintos dos bitmaps: um por anos, outro por meses, e outro por dias, respectivamente. Este índice pode ser criado em uma coluna que tem um datatype da "data" (por exemplo, o datatype padrão do SQL que armazena literals da data). Um grupo do mês é definido para conter exatamente 12 bitmaps (os chame M[1 ], M[2 ]. . . , M[12 ]) para seguir as fileiras que encontram-se com em um mês especificado variam para uma coluna particular. Cada bitmap sucessivo dentro do grupo armazena um subrange sucessivamente menor de valores possíveis do mês (por exemplo, mês 1-12, mês 2-12, mês 3-12, e assim por diante e assim por diante). Em uma maneira similar, os bitmaps podem ser criados para escalas seguindo do dia e do ano. Adicionalmente, da "um bitmap existência" (EBM) é usado seguir se as fileiras particulares existem em uma coluna dada que está sendo posicionada. Armado com esta informação, o sistema pode agora resolver uma operação desejada da pergunta usando álgebra ajustada. Dependendo do value(s) particular da data sob a consideração, o uso da álgebra do jogo pode frequentemente optimized, desse modo reduzindo o número das operações bitmap requeridas. Fornecendo uma estrutura nova do índice projetada especificamente para colunas da data, a aproximação reduz significativamente o número das operações bitmap requeridas para fazer cada uma destas operações e também reduz significativamente a quantidade de I/O requerido para fazer cada operação.

 
Web www.patentalert.com

< System and method for online analytical processing

< Search engine with user activity memory

> Unified database and text retrieval system

> Search engine system and method utilizing context of heterogeneous information resources

~ 00053