データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

Similar documents
内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

Joint Content Development Proposal Tech Docs and Curriculum

Oracle Database 12c

クエリの作成が楽になるUDF

無料セミナー資料:ビッグデータ管理基盤ソフトウェアHadoop入門

PowerPoint プレゼンテーション

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

Hortonworks Kitase

スライド 1

PowerPoint プレゼンテーション

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

PowerPoint Presentation

Microsoft Azure Service Fabric によるレジリエントなマイクロサービスの構築

Microsoft Word - Android_SQLite講座_画面800×1280

スライド 1

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

平成20年度成果報告書

スライド 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

PowerPoint Presentation

PowerPoint Presentation

ICDE’15 勉強会 R24-4: R27-3 (R24:Query Processing 3, R27 Indexing)

Microsoft PowerPoint - CloudBasic-6-cloudservices2.pptx

Microsoft PowerPoint pptx

iNFUSE インフューズ

SRA OSS, Inc. のご紹介 1999 年より PostgreSQL サポートを中心に OSS ビジネスを開始 2005 年に現在の形に至る 主なビジネス PostgreSQL, Zabbix などの OSS のサポート コンサルティング 導入構築 PowerGres ファミリーの開発 販売

スライド 1

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

PowerPoint プレゼンテーション

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

スライド 1

データマネジメントを取り巻く IT の課題 大規模データの実践的活用に向けて レッドハット株式会社 Senior Solution Architect and Cloud Evangelist 中井悦司 2012/04/13 version1.0

Hadoop Introduction

s

…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_

スライド 1

~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

標準化 補足資料

PowerPoint Presentation

Introduction

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

<4D F736F F D F B835E82CC8D8291AC8F88979D82F08FAC8C5E82A982C288C089BF82C88D5C90AC82C AC82B782E996A78C8B8D878C5E836E815B C695C097F18F88979D82F091678D8782B982BD8C768E5A8B

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2013-DBS-158 No /11/26 データ共有型マルチデータベースシステムにおけるクエリ効率化手法 齋藤和広 渡辺泰之 小林亜令 近年, データの大規模化やデータ利用の多様化に対応するために, 単

Oracle XML DB によるスケーラビリティおよびパフォーマンス検証 - MML v.3.0

ストリームデータ処理技術を利用したソリューションの紹介 -大量データのリアルタイム処理-

Basic descriptive statistics

MySQL Server 5.0 Load Data ベンチマーク

(Microsoft PowerPoint - \221\346\216O\225\224.ppt)

PowerPoint Presentation

