Tableauで10億件データを集計してみた【Dr.Sum】

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

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

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


### Dr.Sum とは

https://www.wingarc.com/product/dr_sum/

https://www.wingarc.com/product/dr_sum/ds20th-anniversary/index.html

<details><summary>【詳細はこちら】**Dr.Sum**は10億件のデータを1秒台で集計できる超高速データベースツールです。</summary><div>
高速のディスク集計と、ハイブリッドで使える超高速のメモリ集計をつかいながら、最適な運用コストでのパフォーマンスを実現します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e8924330-f537-38f2-e276-ecdd0d96341d.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/12be6f13-7354-f58a-773c-b43934d30666.png)

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

[製品の一覧はこちら](https://www.wingarc.com/product/dr_sum/lineup/index.html)

</div></details>


### Tableau とは
https://www.tableau.com/ja-jp?_fsi=B8ciS5wl

https://datasaber.world/

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

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

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

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

　


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

:::note warn
2023年追記
現在ではTableau Prepとの接続も可能になっています。Tableau Onlineとの接続を待つばかりです。
:::

　


# Tableauで超高速集計をしてみた
今回の記事はDr.SumとTableauでどれくらいのデータ件数の分析ができるかを調査したという内容です。

いきなり結論ですが、10億件のデータでこの速度で分析できます。

![test1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/c4d4142d-771f-82e0-fc38-938ca4a42e60.gif)

問題なくサクサク見れてますね。

「いやいやいや、ホントに10億件なの？」って思う方もいらっしゃると思うので、こちらをご覧ください。
Tableauから見たカウント件数はこちらです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/f663dae3-f66c-ba61-fb24-0ce0b25782d9.png)

Dr.Sumから見たカウント件数はこちらです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/09a06616-90d6-c2c0-1fe2-eaf8c8056f9c.png)


どちらも1,000,000,000件という途方もない数値が表示されているかと思います。
この大量データがサクサク分析できるというのは、データ分析をする皆さんにとってとても嬉しいことだと思います。

# Dr.Sumはなんでこんなに早いのか
10億データがサクサク動く。
ここでは見せてないですが、20億や100億というデータでもちゃんと動きます。

Dr.Sumは通常のディスク集計の他にインメモリ集計という機能がございます。
ディスク集計でもじゅうぶんに早いのですが、10億くらいになるとインメモリ集計が望ましいです。

インメモリ集計は、当然ながらメモリ容量を圧迫しますので、必要なテーブルのみをインメモリ化することが望ましいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/607da255-107f-a95e-e3f7-813f39e13423.png)

上の画像では、[ロード済み]と記載のあるテーブルだけインメモリにして、残りはディスク集計です。
このように**ハイブリッドで活用できるのがDr.Sumの強みです。**

実際にテーブルをメモリに乗せる作業も、テーブルを右クリックして[インメモリ化]とするだけでOKです。
超お手軽です。


# 最後に
いかがでしたでしょうか。
もしTableauをお使いになられていて、データソース側の問題でレスポンスが出ていない場合、ぜひDr.Sumをご検討してみてはいかがでしょうか？
他にもこのような情報をそろえております。

https://qiita.com/Ryo---san/items/f9693757d117bdd30f1c

https://qiita.com/Ryo---san/items/186084aff28d25ad5ece

https://qiita.com/Ryo---san/items/4e41ed16675f4bbdbe21

https://qiita.com/Ryo---san/items/0fc608c476c3f5a42e0e