Vector wise presen


Published on

「日本JasperServerユーザ会(JJSUG)第7回勉強会」「分析用DB Ingres VectorWiseについて(野田)」の資料です。

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Ingres VectorWise’s differentiator is to unlock the power of modern chips. This must be the focus. No other relational database vendor does this.
  • This slide compares IngresVectorWise data processing performance against Oracle and HP Neoview. While especially HP Neoview is not a direct Ingres VectorWise competitor this product is included in the comparison because a number was publicly available (while generally most vendors don’t have any information publicly available). The links to the resources are included on the slide.Make an assertion that other relational databases will be in the same range as Oracle and HP Neoview.
  • This is an imaginary example. 1 table with (only) 10 columns, and assume every column is 1/10th of the table size. The performance difference gets even more staggering as the table has more columns (and in a data warehouse it is common to see wide tables).Both Oracle and HP Neoview use a row-based architecture (see below for Oracle Exadata). I.e. both Oracle and HP Neoview will have to load all table data in order to process this simple query. Ingres VectorWise only accesses the 2 columns it requires to answer the query so it requires only 2/10th of the data.Per core processing speaks for itself, so if we assume there is no parallelism then the data processing time is dramatically faster with Ingres VectorWise (~38 times faster than Oracle).HP Neoview will not run a query without using parallelism. However, you need to run at about 50x parallelism to get down to 13 seconds. This is going to require a lot more hardware and will introduce complexity. Similarly, Oracle can run in parallel. Or in Oracle you could create a materialized view that happens to contain only the 2 columns you need and only scan 20 rather than 100 GB. However then the query would still take 100 seconds and someone has to tune the database to make this happen.Oracle Exadata implicitly provides the same benefits columnar access provides if you run the query in parallel. I.e. it is certainly possible to get the query in Oracle (or HP Neoview for that matter) down to 13 seconds but it takes a lot more hardware and/or tuning effort. Ingres VectorWise provides this performance out-of-the-box, with no tuning.
  • This slide shows an example of the traditional database processing at the CPU level – tuple by tuple, versus Ingres VectorWises more efficient vector-based processing: apply the same operation to a set (vector) of data at the time.
  • Access to data on disks requires millions of CPU cycles, and can be achieved at 40 to 100 MB/s (for spinning disks – Solid State Disks (SSD) will deliver higher throughput). Access to RAM is a lot more efficient than access to disk. It requires a few hundred CPU cycles to access data in RAM, and a throughput of 2-3 GB/s can be achieved when data is read out of RAM. Access to chip cache however is by far the most efficient was to get access to data. It takes a handful of CPU cycles to access the data and throughput of up to 10 GB/s can be achieved in the disk cache.Ingres VectorWise pre-fetches compressed data from disk to load it into RAM (compressed) and uses the chip cache as the only true processing memory. As a result data processing with Ingres VectorWise is a lot more efficient than other relational database technologies.
  • Ingres VectorWise uses column-based storage. Analytic queries rarely access all columns of the tables accessed in the query. Column-based storage ensures that only relevant data is accessed.Ingres VectorWise features an innovative approach to incremental DML called Positional Delta Trees (PDTs). The PDTs enable efficient updates to the column-based store. Traditionally incremental DML has been an Achilles heel for column-based stores.
  • Ingres VectorWise automatically compresses all data that is stored in the column store. The compression algorithm varies per column depending on the data type, but is automatically chosen by Ingres VectorWise. The algorithms Ingres VectorWise uses are optimized for high speed decompression in order to support the high throughput requirements. Decompression is vectorised just like other functions that operate on the data.In order to obtain maximum throughput Ingres VectorWise pre-fetches compressed data blocks from disks, loads them compressed into memory (into the so-called Column Buffer Manager) and only decompresses the data when it is ready to be processed. As mentioned earlier the chip cache is used as the only true random access memory delivering optimum throughput.
  • As data is loaded into Ingres VectorWise the database automatically creates and maintains a storage index. The storage index is very small relative to the table size and stores minimum and maximum information for data blocks. Based on the information in the storage index the database can very quickly identify candidate data blocks. This is another way Ingres VectorWise minimizes IO necessary to answer queries.
  • Vector wise presen

    1. 1. Ingres VectorWise<br />Technical Overview – 21 Jun 2011<br />
    2. 2. アジェンダ<br />© 2010 Ingres Corporation<br />Slide 2<br />
    3. 3. Ingres VectorWiseとは?<br />分析・解析用のリレーショナル・データベース<br />分析のための問合せが他のRDBMS より高速<br />最近のCPUの持つ能力を最大限発揮<br />安価な汎用サーバーで動作<br />© 2010 Ingres Corporation<br />Slide 3<br />10倍 – 70倍の性能向上<br />
    4. 4. Ingres VectorWiseアーキテクチャ<br />© 2010 Ingres Corporation<br />Slide 4<br />企業向け<br />データウェアハウス<br />BI、レポート<br />アプリケーション<br />エンド<br />ユーザ<br />ETL<br />ERP<br />CRM<br />データマート<br />SCM<br />アドホック検索<br />ダッシュボード<br />統計<br />データマイニング<br />分析<br />レガシー<br />分析DB<br />OLTP<br />
    5. 5. Ingres VectorWiseの特徴<br />特徴<br />最近のCPUが持つ機能をフルに活用<br />自動的なベクトル処理で解凍、結合、計算<br />CPUのキャッシュをRAMとして使用<br />更新可能なカラム毎の格納方式<br />実証されている技術<br />カラム毎の格納方式<br />自動的な圧縮<br />自動的な格納インデックス<br />© 2010 Ingres Corporation<br />Slide 5<br />
    6. 6. Ingres VectorWiseデータ処理の比較<br />© 2010 Ingres Corporation<br />Slide 6<br />O社DBMS(行ごと格納)200 MB/s – コアあたりのデータ処理スループット。CPUに依存。<br />(<br />H社DBMS(行ごと格納) 150 MB/s – コアあたりのデータ処理スループット。<br />(<br />Ingres VectorWise(カラム毎の格納) 1.5 GB/s – コアあたりのデータ処理スループット。<br />
    7. 7. データ処理性能の例<br />© 2010 Ingres Corporation<br />Slide 7<br /><ul><li>シナリオ
    8. 8. 1テーブルでカラムが10あり、各カラムは、テーブルの1/10のサイズ
    9. 9. テーブルサイズは、100GB</li></ul>select <c1>, sum <c2> from <table> group by <c1><br />* リニアーなスケーラビリティを仮定<br />
    10. 10. 高速化で、より良い分析<br />即時にインタラクティブにデータを分析<br />時間をかかるデータ準備作業が不要<br />より多くのデータを分析<br />よりデータを活用<br />より多くのユーザがデータを分析<br />より多くのアプリケーションからデータをアクセス<br />© 2010 Ingres Corporation<br />Slide 8<br />
    11. 11. より廉価なコストで高速に結果<br />高速なデータベース設計<br />特別なエキスパートがスキーマを設計する必要なし<br />インデックス設計やマテリアライズドビュー、投影などが必要なし<br />継続的なチューニングが不要<br />安価なx86ベースの汎用サーバー・PCで動作<br />1 CPUで20CPU以上の作業をこなす<br />単一のサーバで複雑な複数ノードのクラスターを超える<br />運用や空調のエネルギー使用・コストを低減<br />メンテナンスコストを低減し、故障も少なくなる<br />© 2010 Ingres Corporation<br />Slide 9<br />
    12. 12. Ingres Business Intelligence Partners<br />© 2010 Ingres Corporation<br />Slide 10<br />
    13. 13. Ingres VectorWiseの実績<br /> The Rohatyn Group : ニューヨークにあるヘッジファンド企業(<br />イギリスにあるトップクラスの銀行<br />イギリスにあるトップクラスの大学<br />ニューヨークにあるB2CのEコマース企業<br />カナダにある電話会社<br />ポーランドにあるソーシャルネットワークサービス企業<br />フィリピンにある政府系金融企業<br />オーストラリアにある航空会社<br />© 2010 Ingres Corporation<br />Slide 11<br />2011/3時点<br />
    14. 14. Ingres Supports 10,000+ Clients Globally<br />© 2010 Ingres Corporation<br />Slide 12<br />
    15. 15. Ingres VectorWiseの技術<br />© 2010 Ingres Corporation<br />Slide 13<br />
    16. 16. 自動的にベクトル処理を活用<br />単一の命令で、何個ものデータを処理<br />© 2010 Ingres Corporation<br />Slide 14<br />SSE(ストリーミング SIMD 拡張命令)<br />16個の128bitのレジスタ<br /> (Intel Sandy Bridgeは256bit)<br />*32bit float *4<br />*16bit integer * 8<br />*8bit byte/char * 16<br /> etc.<br />*加減算、積除算、比較、最大最小など<br />*文字列の処理でSSE4.2が効果大<br /> (GROUP BYやLIKEなど)<br />SSE2はPentium4, AMD64以降<br />SSE3は後期Pentium4,<br />後期Athlon64以降<br />SSE4は後期Core2以降<br />=<br />Many <br />V’s <br />1<br />
    17. 17. CPUキャッシュ内で処理<br />CPUキャッシュのアクセスは、RAMより非常に高速<br />すべてのベクトルがCPUキャッシュ内に収まるように問合せの実行プランを作成<br />© 2010 Ingres Corporation<br />Slide 15<br />DISK<br />Millions<br />RAM<br />150-250<br />Time / Cycles to Process<br />CHIP<br />2-20<br />10GB<br />2-3GB<br />40-100MB<br />Data Processed<br />
    18. 18. 更新可能なカラム毎の格納方式<br />必要なデータだけにアクセス<br />効率的な”増分更新”が可能<br />以前のカラム毎の格納方式では、弱点だった<br />© 2010 Ingres Corporation<br />Slide 16<br />
    19. 19. 自動的な圧縮と解凍<br />複数のアルゴリズムを使ってカラム毎に圧縮<br />最適なものをIngresVectorWiseが自動的に使用<br />解凍はベクトル処理<br />CPUキャッシュ中でデータ処理<br />© 2010 Ingres Corporation<br />Slide 17<br />I/Oスループット<br />を最大化<br />CPUキャッシュ中に<br />解凍し格納<br />キャッシュ<br />カラム<br />カラム<br />バッファ<br />管理<br />解凍<br />CPU<br />Disk<br />RAM<br />RAMへの書き込み・<br />読み込みを削減<br />
    20. 20. 自動的な最小値/最大値の作成<br />いつでも自動的に作成<br />自動的にメンテナンス<br />データブロックごとに、最小値/最大値を維持<br />小さく、読み込みも速い(カラムサイズの0.1%以下)<br />候補となるデータブロックを効率よく見つけることが可能になる<br />© 2010 Ingres Corporation<br />Slide 18<br />
    21. 21. TPC-Hベンチマーク<br />性能で Ingres VectorWise がNon ClusteredでNO. 1(2011/6/15現在)<br />303,290 QphH@100GB<br />400,932 QphH@300GB<br />436,789 QphH@1000GB<br />コストパフォーマンスでIngres VectorWise がNon Clustered でNo. 1 (2011/6/15現在)<br />0.16 USD per QphH@100GB<br />0.35 USD per QphH@300GB<br />0.88 USD per QphH@1000GB<br />© 2010 Ingres Corporation<br />Slide 19<br />TPC-Hベンチマークとは( より引用)<br />The TPC Benchmark™H (TPC-H) is a decision support benchmark. It consists of a suite of business oriented ad-hoc queries and concurrent data <br />modifications. The queries and the data populating the database have been chosen to have broad industry-wide relevance. This benchmark illustrates <br />decision support systems that examine large volumes of data, execute queries with a high degree of complexity, and give answers to <br />critical business questions.<br />
    22. 22. TPC-Hベンチマーク比較<br />© 2010 Ingres Corporation<br />Slide 20<br />
    23. 23. Slide 21<br />