2 JSON., 2. JSON,, JSON Jaql [9] Spark Streaming [8], Spark [7].,, 2, 3 4, JSON [3], Jaql [9], Spark [7] Spark Streaming [8] JSON JSON [

目次 はじめに Introduction Analyzing Big Data Vectorwise and Hadoop Environments Vectorwise Hadoop Connector Perform


今さら聞けない!? Oracle入門 ~前編~

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

RDBでCDB

PowerPoint プレゼンテーション

PowerPoint Presentation

Oracle Real Application Clusters 10g: 第4世代

OSSTechプレゼンテーション

Taro php.jtdc

PowerPoint プレゼンテーション

TFTP serverの実装

スライド 1

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

Cisco CallManager で SQL クエリーを使用したコール詳細レコードの検索

PowerPoint プレゼンテーション

APEX Spreadsheet ATP HOL JA - Read-Only

アナタの業務に システムをマッチさせるための仕組み

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

Chapter Two

データベース暗号化ツール「D’Amo」性能検証

Congress Deep Dive

業務用コンピュータサーバーに関する

VB実用Ⅲ⑩ フリーデータベースⅡ

9 WEB監視

Maser - User Operation Manual

PowerPoint Presentation

平成20年度成果報告書

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

MaxGauge_診断分析プロセス

Microsoft PowerPoint VIOPS.ppt

目次 DEV for CITIZEN 操作マニュアルの記載内容 ページ数 DEV for CITIZEN について DEV for CITIZEN に係る機能概要およびアクセス方法について記載しています P2 データを確認してみよう DEV for CITIZEN にて公開されているデータの確認方法

AWSSummitTokyo2018

Sharing the Development Database

Hadoop LZO圧縮機能の検証

ウェビナー資料

OSS 体験セミナー Hadoop の概要 高スケーラブルな分散管理基盤 2 つのコア機能 分散ファイルシステム (HDFS) 分散処理フレームワーク (Map/Reduce) BigData の管理基盤として注目 分散処理基盤 (Map/Reduce) Hadoop 分散ファイルシステム (HDF

Transforming Data Management

Chapter Two

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

untitled

OSS Mtg

データベースアクセス

Microsoft Word - JP-AppLabs-MySQL_Update.doc

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

2ACL DC NTMobile ID ACL(Access Control List) DC Direction Request DC ID Access Check Request DC ACL Access Check Access Check Access Check Response DC

<4D F736F F D FC8E448FEE95F1837C815B835E838B C8F92E88B608F912E646F63>

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

Transcription:

データセンターの効率的な 資源活用のためのデータ収集 照会システムの設計 株式会社ネットワーク応用通信研究所前田修吾 2014 年 11 月 20 日

本日のテーマ データセンターの効率的な資源活用のためのデータ収集 照会システムの設計 時系列データを効率的に扱うための設計 1

システムの目的 データセンター内の機器のセンサーなどからデータを取集し その情報を元に機器の制御を行うことで 電力消費量を抑制する 収集したデータの中長期的なトレンドを分析し 上記の制御を効率的に行うために活用する 2

アプリケーションの例 直近の値に応じて機器を制御するアプリケーション 値の推移をグラフで表示するアプリケーション 中長期的なトレンドを分析するためのバッチ処理 3

収集する主なデータ 時刻 データが発生した時刻 Epochからの経過マイクロ秒数 ( 精度は変更の可能性あり ) 整数値 データソースID データの発生源を表すID 整数値 値 データソースの種別によって意味が異なる値 温度 湿度 CPU 使用率 メモリ使用量 消費電力など 任意の整数値 4

性能上の課題 データ量 データソース数 1 コンテナあたり 20,000 点程度 データの取得間隔と保存期間 レイテンシ 取得間隔を 5 秒 保存期間を 1 年とすると 1 コンテナあたり約 126G records データの発生 ~ データの登録にかかるレイテンシ 問合せ ~ 応答にかかるレイテンシ 数百ミリ秒 ~ 数秒 同時アクセス数 5

Impala/BigQuery の採用 Impala Hadoop 上で動作する SQL クエリエンジン MapReduce の代りに独自の仕組みでクエリを分散実行する MapReduce を使用した SQL クエリエンジンである Hive に比べて メモリ使用量が大きい代りに高速 BigQuery Google が提供するビッグデータ分析サービス カラム型データストアとツリー構造のサーバ構成によりクエリを高速処理 6

データ登録のレイテンシ Imapala CSV を HDFS に書き込んだ上で Parquet フォーマットに変換 BigQuery レイテンシが高い Google Cloud Storage にアップロードした CSV/JSON ファイルを BigQuery にロード レイテンシが高い Streaming Insert で逐次登録 レイテンシが低い quota: 10,000 ~ 100,000 rows per sec コストが高い : $0.01 per 100,000 rows 100,000 rows per sec で一日分 = $864 10 万円 7

レイヤーの分離 Speed layer? DC Batch layer Hadoop BigQuery 8

各レイヤーの役割 Speed layer 機器の制御に利用するようなデータを扱う データの保存期間は短い 低レイテンシ 少データ Batch layer 分析に利用するため全データを扱う Speed layer のデータを含む データの保存期間は長い 高レイテンシ 多データ Speed layerのデータは一時的なもの 時間が経てばBatch layerにすべてのデータが格納される 9

システム構成 Speed layer Data Collector? Worker (Speed) Worker (Speed) API Server MQTT Broker Data Collector Impala Batch layer Worker (Impala) Worker (Impala) Message Queue API Server API Server Data Collector BigQuery Worker (BigQuery) Worker (BigQuery) 10

Speed layer のデータストア RDBMS or KVS? 11

シャーディング 行単位でデータを複数サーバに分散 シャードキーと呼ばれる特定の列の値によってデータを格納するシャードを決定する方法が一般的 シャードキーの選択 時刻をキーにする場合 そのままシャードキーに使用すると 常に現在の時刻が含まれるシャードに登録が集中し シャードの再配置が頻繁に起こる ハッシュ値によるシャーディングではその問題はないが 参照の局所性が失われる データソース ID をキーにする場合 特定のデータソースのデータを検索する場合は 一つのシャードにアクセスするだけでよいため効率的 同時刻のすべてのデータが欲しい場合には すべてのシャードに問合せが必要 12

時刻によるシャーディング node1 0:00~1:00 node2 3:00~4:00 node3 6:00~7:00 1:00~2:00 4:00~5:00 7:00~8:00 2:00~3:00 5:00~6:00 9:00~10:00 select data_source_id, value from log_data where time >= '04:00' and time < '04:05' 10:00~11:00 11:00~12:00 13

データソース ID による シャーディング node1 データソース 1 node2 データソース 4 node3 データソース 7 データソース 2 データソース 5 データソース 8 データソース 3 データソース 6 データソース 9 select data_source_id, value from log_data where time >= '04:00' and time < '04:05' 14

InfluxDB Time Series Database (TSDB) SQLライクなクエリをサポート 時刻の範囲によってシャードを分割 各シャード毎にLevelDBにデータを格納 15

LevelDB ネットワーク API を持たないシンプルな KVS キーによってデータがソートされている Sequential Read / Write が高速 複数のレベルに分けてデータを保存 新しいデータは Level-0 に入り 古くなるにつれてより容量の大きいレベルに移動 Bloom filter によって探索するレベルの枝刈り 16

InfluxDB のシャーディング node1 node2 node3 0:00~1:00 1:00~2:00 2:00~3:00 3:00~4:00 4:00~5:00 5:00~6:00 6:00~7:00 7:00~8:00 9:00~10:00 10:00~11:00 11:00~12:00 select data_source_id, value from log_data where time >= '04:00' and time < '04:05' 17

シャードの expire node1 node2 node3 0:00~1:00 1:00~2:00 2:00~3:00 一定期間が過ぎた 3:00~4:00 シャードは削除 4:00~5:00 5:00~6:00 6:00~7:00 7:00~8:00 9:00~10:00 10:00~11:00 18

シャーディング レプリケーションと負荷分散 参照は負荷分散できるが登録は負荷分散できない データソースでシャードを分ければ登録負荷を分散できるが 参照時に複数シャードへのアクセスが必要 node1 node2 node3 0:00~1:00 0:00~1:00 1:00~2:00 1:00~2:00 2:00~3:00 2:00~3:00 19

プレーンの分割 データソース 8000 点 / 8 コンテナを一つの単位 (= プレーン ) として InfluxDB クラスタを分割 クラスタ分割の前段階としてテーブル分割する? InfluxDB Cluster A PlaneID=A InfluxDB Cluster B Worker (Speed) Message Queue API Server App InfluxDB Cluster C 20

まとめ スケーラビリティと低レイテンシを両立させるためレイヤーを分割 Speed layerには時系列データに適したinfluxdbを採用 InfluxDBの性能限界を考慮したプレーン分割 21

補足 InfluxDBでは時刻以外の検索や集計処理に時間がかかる Continuous Query 入力データに対して検索 集計を継続的に実行 結果は別テーブルに保存 22

データソース毎の分割 データソース ID 毎に別のテーブルにデータを保存する select * from log_data into log_data.[data_source_id] データソース ID で検索する代りに分割されたテーブルを参照する select * from log_data.213 where time > now() - 1h 23

ダウンサンプリング 1 時間毎の平均値を別のテーブルに保存する select data_source_id, mean(value) from log_data group by time(1h) into log_data.mean.1h 24