LoginSignup
1
0

More than 1 year has passed since last update.

TableauでPostgreSQLとDr.Sumの速度比較をしてみた

Last updated at Posted at 2021-09-21

最初に

日本で20年以上も愛されている、国産の超高速集計データベースであるDr.Sum
世界でも日本でも大人気のセルフサービスBIツールの代表格であるTableau

2021年9月22日のDr.Sumのバージョンアップにより、この2つのツールの接続が可能になりました。

さっそく動きを見てみたくて、実際につないでみました❗️

Dr.Sum とは

【詳細はこちら】Dr.Sumは10億件のデータを1秒台で集計できる超高速データベースツールです。

高速のディスク集計と、ハイブリッドで使える超高速のメモリ集計をつかいながら、最適な運用コストでのパフォーマンスを実現します。
image.png

また、Dr.Sumは集計速度だけでなく、データベース構築経験の少ない方でもGUI操作でDBをつくったり、データを取り込んだりできます。
データベース周りにそこまで強くないぼくのような人間でも、気軽にデータハンドリングができるところが素敵です。

さて、Dr.Sumという製品は単純にデータベースがあるだけではなく、様々なオプション製品を加えることで、多様な使い方が可能です。

image.png

詳しくは公式ホームページをご参照いただきたいのですが、
✅ データを抜いて
✅ データを加工して
✅ データを貯めて
✅ データを高速集計する
ことが可能となります。

製品の一覧はこちら

Tableau とは

【詳細はこちら】Tableauは世界で愛される、直感的操作でデータ分析が実現できるBIツールです

ぼくが思う、Tableauの素晴らしい点は2つ。
ひとつは、個人がデータを武器に価値を創造していくときの最強のツールであるという点
もうひとつは、コミュニティーという共通の目標を持つ企業をまたいだ社会の実現の両者を兼ね備えている点です。
個のスキルを高め、集団で収斂するという考えです。

ツールだけで見ても、「データを分析する」という視点に立ち、データの準備が簡単にできたり、
直感的に操作で、思考を止めずにデータの分析ができるという優れものです。

DataSaberという資格制度が特徴的で、師匠が弟子を育てる形で企業を超えたTableau文化が根付いております。
ツールの性能やそのコミュニティー、どれも世界クラスの製品です。

   

2021年9月22日の段階では、Dr.Sum接続はTableau PrepとTableau Onlineには対応していません。 本記事もTableau Serverとの接続を記載します。

さて、今回はDr.Sumって集計速度が早いと言われていますが、それは実際に他と比較してどれくらい早いのかを試してみたという内容です。
ゴリゴリの他社比較や精密に同条件での比較などはおこないません。
フリーのPostgreSQLにDr.Sumと同等のデータを入れて、Tableauでそれぞれスピードを比較してみようと思います。

「あーDr.Sumってデータ集計専門ツールだけに、他と比べても早いんだぁ」ってことがわかれば幸いです。

早速やってみましょう。   

まずはデータを確認する

今回使用するデータはWING_MALLというデータで、2000万件あります。
2000万件、まぁまぁのデータ量ですね。
(余談ですが10年前くらいは2000万件はまぁまぁとは言えず、大きなデータだなぁと思ったものです。)

image.png

Dr.Sumは通常のディスク集計と、インメモリ集計ができるハイブリッド構造です。インメモリにすると爆速になります。
2000万件のテーブルはディスク集計です。1億件以下であればディスク集計で十分に対応できます。

中に入っているデータはこのような感じです。
名称だけを持ってきているような、わかりやすいデータ構造です。
image.png

TableauでDr.SumとPostgreSQLのそれぞれにつないで、下記のような形にしておきます。

置く場所 置くもの
なし
大分類名称、中分類名称、小分類名称
合計 売上金額

image.png

これで準備完了です。
この状態から、月度の項目を列に入れてみましたので、そこでスピードをチェックしましょう。

Dr.Sumの速度

[クエリ実行中]的な待ち時間が一切発生せず、集計が終了しました。
testDS2.gif

物足りないので、[年度]+[月度]としてみましたが、それでも待ち時間は発生しませんでした。
testDS3.gif

PostgreSQLの速度

すみません、静止画です。
image.png

月度を置いて、4:14秒かけて、画面が表示されました。
怖くてとても年度は置けませんでした。
それほどに集計時間に差がありますね。

ちょっと弁解

これは何もPostgreSQLが悪いということではありません。
そもそもPostgreSQL、Oracle、SQLServerなどのリレーショナルデータベースはテーブルとテーブルを結合して、いろいろなテーブルから取得した1行のレコードをとることに長けた仕組みです。
そのRDBに何千万件のレコードを集計させるのは、そもそもアーキテクチャーとして不利なのです。
Dr.Sumはカラム型DBという集計に特化したデータベースです。集計を高速化するために生まれました。
裏を返すと、キーで結合する作業は得意ではありません。UPDATEの処理などはRDBより遅いです。

これでは終われん

比較があっさり終わってしまったので、もうちょっとDr.Sumで遊んでみます。

1億件のディスク集計をやってみました。
さすがにキツそうです。すべての項目を置くのに1分近くかかりました。
testDS4.gif

Dr.Sumでもディスク集計だと1億件は結構キツイです。
では、同じデータをインメモリ化したテーブルではどうでしょう。

まったくストレスなく操作ができますね。
testDS5.gif

この通り、1億件くらいですとノンストレスでデータ分析を行うことができます。
ちなみに10億件のデータでも試してみました。
その詳細は下記の記事でございます。

最後に

いかがだったでしょうか。
Dr.Sumの速度が体感できたのではないかと思います。

上述しましたが、データベースには得意技があります。よって向き不向きが発生します。
UI側も同じです。Tableauで得意なところ、MotionBoardで得意なところのそれぞれが存在します。

TableauとDr.Sumが組み合わさると、データガバナンスの効いた、高速集計ができるセルフサービスBIが実現できます。
いろいろな企業がBIツールの利点を引き出しながらつかっていただけると、BIマニアとして嬉しいなと思います。

その他の関連記事を下記に載せておりますので、ご興味がありましたらご参照ください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0