Yabu.log

ITなどの雑記

プログラマのためのSQL 読書会(27)に参加

余談ですが参加者にdbtech show case tokyo 2018の参加者も多かったので、そちらの話題で雑談などが盛り上がりました。*1

「29.7ビット単位の集約関数」から読みました。

プログラマのためのSQL 第4版

プログラマのためのSQL 第4版

適切に設計されたOLTPデータベースは正規化されている。通常、DWHはスタースキーマスキーマまたはスノーフレークスキーマを採用しており、これはかなり非正規化されている。

ペタバイト以上のデータを持つ企業

ペタバイト以上のデータを持つ企業だと書かれているが、 このほんの情報は古く、2014年時点では売上10億ドル以上の 企業の56パーセントが 1PB以上のデータを管理している*2

  • 巨大なデータを扱うDB

  • dbtech show caseで話題のMySQL8.0の環境構築がうまくいかなかった

  • MySQL Sandboxで独立した環境を構築できる

    • dbdeployerも検討すべき。
  • MySQLはなぜ5の次が8なのか

  • 11月にpostgreSQLのカンファレンスおすすめ

  • P.562のクエリがおかしい

▼P.562

SELECT B.region_nbr, S.city_id, SUM(S.sales_amt) AS total_sales
  FROM SalesFacts AS S, MarketLookup AS M
 WHERE EXTRACT (YEAR FROM trans_date) = 2011
   AND S.city_id = B.city_id
   AND B.region_nbr = 6
 GROUP BY ROLLUP(B.region_nbr, S.city_id);
  • Bという別名はどこから出て来たのか。(Mではないのか?誤植?)
  • このSQLを実行できるTableが書かれていないのでそちらも欲しい

  • 99年にANSI SQLRoll up,Cube関数が入った

  • 最新のMySQLにwindow関数に対応した
  • 最新のSQLiteはWindow関数に対応した
  • CUME_DIST()関数
    • 初めて見たので検証予定
  • Window Frame
    • 理解しきれてないので検証予定

前職ではウインドウ関数を多少していたのですが*3、WindowFrameを弄ったりは普段やりません。*4 ので、この辺は技術検証の必要があるかなと思います。

次は「30.6ベンダー拡張」から!

*1:参加されていない方申し訳ない

*2:http://www.jdsf.gr.jp/backup/stm/img/201507/01.pdf

*3:ウインドウ関数簡単なものなら空でかけます

*4:普通はウインドウ関数もあまり利用しないと思いますが、プロダクションのSQLの品質が疑わしい場合かなり使えます