Patents Assigned to Netezza Corporation
  • Patent number: 7010521
    Abstract: A system from processing database queries allows for cost and locale based distribution for execution of database queries. The database queries are executed on execution engines that provide flexible configuration and overlapping functionality. The system reduces various costs, including elapsed time, required to perform database queries. The system provides processing of a database query using a database catalog comprising database table locality information, record locality information and execution engine information. A query optimizer receives the query and accesses the database catalog to create a query execution plan comprising locality-based database operations. A central database operation processor providing a first execution engine executes the query execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan.
    Type: Grant
    Filed: May 13, 2002
    Date of Patent: March 7, 2006
    Assignee: Netezza Corporation
    Inventors: Foster D. Hinshaw, John K. Metzger, Barry M. Zane
  • Patent number: 6973452
    Abstract: A large information space is divided into many smaller information extents. These extents are annotated with statistics about the information they contain. When a search for information includes a restriction based on value, the desired value ranges can be compared to the value ranges of each extent. If the desired value range lies outside the range of the extent, then the extent cannot hold the desired value and does not need to be included in the search.
    Type: Grant
    Filed: May 18, 2004
    Date of Patent: December 6, 2005
    Assignee: Netezza Corporation
    Inventors: John K. Metzger, Barry M. Zane, Foster D. Hinshaw
  • Publication number: 20050097103
    Abstract: A usage model and the underlying technology used to provide sequence analysis as part of a relational database system. Included components include the semantic and syntactic integration of the sequence analysis with an existing query language, the storage methods for the sequence data, and the design of a multipart execution scheme that runs the sequence analysis as part of a potentially larger database query, especially using parallel execution techniques.
    Type: Application
    Filed: September 17, 2004
    Publication date: May 5, 2005
    Applicant: Netezza Corporation
    Inventors: Barry Zane, Sanjay Dixit, Venkannababu Tammisetti
  • Publication number: 20050091238
    Abstract: A usage model and the underlying technology used to provide sequence analysis as part of a relational database system. Included components include the semantic and syntactic integration of the sequence analysis with an existing query language, the storage methods for the sequence data, and the design of a multipart execution scheme that runs the sequence analysis as part of a potentially larger database join, especially using parallel execution techniques.
    Type: Application
    Filed: September 17, 2004
    Publication date: April 28, 2005
    Applicant: Netezza Corporation
    Inventors: Barry Zane, Sanjay Dixit, Venkannababu Tammisetti
  • Publication number: 20050027701
    Abstract: This invention relates generally to a system for processing database queries, and more particularly to a method for generating high level language or machine code to implement query execution plans. The present invention provides a method for generating executable machine code for query execution plans, that is adaptive to dynamic runtime conditions, that is compiled just in time for execution and most importantly, that avoids the bounds checking, pointer indirection, materialization and other similar kinds of overhead that are typical in interpretive runtime execution engines.
    Type: Application
    Filed: July 7, 2004
    Publication date: February 3, 2005
    Applicant: Netezza Corporation
    Inventors: Barry Zane, James Ballard, Foster Hinshaw, Dana Kirkpatrick, Premanand Yerabothu
  • Publication number: 20050028134
    Abstract: This invention relates generally to a system for processing database queries, and more particularly to a method for generating high level language or machine code to implement query execution plans. In one preferred embodiment, the method begins by receiving a subject query, and then forming an execution plan corresponding to the subject query. The execution plan will typically have a sequence of component snippets or pieces and corresponding processes for implementing the pieces. For at least one piece in the plan, the process then (a) generates source code using different code generation techniques as a function of expected runtime processing machine types; and then (b) compiles the generated source code to form machine executable code for implementing the subject query. As a result, the query executed directly as machine executable code thereby avoiding runtime interpretation of the pieces in the execution plan.
    Type: Application
    Filed: July 7, 2004
    Publication date: February 3, 2005
    Applicant: Netezza Corporation
    Inventors: Barry Zane, James Ballard, Foster Hinshaw, Premanand Yerabothu
  • Publication number: 20050022051
    Abstract: A disk is segmented into a first data segment and a secondary data segment. The secondary data segment stores a logical mirror of the first data segment of another disk. Upon detecting a failure, the logical mirror of data stored in the first data segment of the failed disk is accessible from the secondary data segment of a non-failed disk. The first data segment can be rebuilt quickly on another disk from the logical mirror stored in the secondary data segment. During regenerating, accesses to the first data segment on the disk containing the logical mirror are handled by its own logical mirror, which is not involved in the regenerating process.
    Type: Application
    Filed: July 6, 2004
    Publication date: January 27, 2005
    Applicant: Netezza Corporation
    Inventors: Barry Zane, Foster Hinshaw, Philip MacDonald, John Metzger
  • Publication number: 20050010564
    Abstract: A large information space is divided into many smaller information extents. These extents are annotated with statistics about the information they contain. When a search for information includes a restriction based on value, the desired value ranges can be compared to the value ranges of each extent. If the desired value range lies outside the range of the extent, then the extent cannot hold the desired value and does not need to be included in the search.
    Type: Application
    Filed: May 18, 2004
    Publication date: January 13, 2005
    Applicant: Netezza Corporation
    Inventors: John Metzger, Barry Zane, Foster Hinshaw
  • Publication number: 20040268179
    Abstract: A technique for read error failover processing in a mirrored disk system such as a Redundant Array of Inexpensive Disks (RAID) system, where individual disk units perform Logical Block Address (LBA) remapping. A read error causes a disk controller to report an “unrecoverable” read error to a RAID controller. After receiving this report of an unrecoverable read error, rather than simply switching over to a mirror, the RAID controller first checks to see whether the disk that caused the error can successfully reassign an LBA. In particular, the RAID controller can retrieve the data that was associated with the failed LBA from the mirror, and then write that data to the offending disk. The disk controller for that disk will then perform its standard LBA remapping, and write the data to a new, good sector. Only if this process does not succeed is the offending disk then treated by the RAID controller as having failed sufficiently to require failover to the mirror.
    Type: Application
    Filed: February 10, 2004
    Publication date: December 30, 2004
    Applicant: Netezza Corporation
    Inventor: William K. Stewart
  • Patent number: 6831839
    Abstract: An adjustable circuit sled module for a mass storage device has a housing, a mass storage device, a circuit board, a cover and spacers. The spacers position the mass storage device to align the power and data interface ports of the mass storage device with corresponding power and data interface connectors of the circuit board. The resulting sled module can be adjusted to accommodate a variety of brands and sizes of mass storage devices.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: December 14, 2004
    Assignee: Netezza Corporation
    Inventor: Eric T. Bovell
  • Publication number: 20040249838
    Abstract: A multi-version database system controls visibility of data during transaction processing. A transaction includes a transaction identifier that identifies the transaction and an invisibility list of transactions whose effects are invisible to the transaction. Changes made by other transactions are visible to the transaction based on the isolation level of the transaction. Records are visible to a transaction based on a creator identifier stored in the record that identifies the transaction that created the record.
    Type: Application
    Filed: August 22, 2003
    Publication date: December 9, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Craig S. Harris, Sunil K. Sarin
  • Publication number: 20040225666
    Abstract: Described herein is a system for creating and maintaining materialized views. The maintenance of the materialized views is performed in a distributed manner that improves efficiency and performance in response to the queries for materialized views or views on top of the materialized views.
    Type: Application
    Filed: February 10, 2004
    Publication date: November 11, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Aaron C. Beals
  • Publication number: 20040205110
    Abstract: In a preferred embodiment, the present invention is an asymmetric data processing system having two or more [csh6]groups of processors that have attributes that are optimized for their assigned functions. A first processor group, which may be SMP machines, are responsible for interfacing with applications and/or end users to obtain queries, and for planning query execution. A second processor group consists of many streaming record-oriented processors called Job Processing Units (JPUs), typically arranged as an MPP structure. The JPUs carry out the bulk of the data processing required to implement the logic of a query, running autonomously and asynchronously from other processors in the system. The JPUs preferably use a multi-tasking operating system that permits multiple tasks to run at a given instant in time, in either an absolute-priority-based or a weighted-priority-based demand scheduling environment.
    Type: Application
    Filed: September 18, 2003
    Publication date: October 14, 2004
    Applicant: Netezza Corporation
    Inventor: Foster D. Hinshaw
  • Publication number: 20040148420
    Abstract: A data processing system having two or more groups of data processors that have attributes that are optimized for their assigned functions. A first group consists of one or more host computers responsible for interfacing with applications and/or end users to obtain queries and for planning query execution. A second processor group consists of many streaming record-oriented processors called Job Processing Units (JPUs), preferably arranged as an MPP structure. The JPUs typically carry out the bulk of the data processing required to implement the logic of a query. Each of the JPUs typically include a general purpose microcomputer, local memory, one or more mass storage devices, and one or more network connections. Each JPU also has a special purpose programmable processor, referred to herein as a Programmable Streaming Data Processor (PSDP). The PSDP serves as an interface between the CPU of a JPU and the mass storage device, to offload functions from the CPU of the JPU.
    Type: Application
    Filed: September 18, 2003
    Publication date: July 29, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, David L. Meyers, Barry M. Zane
  • Publication number: 20040139214
    Abstract: A field oriented pipeline processor for a data engine that can be programmed to recognize record and field structures of data received from a source such as a mass storage device. The processor has an interface for receiving field-delineated data from a field parser. The field parser parses non-field delineated data from a streaming data source into field delineated data under instruction from an external processing unit. The pipeline processor receives a field delineated data stream and employs logical arithmetic methods to compare fields with one another, or with values otherwise supplied by general purpose processors to precisely determine which records are worth transferring to memory of the more general purpose distributed processors. The architecture of the data engine allows for the use of substitution tables, temporary registers, and a data string register to assist in the efficiency and accuracy of the data engine processing.
    Type: Application
    Filed: September 18, 2003
    Publication date: July 15, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Raymond A. Andraka, David L. Meyers, Sharon L. Miller, William K. Stewart
  • Publication number: 20040133565
    Abstract: A programmable streaming data processor that can be programmed to recognize record and field structures of data received from a streaming data source such as a mass storage device. Being programmed with, for example, field information, the unit can locate record and field boundaries and employ logical arithmetic methods to compare fields with one another or with values otherwise supplied by general purpose processors to precisely determine which records are worth transferring to memory of the more general purpose distributed processors. The remaining records arrive and are discarded by the streaming data processor or are tagged with status bits to indicate to the more general purpose processor that they are to be ignored. In a preferred embodiment, the streaming data processor may analyze and discard records for several reasons. The first reason may be an analysis of contents of the field.
    Type: Application
    Filed: September 18, 2003
    Publication date: July 8, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Raymond A. Andraka, David L. Meyers, Sharon L. Miller, Michael Sporer, William K. Stewart, Barry M. Zane
  • Publication number: 20040128442
    Abstract: A disk is segmented into a first data segment and a secondary data segment. The secondary data segment stores a logical mirror of the first data segment of another disk. Fast access to data stored on the disk is provided by partitioning the disk such that the first data segment includes the fast tracks of the disk and the secondary data segment includes the slow tracks of the disk and forwarding all data requests to the first data segment. Upon detecting a failure, the logical mirror of data stored in the first data segment of the failed disk is accessible from the secondary data segment of a non-failed disk. The first data segment can be rebuilt quickly on another disk from the logical mirror stored in the secondary data segment.
    Type: Application
    Filed: September 18, 2003
    Publication date: July 1, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Vincent F. Femia, Craig S. Harris, John K. Metzger, David L. Meyers, Barry M. Zane
  • Publication number: 20040117037
    Abstract: An asymmetric data record processor and method includes host computers and job processing units (JPU's) coupled together on a network. Each host computer and JPU forms a node on the network. A plurality of software operators allow each node to process streams of records. For each operator in a given sequence within nodes and across nodes, output of the operator is input to a respective succeeding operator. Data processing follows a logical data flow based on readiness of a record. As soon as a record is ready it is passed for processing from one part to a next part in the logical data flow. The flow of records during data processing is substantially continuous and of a streaming fashion.
    Type: Application
    Filed: September 18, 2003
    Publication date: June 17, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Sanjay G. Dixit, John K. Metzger, David L. Meyers, Venkannababu Tammisetti, Premanand Yerabothu, Barry M. Zane
  • Publication number: 20040078379
    Abstract: A mechanism controls concurrency among database transactions through the use of serial ordering relations. The ordering relations are computed dynamically in response to patterns of use. An embodiment of the present invention serializes a transaction that accesses a resource before a transaction that modifies the resource, even if the accessor starts after the modifier starts or commits after the modifier commits. A method of concurrency control for a database transaction in a distributed database system stores an intended use of a database system resource by the database transaction in a serialization graph. A serialization ordering is asserted between the database transaction and other database transactions based on the intended use of the database system resource by the database transaction. The serialization ordering is then communicated to a node in the distributed database system that needs to know the serialization ordering to perform concurrency control.
    Type: Application
    Filed: September 2, 2003
    Publication date: April 22, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Craig S. Harris, Sunil K. Sarin
  • Publication number: 20040064439
    Abstract: A mechanism controls concurrency among database transactions through the use of serial ordering relations. The ordering relations are computed dynamically in response to patterns of use. An embodiment of the present invention serializes a transaction that accesses a resource before a transaction that modifies the resource, even if the accessor starts after the modifier starts or commits after the modifier commits. A method of concurrency control for a database transaction in a distributed database system stores an intended use of a database system resource by the database transaction in a serialization graph. A serialization ordering is asserted between the database transaction and other database transactions based on the intended use of the database system resource by the database transaction. The serialization ordering is then communicated to a node in the distributed database system that needs to know the serialization ordering to perform concurrency control.
    Type: Application
    Filed: September 2, 2003
    Publication date: April 1, 2004
    Applicant: Netezza Corporation
    Inventors: Foster D. Hinshaw, Craig S. Harris, Sunil K. Sarin