radioc@?

レディオキャットハテナ

【勉強会メモ】第7回 関西DB勉強会

kansaidbstudy.connpass.com

  • 日時:2017/12/16(土) 13:00 〜 19:00
  • 場所:Insight Technology 大阪支店

f:id:radiocat:20171217004000p:plain

今回もDBにまつわる様々なテーマが偏り無く扱われて密度の濃い勉強会だった。SSDの話は正直なところ専門的すぎて難しかったがDBの勉強会でもこのようなテーマが扱われるのは面白いと感じた。トレンドとしては各社とも分散データベースと列指向型データベースの技術の浸透が進んできている印象。GraphデータベースはNeo4jのような専用のソフトウェアがある中で既存のDBMSがどう扱うかはまだ試行錯誤中と感じた。いずれにしてもデータベースと言いつつカバーする範囲はどんどん広くなるなぁという印象。

新規ユーザ獲得のためのPostgreSQLエンジニアが知るべきMySQLのこと

Ionic Japan User Group 代表 榊原 昌彦さん

遅れて参加したため途中からのメモになります。

NoSQLの弱点

  • JSON型はアプリとDBが密結合になる
  • アプリレーヤーのPDCAを素早く回すかわりにデータベース構造のPDCAが回しにくい

Webデザイン

  • ペルソナ・UX⇒仮説⇒UIデザイン⇒検証⇒戻る
  • 検証を繰り返すUIデザインが重要

seleck.cc

PostreSQLを広げる

アプリレイヤーからフロントエンドまでデータベースエンジニアもアプリレイヤーに興味を持とう

  • TwitterやLINEですらアプリレイヤーはどんどん変化している
  • DB側からもアプリレイヤーを知っていて提案できる方がよい

SQL Server2017 ワンポイント紹介

SQLWorld おださん(@shinsukeoda)

www.slideshare.net

Graph DB

  • ノード
  • エッジ
    • 2つのノードをつなぐ
  • プロパティ
    • ノードとエッジの属性

Node Table

  • create tableas Node を付ける

Edge Tabe

  • create tableas Edge を付ける

データの追加

  • Node Tableのデータの追加は普通に insert
  • Edge Tableのデータの追加はNodeとNodeをつなぐ特殊な方法で insert

データの検索は match

  • where 文に match を書く
  • 例)where match (誰が - (好き) -> 誰を)

参考

Graph Database in SQL Server – Microsoft Japan Data Platform Tech Sales Team Blog

  • 通常のSQLで書くと複雑でバグる
  • Graphで書くほうがシンプルになる

制限事項

  • テンポラリテーブルで使えない
  • テーブル変数でも使えない
  • メモリ最適化テーブルにできない
  • EdgeテーブルのUPDATEで $from_id , $to_id を更新できない
  • クロスデータベースクエリは未サポート

まとめ

  • 複雑なつながりをシンプルなクエリで表現できる
  • Neo4jの代わりになるレベルではない
  • Graphでできることは通常のクエリでもできる

参考

channel9.msdn.com

DB2->Db2、バージョンも11と黙々と進化するDb2のテクノロジーアップデートと事例

野間愛一郎さん

DB2の3K

  • 聞いたことが無い
  • 聞きたくても人がいない
  • きつい(中のひと)

2017年:IBM DB2からIBM Db2(小文字)へ

Db2ファミリー

www.nicpartners.co.jp

Hybrid Data Management

  • 共通のSQLアクセス提供
  • 全ての環境で提供(クラウドからオンプレまで)

Db2の特徴

  • Graph2011年ぐらいに実装済
  • JSONも普通に使える
  • XMLもガチのXMLDB並みのパフォーマンス
  • 列思考型のカラムナーを持っていて通常のSQLと一緒に使える

シェアードナッシングアーキテクチャ

  • データが増えてくるとパーティションの考え方がまた必要になってくるのではないか

BLUアクセラレーション

1TB未満でどっちもやりたい人向け

  • コストがかからずリソースが限られた中で使い勝手が良いかも

圧縮機能

  • デフォルトは辞書ベース
    • 辞書ベースに加えてページ単位で圧縮するなどのダブルで圧縮する方法もある
  • 圧縮すると遅くなる?⇒I/Oが減って早くなることもある

Db2 pureScale

it.impressbm.co.jp

BM DB2 pureScale Feature の概要

フェデレーション

  • DBLink
  • いろんなデータソースに繋がる

Common SQL Engine

enterprisezine.jp

Db2 11.1

DB2 バージョン 11.1 の特長

Db2を試す

www.ibm.com

Docker Storeにもある

Docker Store

MariaDBカラムナーベンチマークしちゃいましょ

japan mariadb user group代表 カワノさん

www.slideshare.net

CloumnStoreとは

  • チューニングレスで高い検索パフォーマンスを実現するDWH特化型データベース
  • 分析/集計処理に最適なカラムストアエンジン
  • MySQLとの互換性
  • 専用HW不要
  • リニアにスケールアウト

対称型マルチプロセッシング(SMP)

  • 分散処理…マルチコア対応

Extent Map

mariadb.com

Transaction

InnoDB vs ColumnStore検証

www.slideshare.net

HammerDB

Scale Factor 10ぐらいで作る(1だとExtent Mapが作られない)

データサイズ

  • InnoDBと比較して51%減
  • 大幅なDisk I/O削減が期待できる

