X

Big Data、Data Integration、Data Lakeに関するテクノロジー、製品・サービス情報、セミナー情報などをお届けします

Big Data SQL

Big Data Management

Big Data SQL - JOIN性能を向上するBloom Filter(ブルーム・フィルター)

Big Data SQLはOracle Databaseから素晴らしい機能を継承しています。ひとつはBloom Filter(ブルーム・フィルター)の活用です。この機能はOracle10g以降で利用可能で、JOIN性能の向上に使われます。具体例を示す前に、Bloom Filterとは何かを説明しましょう。 Bloom...

Big Data SQLはOracle Databaseから素晴らしい機能を継承しています。ひとつはBloom Filter(ブルーム・フィルター)の活用です。この機能はOracle10g以降で利用可能で、JOIN性能の向上に使われます。具体例を示す前に、Bloom Filterとは何かを説明しましょう。 Bloom Filter 概要 1). Input Bloom Filterは「要素Xは集合Yに存在するか?」というシンプルな問いに答える事ができるデータ構造です。答えは「絶対に違う」もしくは「存在するかもしれない」のどちらかになります。 Bloom Filterはビット配列であり、Bloom Filter の「配列の長さ」と、「複数のハッシュ関数(値に対し、配列の長さに準じた値を返す、例えば配列長が12なら1~12のどれかを返す)」が定義されています。 これから、集合Y("oracle",  "database", "filter"の3つの要素からなる)に、ある要素(例:"bytes")は、存在するか?について、調べていきます。...

Big Data Management

Big Data SQL - Parallel Queryを実行

もちろん、全てのクエリがオフロードできるわけではないし、SQLの全てのパートがCell(Storage)側で実行できるわけではありません。極めて複雑なクエリや、PL/SQLを含むものもあります。そのようなクエリの性能向上には、Oracle Databaseのパラレルクエリを使うことができます。パラレルクエリは、Big...

もちろん、全てのクエリがオフロードできるわけではないし、SQLの全てのパートがCell(Storage)側で実行できるわけではありません。極めて複雑なクエリや、PL/SQLを含むものもあります。そのようなクエリの性能向上には、Oracle Databaseのパラレルクエリを使うことができます。パラレルクエリは、Big Data SQLと一緒に使うこともできるし、ユーザやアプリケーション側からは全く違いがない(意識しなくて良い)のも利点です。 今回は2つのSQLを、それぞれシリアルクエリ・パラレルクエリとして実行した場合を見ていきます。 ①:ある複雑なクエリ ここで、ある複雑なクエリを見てみましょう。そのクエリは多くのフィルタリングリソースと、データベースリソース(ソート処理など)も必要です。オフロードできない関数である、RANKを見てみましょう。 SQL> select NAME, offloadable, AGGREGATE FROM v$sqlfn_metadata WHERE NAME = 'RANK'; NAME OFF AGG...

Big Data Management

Big Data SQL - 処理のオフロード(Smart Scan)

前回の投稿:Big Data SQLをはじめよう - Introduction や、 One Fast Query All your Dataを読んで、Big Data SQLがOracle Databaseを通してHadoop上のデータにクエリを実行することが出来る、ということが理解できたことでしょう。しかし、ただ...

前回の投稿:Big Data SQLをはじめよう - Introduction や、 One Fast Query All your Dataを読んで、Big Data SQLがOracle Databaseを通してHadoop上のデータにクエリを実行することが出来る、ということが理解できたことでしょう。しかし、ただ単にデータをREADしているだけではありません。Big Data SQLは、HDFS上に格納されたデータを処理して、クエリに必要なデータだけをDatabaseに返すことができます。(Exadataに詳しい方にはよく知られた「Smart Scan」することができます) Oracle DatabaseとHadoopを含むデータマネージメントシステムを想像してみましょう。 Engineered Systemである、Big Data ApplianceとExadataで、Big Data SQLを実行すると、アーキテクチャーは次の図のようになります。 それぞれの優位性は: データベースの良いところ トランザクショナルなワークロード...

Big Data Management

Big Data SQLをはじめよう - Introduction

これからBig Data SQLを動かすにあたり必要なステップを説明します。とても簡単!この記事を読んだ後、皆が私に賛同してくれることを願っています。まずはじめに、Big Data SQLが何か?を知りたければこちらのBlogをお勧めします。Oracle Big Data SQL: One Fast Query,...

これからBig Data SQLを動かすにあたり必要なステップを説明します。とても簡単!この記事を読んだ後、皆が私に賛同してくれることを願っています。まずはじめに、Big Data SQLが何か?を知りたければこちらのBlogをお勧めします。Oracle Big Data SQL: One Fast Query, Big Data SQL 2.0 - Now Available. (Big Data SQLのデザインゴールをカバーしています。) Big Data SQLのゴールの一つは透過性です。HDFSにあるディレクトリやHCatalogにあるテーブルをリンクするようなテーブルを外部表として定義するだけで、Oracle Database上のテーブルのように動作させることができます。製品ドキュメントも参考になるでしょう。 Big Data SQLをはじめよう Big Data SQLを使って、HDFS上に格...