年に一度のデータベース界の同窓会的なイベント db tech showcase 2018 Day 1 に参加してきた。写真は懇親会でのマグロ解体ショー。
小幡さん、おつかれさまでした!
以下は聴講したセッションのメモ。
顧客理解のためのDWHにおける、ビッグデータ品質マネジメント
概要
サマリ
- DWHでどのようにデータ品質をチェックしているかというお話。
- データ処理の部分だけでなく、データソースもきちんとテストする必要がある。
- プロセス(データ処理部分)のテスト観点
- 課題
- 変更検知した場合のエスカレーション・コミュニケーションフローは別途必要。
- 実データをテストに使っているため、ガバナンス・環境上の問題が起きやすい。
- テスト実施コンピュートコストが高い(決して低くはない)。
質疑応答
- ETLツールでも同じようなことができるのではないか?
- データサイエンティストが使っていたチェック用のクエリをプロダクションに乗せている。
- RDBの制約などの機能でチェックできるのではないか?
- データサイズが大きいのでRDBではしんどい。
- 何に時間が一番がかかるか?
- データを知るのに時間がかかる。どこに何のデータがあるか。
- データディクショナリを作っているか
- 作っているが、変更が入るので最新には追いつかない。
Pgpool-IIではじめるPostgreSQLのクラスタ運用
概要
- 講師: 石井 達夫さん(SRA OSS, Inc. 日本支社 - 取締役支社長 / PostgreSQLコミッター)
- 講師略歴: 経営者でありながら現役のプログラマとして活動。日本人として始めて PostgreSQLコミッターになった。現在は、PostgreSQL専用ミドルウェアの Pgpool-II の開発に注力し、プロジェクトのオーガナイザーを努める。
- 概要: PostgreSQLに組み込みのレプリケーション機能を使うと、データベースサーバを複数使ったクラスタが容易に構築できます。しかし、運用局面や、アプリケーションからの利用となると、単一のPostgreSQLサーバでは起こらないような事態や、一筋縄では行かない問題が発生しがちです。本講演では、PostgreSQLのクラスタ利用での注意点やはまりどころを解説し、次にPgpool-IIを使ってこうした問題をどのように解決できるかを、デモを交えて説明します。
スライド
- To be uploaded
メモ
- P.9 の絵は複数のサーバプロセスがあるが簡略化した絵になっている
- P.11 一時テーブル、強いロックなどはスタンバイで使えない。
- 2010年に PostgreSQL 9.0 でトランザクションログの非同期レプリケーションが実装され、その後同期レプリケーションが実装され、現在、マルチマスタレプリケーションやシャーディングが開発されている。
- 参照だけスタンバイに接続する場合、アプリ側で振り分けを実装したり、参照でも一貫性を求めるものはマスターを見るなど考慮点が多いが、Pgpool-II はアプリに意識させなくてもよろしくやってくれる質実剛健な機能が豊富に揃っていると感じた。
- 紹介されていた Pgpool-II とレプリケーションによる構成は「レプリケーション」というと Oracle では Data Guard と比較しそうになるが、災害対策ではなく同一サイトでの耐障害性対策としての機能が多く、Oracle でいうと RAC と比較するのが適切なケースもあると感じた*1。優劣の比較ではなく各機能がどんな課題を解決するためにあり、Oracle ではどの機能がソリューションになるかという意味での比較。
爆速データレイクがほしい人向けImpalaパフォーマンスチューニング
概要
スライド
Impala のパフォーマンス・チューニングはI/Oとノード間通信を減らすのが肝で、Hive や Spark でも通用する話。小手先のクエリチューニングではなくデータ構造が命。PROFILE で時間ベースで分析しよう。といった内容で本質的で非常に分かりやすかった。Parquet の説明は今まで見た中で一番分かりやすかった。Impala は統計情報をベースにコストベースオプティマイザで動作しているとのこと、統計情報は Hive カタログに保存されているのだろうと思う。
分散DB Apache Kuduのアーキテクチャ - DBの性能と一貫性を両立させる仕組み「HybridTime」とは
概要
- 講師:佐藤 貴彦さん(Cloudera 株式会社 - セールスエンジニア)
- 講師略歴: 奈良先端技術大学院大学でネットワークの研究をし、インフラなど低レイヤーの技術が好きになる。卒業後はOracleで、データベースを中心にインフラ全般のコンサルティングなどを行う。その後、Basho TechnologyでNoSQL及び分散システムに触れ、現在はClouderaでHadoop関連技術を中心に、幅広く手がける。趣味はクライミング。共著で「絵で見てわかるITインフラの仕組み」を執筆。
- 概要: Apache Kudu は分析系クエリに強いカラムナー型の分散データベースです。KuduはOLTPとOLAPの両方のワークロードに耐えられる、HTAPと呼ばれる種類のDBで、昨年の #dbts2017では、Kuduの「速さ」について紹介しました。KuduはBI/DWHなど分析向けのDBといったイメージが強い一方で、 元々はGoogleのSpanner論文など触発されて開発されており、地理位置が離れたノード間でも一貫性を担保する仕組みを持っています。その仕組の元にあるのが、「HybridTime」と呼ばれるDBの内部時計です。今回はHybridTimeについて、その論文を紹介しながら仕組みに触れ、どのような特性を持っているのか、なぜこれがKuduの「速さ」にもつながるのかについてお話したいと思います。
*1:Data Guard も同一サイトの耐障害性対策としても使える