github.com

ベンチマーク結果

  • 最大レスポンス
    • InnoDB⇒234.23sec
    • ColummnStore⇒12.48sec

ColumnStoreのようが遅くなっているものもそれなりにある

実行計画の調査

  • PBE=0
    • エクステントマップのパフォーマンスが発揮できていない

まとめ

  • ColumnStoreはInnnoDBと比較して7倍高速
  • 並列処理の恩恵のみ
  • TPC-Hだとエクステントマップの恩恵は受けられない

SF100~大きなデータサイズでの検証

  • 設定書き換えが必要

Flight Data Analysis : MariaDB InnoDB vs ColumnStore

www.youtube.com

今すぐ、触れて理解するSAP HANA

SAPジャパン 新久保 浩二さん

SAP HANA express edition

www.sapjp.com

SAP HANA インメモリープラットフォーム

www.sap.com

Translytical Data Platforms

特徴

デフォルトはカラム型

  • create cloumn_table …column Store
  • create table …row store

www.publickey1.jp

参考情報

www.atmarkit.co.jp

[図解]インメモリーコンピューティングSAP HANAのテクノロジー解説

  • トランザクションの最小単位は行レベルロック
  • データ圧縮…ディクショナリー圧縮(デフォルト)
  • トランザクション分離レベル… READ COMMITED , REPEATABLE READ , SERIALIZABLE
  • スマートデータアクセス…DBリンク、ODBCでアクセス

SSDの虚実

インサイトテクノロジー 浅野さん

SSD vs HDD

  • SSDが絶対的有利でもない
  • 処理速度と故障率がSSD優位

Flash Memory Summit

flashmemorysummit.com

今年の話題

  • 3D-Xpoint
  • NVMe/PCIe Storage
  • NVMe Over Fabrics
  • 3D NAND

SSDに関する素朴な質問

◎Enterprise向けSSDのほうが良いか?

2013年ごろコンシューマ用のベンチマークエンタープライズ向けを評価していた

  • 2017年やめようと訴える

◎バックアップに使うのはどうか

  • バックアップウィンドウの縮小
  • 災害時のRPO
  • A2S2T(All-Flash Array to 廉価SSD to Tape)
  • コンシューマ用で充分

TLCはどうか

  • TLC or QLCで充分

製品寿命

エンタープライズSSDの場合、最小データ保持期間(40℃, 電源Off, 3ヶ月)は同じ

◎製品寿命を気にしたほうがいいか

  • SSD=限定製品保証なので保証期間中に使い切る
  • 余剰領域はWrite速度を設定するために利用
  • クリッピングツールはメーカーに問い合わせ

◎NVMe試用のSSDはどうか

  • SATA/SAS SSDまでは導入効果を簡単に体感
  • NVMe SSDはソフト側も対応が必要
  • 低いQueue Depthだと10%ほどしか性能差が出ない
  • NVMeの優れているところはプッシュ型から

SASSSDなくなる?

◎NVDIMM

  • 理想の記憶領域との乖離はまだある
  • メモリ形状型SSD
  • モリーモードとストレージモード
    • Log File Syncは4倍差があったTPMになると1.1倍差
    • モリーモードにしないとだめ

容量の問題

  • 2018年にはDAXモード対応
  • NVDIMMはBig dealを生むか?

  • NVDIMM-NはNo⇒128GDRAM⇒32G?

  • NVDIMM-FもNo⇒
  • NVDIMM-P⇒本命?
  • 本命はIntel persistant Memorry?

両者ともDRAMとの共存が前提

DRAMSSDの間を誰が埋めるか?

SSDの問題

  • 発熱量…高速になるほど発熱量が増える
  • 容量…2.5インチが小さいDRAMも増やす必要があってコンデンサが必要

Intel Ruler⇒2.5インチのまま長くする

MySQLの公式GUIツール MySQL Workbench

日本オラクル株式会社 MySQL GBU 山﨑 由章さん/ @yyamasaki1

www.slideshare.net

MySQL Workbenchでできること

  • MySQL Serverの管理
  • 開発支援
  • DB設計支援
  • データ移行

商用版とOSS版がある

MySQLサーバ管理

  • MySQLサーバーのリソース状態がリアルタイムで見れる
  • コネクション一覧
  • 実行中のSQLの確認
  • ユーザーと権限の管理
  • システム変数の管理
  • データエクスポート(mysqldump)
  • サーバログの管理
  • 設定ファイルの管理(SSHでサーバへの接続必須)
  • パフォーマンス状況の確認(Dashboard、レポート)
  • Performance Schemaの設定(5.5以前はスキーマを作る必要あり)
  • 監査ログの管理(商用版のみ)
  • Firewallルール設定と状態確認(商用版のみ)
  • バックアップ・リストア(商用版のみ)
  • スキーマ内の各オブジェクトの確認
  • SQL実行と結果の確認
  • クエリのStatistics, Explain確認
  • スニペットの管理・実行
  • ER図モデリング
    • DBDoc…ドキュメント化(商用版のみ)
  • マイグレーションOracleは非サポート)

MySQLSSD考慮

  • 5.5時代からSSDを意識した設定が可能

MySQL8.0

  • オプティマイザ・コストモデル
    • データがディスクにあるのかメモリにあるのかに応じて判断する機能