JP2015532748A5 - - Google Patents

Download PDF

Info

Publication number
JP2015532748A5
JP2015532748A5 JP2015528521A JP2015528521A JP2015532748A5 JP 2015532748 A5 JP2015532748 A5 JP 2015532748A5 JP 2015528521 A JP2015528521 A JP 2015528521A JP 2015528521 A JP2015528521 A JP 2015528521A JP 2015532748 A5 JP2015532748 A5 JP 2015532748A5
Authority
JP
Japan
Prior art keywords
declaration
value
result
row
declarations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015528521A
Other languages
English (en)
Other versions
JP2015532748A (ja
JP6305406B2 (ja
Filing date
Publication date
Priority claimed from US13/590,032 external-priority patent/US9727606B2/en
Application filed filed Critical
Publication of JP2015532748A publication Critical patent/JP2015532748A/ja
Publication of JP2015532748A5 publication Critical patent/JP2015532748A5/ja
Application granted granted Critical
Publication of JP6305406B2 publication Critical patent/JP6305406B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (12)

  1. 方法であって、
    テーブルを対象とするクエリの結果をフィルタリングするための基準を指定する宣言に基づいて回路をプログラミングしてフィルタリングユニットの再構成可能なハードウェアにすることを含み、
    前記宣言は前記テーブルの特定の列に対する条件を指定し、
    前記特定の列から入力キャッシュに値をロードするとともに前記フィルタリングユニットに前記宣言を前記値に適用させることによって、宣言結果を生成することを含み、
    前記宣言結果は、前記特定の列の中の、前記宣言によって指定された前記条件を満たす値を有する、前記テーブルの行を特定し、
    前記宣言結果に少なくとも一部基づき、前記クエリの結果として返す行を選択することと、
    前記選択された行を前記クエリに対する結果として返すこととを含み、
    前記方法は1つ以上の計算装置によって実行される、方法。
  2. 前記宣言結果はビットベクトルであり、前記ビットベクトルの各ビットは、特定の行に対応し、第1の宣言によって指定された条件を前記特定の行が満たすか否か特定する、請求項1に記載の方法。
  3. 前記宣言は、前記クエリに対応付けられた一組の宣言のうちの第1の宣言であり、
    前記宣言結果は第1の宣言結果であり、
    前記方法はさらに、
    前記クエリの結果をフィルタリングするための第2の基準を指定する、前記一組の宣言のうちの第2の宣言に基づいて第2の回路をプログラミングして前記フィルタリングユニットの再構成可能なハードウェアにすることを含み、
    前記第2の宣言は前記テーブルの第2の列に対する第2の条件を指定し、
    前記第2の列から前記入力キャッシュに値をロードするとともに前記フィルタリングユニットに前記第2の宣言を前記値に適用させることによって、第2の宣言結果を生成することを含み、
    前記第2の宣言結果は、前記第2の列の中の、前記第2の宣言によって指定された前記第2の条件を満たす値を有する、前記テーブルの行を特定し、
    前記宣言結果に少なくとも一部基づき、結果として返す行を選択することは、
    前記第1の宣言結果を前記第2の宣言結果と結合することにより結合結果を生成することと、
    前記結合結果を用いて前記第1の宣言および前記第2の宣言双方を満たす行を特定することと、
    前記結合結果によって特定された行を、前記第1の宣言および前記第2の宣言双方を満たすものとして選択することとを含む、請求項1または2に記載の方法。
  4. 一組の宣言のうちの各宣言について、
    前記クエリのフィルタリング結果に対する特定の基準を指定する、前記一組の宣言のうちの各宣言に基づいて特定の回路をプログラミングして前記フィルタリングユニットの再構成可能なハードウェアにすることと、
    列の少なくとも一部から前記フィルタリングユニットに値をロードするとともに前記フィルタリングユニットに前記各宣言を前記値に適用させることによって、宣言結果を生成することとをさらに含み、
    前記結果として返す行を選択することは、
    各宣言結果を結合することにより、前記一組の宣言によって指定されたすべての基準を満たす行を特定する最終結果を生成することと、
    前記最終結果によって特定された行を、前記一組の宣言によって指定された基準を満たすものとして選択することとを含む、請求項1〜3のいずれか1項に記載の方法。
  5. 前記各宣言について生成された前記宣言結果を用いて、次の宣言の評価のために前記フィルタリングユニットに与える行の値を決定し、
    前記一組の宣言は逐次順序で評価され、
    前記逐次順序は、宣言が多数の行をふるい落とす可能性に基づいており、
    多数の行をふるい落とす可能性がより高い宣言は、多数の行をふるい落とす可能性がより低い宣言よりも前に評価される、請求項4に記載の方法。
  6. 前記結果として行を選択することは、前記最終結果を一組のメモリアドレスに変換することをさらに含み、
    前記一組のメモリアドレスのうちの各メモリアドレスは、前記一組の宣言によって指定された前記基準を満たす行の記憶場所を特定する、請求項4に記載の方法。
  7. 前記フィルタリングユニットに前記宣言を前記値に適用させることは、
    前記特定の列の対応する行に対し、前記対応する行の値が前記条件を満たす場合に、第1のビット値を生成することと、
    前記対応する行に対し、前記対応する行の値が前記条件を満たさない場合に、前記第1のビット値と異なる第2のビット値を生成することとを含む、請求項1〜6のいずれか1項に記載の方法。
  8. 前記特定の列から入力キャッシュに値をロードするとともに前記フィルタリングユニットに前記宣言を前記値に適用させることによって、宣言結果を生成することは、
    メモリの第1のブロックに格納された前記特定の列から第1組の値をロードすることと、
    前記フィルタリングユニットに、前記宣言を前記第1組の値に適用させることによって第1のビットベクトルを生成することとを含み、前記第1のビットベクトルは、前記宣言によって指定された前記条件を満たす、メモリの前記第1のブロック内に格納された値を有する、前記テーブルの行を特定し、
    メモリの第2のブロックに格納された前記特定の列から第2組の値をロードすることと、
    前記フィルタリングユニットに、前記宣言を前記第2組の値に適用させることによって第2のビットベクトルを生成することとを含み、前記第2のビットベクトルは、前記宣言によって指定された前記条件を満たす、メモリの前記第2のブロック内に格納された値を有する、前記テーブルの行を特定する、請求項1〜7のいずれか1項に記載の方法。
  9. 前記フィルタリングユニットに前記宣言を前記値に適用させることは、前記フィルタリングユニットに、前記特定の列からの複数の値に対して前記宣言を同時に適用させることを含む、請求項1〜8のいずれか1項に記載の方法。
  10. 1つ以上のプロセッサにより実行されると請求項1〜9のうちいずれか一項に記載の方法を実行させる命令を含むコンピュータ読取可能なプログラム
  11. フィルタリングおよび射影動作を実行するためのシステムであって、
    制御ユニットを備え、前記制御ユニットは、
    テーブルを対象とするクエリの結果をフィルタリングするための基準を指定する一組の宣言を受けるように、かつ、
    前記テーブルの特定の列に対する条件を指定する、前記一組の宣言のうちの特定の宣言を適用するように回路をプログラミングしてフィルタユニットの再構成可能なハードウェアにするように構成され、
    フィルタユニットを備え、前記フィルタユニットは、
    前記特定の列から値を受け前記特定の宣言を前記値に適用するように、かつ
    前記特定の宣言によって指定された前記条件を満たす、前記特定の列の中の値を有する、前記テーブルの行を特定するビットベクトルを生成するように構成され、
    射影ユニットを備え、前記射影ユニットは、
    前記ビットベクトルに少なくとも一部基づき、前記クエリの結果として返す行を選択するように、かつ
    前記選択された行を前記クエリに対する結果として返すように構成される、システム。
  12. 前記宣言は、前記クエリに対応付けられた一組の宣言のうちの第1の宣言であり、
    前記制御ユニットはさらに、前記テーブルの第2の列に対する第2の条件を指定する、前記一組の宣言のうちの第2の宣言を用いて第2の回路をプログラミングして前記フィルタユニットの再構成可能なハードウェアにするように構成され、
    前記フィルタユニットはさらに、
    前記第2の列から値を受け前記第2の宣言を前記値に適用するように、かつ
    前記第2の列の中で前記第2の宣言によって指定された前記第2の条件を満たす値を有する、前記テーブルの行を特定する第2のビットベクトルを生成するように構成され、
    前記システムはさらに結合ユニットを備え、前記結合ユニットは、ビット単位の演算子を適用することによって第1のビットベクトルを前記第2のビットベクトルと結合することによって第3のビットベクトルを生成するように構成され、
    前記射影ユニットは、
    前記第3のビットベクトルを用いて前記第1の宣言および前記第2の宣言双方を満たす行を特定するように、かつ
    前記第1の宣言および前記第2の宣言双方を満たすものとして、前記第3のビットベクトルによって特定された行を選択するように構成される、請求項11に記載のシステム。
JP2015528521A 2012-08-20 2013-08-13 フィルタリング/射影動作のハードウェア実装 Active JP6305406B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/590,032 2012-08-20
US13/590,032 US9727606B2 (en) 2012-08-20 2012-08-20 Hardware implementation of the filter/project operations
PCT/US2013/054808 WO2014031393A1 (en) 2012-08-20 2013-08-13 Hardware implementation of the filter/project operations

Publications (3)

Publication Number Publication Date
JP2015532748A JP2015532748A (ja) 2015-11-12
JP2015532748A5 true JP2015532748A5 (ja) 2016-09-29
JP6305406B2 JP6305406B2 (ja) 2018-04-04

Family

ID=49034238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015528521A Active JP6305406B2 (ja) 2012-08-20 2013-08-13 フィルタリング/射影動作のハードウェア実装

Country Status (5)

Country Link
US (1) US9727606B2 (ja)
EP (1) EP2885727B1 (ja)
JP (1) JP6305406B2 (ja)
CN (1) CN104685499B (ja)
WO (1) WO2014031393A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600522B2 (en) 2012-08-20 2017-03-21 Oracle International Corporation Hardware implementation of the aggregation/group by operation: filter method
US9563658B2 (en) 2012-08-20 2017-02-07 Oracle International Corporation Hardware implementation of the aggregation/group by operation: hash-table method
US9176999B2 (en) * 2012-09-13 2015-11-03 International Business Machines Corporation Multiplication-based method for stitching results of predicate evaluation in column stores
US9235564B2 (en) * 2013-07-19 2016-01-12 International Business Machines Corporation Offloading projection of fixed and variable length database columns
US9275168B2 (en) * 2013-07-19 2016-03-01 International Business Machines Corporation Hardware projection of fixed and variable length columns of database tables
US9582540B2 (en) 2014-08-21 2017-02-28 International Business Machines Corporation Feedback mechanism providing row-level filtering earlier in a plan
US20160063050A1 (en) * 2014-08-28 2016-03-03 Joerg Schoen Database Migration Consistency Checker
JP6871504B2 (ja) 2016-12-27 2021-05-12 富士通株式会社 情報処理装置、データロードプログラム及びデータロード方法
US20190378028A1 (en) * 2018-06-08 2019-12-12 Microsoft Technology Licensing, Llc Accelerating machine learning inference with probabilistic predicates
US11841845B2 (en) 2021-08-31 2023-12-12 Lemon Inc. Data consistency mechanism for hybrid data processing
US11789936B2 (en) * 2021-08-31 2023-10-17 Lemon Inc. Storage engine for hybrid data processing
TW202336577A (zh) * 2022-01-05 2023-09-16 以色列商紐羅布萊德有限公司 處理系統
US11853239B2 (en) * 2022-04-11 2023-12-26 Western Digital Technologies, Inc. Hardware accelerator circuits for near storage compute systems

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519245B2 (ja) * 1987-05-15 1996-07-31 株式会社日立製作所 情報検索装置
JPH04199275A (ja) * 1990-11-26 1992-07-20 Oki Electric Ind Co Ltd データベース検索装置
JPH04320572A (ja) * 1991-04-19 1992-11-11 Toshiba Corp データ処理装置
US5511190A (en) 1995-01-20 1996-04-23 Tandem Computers, Inc. Hash-based database grouping system and method
US5655080A (en) 1995-08-14 1997-08-05 International Business Machines Corporation Distributed hash group-by cooperative processing
US5706495A (en) 1996-05-07 1998-01-06 International Business Machines Corporation Encoded-vector indices for decision support and warehousing
US5884229A (en) 1996-06-10 1999-03-16 Exxon Production Research Company Method for measuring lateral continuity at a specified subsurface location from seismic data
US5884299A (en) 1997-02-06 1999-03-16 Ncr Corporation Optimization of SQL queries involving aggregate expressions using a plurality of local and global aggregation operations
JP2000132584A (ja) * 1998-10-27 2000-05-12 Hitachi Ltd Hdl入力方法及び装置
JP2000187668A (ja) 1998-12-22 2000-07-04 Hitachi Ltd グループ化方法と重複排除方法
US6934712B2 (en) 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
US6598041B1 (en) 2000-09-07 2003-07-22 International Business Machines Corporation Method, system, and program for processing modifications to data in tables in a database system
US6581055B1 (en) * 2000-09-11 2003-06-17 Oracle International Corporation Query optimization with switch predicates
CA2327167C (en) * 2000-11-30 2007-10-16 Ibm Canada Limited-Ibm Canada Limitee Method and system for composing a query for a database and traversing the database
US6571233B2 (en) * 2000-12-06 2003-05-27 International Business Machines Corporation Optimization of SQL queries using filtering predicates
US6996569B1 (en) 2001-06-20 2006-02-07 Microstrategy Incorporated Systems and methods for custom grouping of data
US6823329B2 (en) 2002-04-02 2004-11-23 Sybase, Inc. Database system providing methodology for acceleration of queries involving functional expressions against columns having enumerated storage
US6732354B2 (en) * 2002-04-23 2004-05-04 Quicksilver Technology, Inc. Method, system and software for programming reconfigurable hardware
US6957225B1 (en) * 2002-05-07 2005-10-18 Oracle International Corporation Automatic discovery and use of column correlations in tables
US7111025B2 (en) * 2003-04-30 2006-09-19 International Business Machines Corporation Information retrieval system and method using index ANDing for improving performance
US7433886B2 (en) 2003-10-24 2008-10-07 Microsoft Corporation SQL language extensions for modifying collection-valued and scalar valued columns in a single statement
US7469241B2 (en) 2004-11-30 2008-12-23 Oracle International Corporation Efficient data aggregation operations using hash tables
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
US7974976B2 (en) * 2006-11-09 2011-07-05 Yahoo! Inc. Deriving user intent from a user query
US7870398B2 (en) * 2007-01-25 2011-01-11 International Business Machines Corporation Integrity assurance of query result from database service provider
US7996387B2 (en) * 2007-07-27 2011-08-09 Oracle International Corporation Techniques for extending user-defined indexes with auxiliary properties
US9524317B2 (en) 2007-08-24 2016-12-20 International Business Machines Corporation Optimization of aggregate queries in database management systems using an early out join when processing min and max functions
US8078595B2 (en) 2007-10-09 2011-12-13 Oracle International Corporation Secure normal forms
US8150850B2 (en) * 2008-01-07 2012-04-03 Akiban Technologies, Inc. Multiple dimensioned database architecture
US20090216757A1 (en) * 2008-02-27 2009-08-27 Robi Sen System and Method for Performing Frictionless Collaboration for Criteria Search
US8275761B2 (en) 2008-05-15 2012-09-25 International Business Machines Corporation Determining a density of a key value referenced in a database query over a range of rows
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US8285748B2 (en) * 2008-05-28 2012-10-09 Oracle International Corporation Proactive information security management
US8832112B2 (en) 2008-06-17 2014-09-09 International Business Machines Corporation Encoded matrix index
US20100030728A1 (en) 2008-07-29 2010-02-04 Oracle International Corporation Computing selectivities for group of columns and expressions
US9430526B2 (en) 2008-09-29 2016-08-30 Teradata Us, Inc. Method and system for temporal aggregation
US8478775B2 (en) * 2008-10-05 2013-07-02 Microsoft Corporation Efficient large-scale filtering and/or sorting for querying of column based data encoded structures
US8312038B2 (en) 2008-12-18 2012-11-13 Oracle International Corporation Criteria builder for query builder
US8285709B2 (en) * 2009-05-12 2012-10-09 Teradata Us, Inc. High-concurrency query operator and method
US8745031B2 (en) * 2009-05-28 2014-06-03 Oracle International Corporation Cache-based predicate handling for queries on XML data using uncorrelated path-based row sources
EP2290562A1 (en) 2009-08-24 2011-03-02 Amadeus S.A.S. Segmented main-memory stored relational database table system with improved collaborative scan algorithm
US8832142B2 (en) * 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US10311105B2 (en) 2010-12-28 2019-06-04 Microsoft Technology Licensing, Llc Filtering queried data on data stores
US8676834B2 (en) 2011-02-16 2014-03-18 International Business Machines Corporation Set-level comparisons in dynamically formed groups
US9563658B2 (en) 2012-08-20 2017-02-07 Oracle International Corporation Hardware implementation of the aggregation/group by operation: hash-table method
US9600522B2 (en) 2012-08-20 2017-03-21 Oracle International Corporation Hardware implementation of the aggregation/group by operation: filter method

Similar Documents

Publication Publication Date Title
JP2015532748A5 (ja)
JP2015532749A5 (ja)
JP2015537298A5 (ja)
JP2020500365A5 (ja)
JP2016535373A5 (ja)
JP2017537367A5 (ja)
JP2008310524A5 (ja)
JP6739513B2 (ja) Dmb操作を伴うロード/ストア操作を使用するロード獲得/ストア解放命令の実装
WO2016036830A4 (en) Executing graph-based program specifications
JP2017529591A5 (ja)
JP2016537726A5 (ja)
JP2016514299A5 (ja)
JP2016530631A5 (ja)
JP2016537725A5 (ja)
JP2017532657A5 (ja)
JP2015527642A5 (ja)
JP2016511470A5 (ja)
JP2015519654A5 (ja)
JP2013175036A5 (ja)
US9898287B2 (en) Dynamic wavefront creation for processing units using a hybrid compactor
US9940167B2 (en) Identifying memory devices for swapping virtual machine memory pages
CN105701040A (zh) 一种激活内存的方法及装置
RU2015103934A (ru) Процессор компьютера и система без арифметико-логического блока
JP2014132490A5 (ja)
KR20170052432A (ko) 제로값을 피연산자로 갖는 연산자에 대한 연산을 스킵하는 연산 방법 및 연산 장치