GRANVALLEY

ブログBlog

PostgresSQLがレポーティングに適したデータベースなのかを判断する方法

公開日 2019年1月7日    最終更新日 2020年3月12日

今日DBMSツールには性能的な欠点は存在しません。その中で、高い評価を得ているオーブンソース製品「PostgresSQL」は、間違いなく市場を席巻するでしょう。今回は、PostgreSQLでのレポーティングを導入する前に、レポーティングに適したデータベースの基本を押さえていきます。(MySQLのユーザーの場合は、using MySQL for analytical reporting(英文)をご覧ください。)まずは、DBの性能特性として、よく語られる3つのVについて考えていきます。

種類(Variety)発生するデータはどんなデータ?

PostgreSQLの利点の一つに、配列のような高度で便利なデータ形式など、多種多様のデータを扱うことができるメリットがあります。そして、通常のデータ形式もクエリによるアドホック集計を高速で行うことができます。これらの機能は関連するデータを素早く検索でき、分析やレポーティングに大いに役立ちます。

しかしながら、他のDBMSと比較をして、通貨や画像、音声などのデータ形式の一部にはまだ未対応の部分がありますが、今後のアップデートで実装される可能性もあるなど期待できます。

では、主に扱うデータがテキストや画像の掲載がある記事、SNSへの投稿のような定性的なデータである場合、データの蓄積だけでなく、レポーティングをPosrgresSQLだけで行う前に、今一度レポーティングニーズを明確にしてみましょう。定性的なデータを扱う場合の構成例として、PosrgresSQLをデータベースとして使用し、Atlas.tiやQDA Miner Liteのような定性的なデータを扱うことができる無料のレポーティングツールを使用することも検討してください。

注意:
現在、組織で扱っているデータにかかわらず、データの性質について再考してください。組織で扱うデータソースの形式やデータ量が増大するにつれて、レポーティングで扱うデータの多様性はより重要な要素となっていきます。その際に、組織で複数のデータソースを扱う備えがある場合は、さまざまな形式のデータを扱え、複数データベース間のクエリも高速で動作し、拡張も簡単にできるレポーティング基盤の構築を考えてください。そして、今後、高い成長を目指しているなら、 Sisense を選択肢に入れることをお勧めします。

次は、最も語られるVについて考えていきましょう。

容量(Volume)どのくらいのデータをBIで使用するか

非常に大きなデータセットを処理する機能は、PostgreSQL9.5以前のバージョンでも高い評価を得ています。

とはいえ、処理可能なデータ量には限界があり、パフォーマンスに大きな影響を及ぼしてしまいます。PostgreSQL9.5での大量データ処理機能の強化により、従来のパフォーマンス問題は大幅に改善しました。

主に拡張性の向上により、ビジネスアナリティクスに最適なパフォーマンスを発揮することができます。肝心なのは、PostgreSQLはリレーショナルデータベースで、もともとビックデータを扱う目的で作られていないというということです。そのため、テーブルのデータ量が急速に増大し、遅いクエリやインデックスによる、パフォーマンスの問題が未だに生じているのにも納得できます。

そして、バキュームのようなシンプルな作業ですら時間が掛かってしまいます。PostgreSQLは本来、低コストでさまざまな効果を得られ、データベース設計、パフォーマンスチューニング、テーブルパーティションを行うことで、パフォーマンス問題の解決が容易にでき、サポートやコミュニティーを活用することで、効率的に開発可能な製品です。しかし、結局のところ効率化には時間も労力もかかります。(定形データによる一般的なデータ活用をする場合は、その限りではありません。)

一般的に、Postgresは迅速で安定したクエリのパフォーマンスを提供し、1つのインスタンスで最大で1テラバイトのデータにすばやくアクセスすることが可能なため、レポーティングや分析を行う分には十分活用できます。一方、規模の小さい組織でも、ビックデータを用いた洞察を行う場合は、PosrgresSQLではカバーできない領域もあるのも事実です。

SQLのTABLESAMPLE句のような、BRIN indexや、Abbreviated keysといった、大量データ処理機能が実装されても、大量データが高頻度で発生する企業では、HadoopやNoSQLを併用する必要があります。

もしそのようなデータが発生する企業の場合、オンプレミス、クラウドでスムーズに分析環境を導入し、Sisense Postgres ConnectorのようなBIツールで関連するデータを、参照、変換、分析、蓄積することをお勧めします。

速度(Velocity)どのくらいのスピードでデータは発生している?

「どのくらいデータソースのデータを迅速に、生成、配信、蓄積する必要があるか」は、導入要件により変わってきます。

例えば、多種多様なデータを高速に処理し、レポーティングする場合、PostgreSQLを導入する選択に落ち着くでしょう。

しかし、それだけでは、すべてのニーズを満たすことはできないのも事実です。もしPostgreSQLの性能を最大限引き出すために、データ設計やハードウェアのチューニングをする時間や予算があり、業務要件に合わせたチューニングをさらに行うことになります。そこまで行うことができれば、レポーティングパフォーマンスは飛躍的に向上するでしょう。

AnalyticsWeek’sのJelani Harper 以下のように述べています。「確かに、データから洞察をもたらすには、データを可視化することが主な手段である。多くのBIツールは、社員の情報などさまざまなデータを統合、反映し、直感的なダッシュボードをユーザーが作成するこが可能であるが、本当に競争力を向上させるデータ分析基盤は、簡単な操作でユーザーがデータの統合、反映を行える機能を持ち合わせている。それらを就航活用することで、IT部門に頼ることなくデータを可視化でき、洞察から行動までの時間を短縮し、真に有用な意思決定をするためのデータ統合を実現できる」

迅速で、有用な洞察を競争の主眼としているのであれば、PostgreSQLで実現しようとするならば、相当なスキルが必要となるでしょう。

まとめ

データベース用途でも、レポーティング用途でもPostgreSQLで得られるメリットは大きいです。だからといって闇雲に導入するのではなく、あなたの企業の分析ニーズをよく考え、ニーズに沿ったレポーティングをしましょう。最後に、PostgreSQLでのレポーティングでの長所と短所を以下にまとめましたので、これで終わりにします。

長所

  1. さまざまなデータ形式をサポート
  2. 高速で安定したクエリ
  3. 巨大なデータセットの処理も用意
  4. パラメータのカスタム設定により、複雑な要件を満たすことが可能
  5. サポートやコミュニティーが充実

短所

  1. 定性データを扱えるようにする余地がある
  2. 極めて大量のデータの処理の際、パフォーマンスが低下してしまう

 

この投稿に記載されているすべてのデータは情報提供のみを目的としており、正確ではありません。前もってご了承ください。
本記事は、Sisense社の許諾のもと弊社独自で記事化しました。
https://www.sisense.com/blog/decide-postgresql-reporting-right/

Sisense は、Sisense Inc の商標または登録商標です。
※ その他の会社名、製品名は各社の登録商標または商標です。
※ 記事の内容は記事公開時点での情報です。閲覧頂いた時点では異なる可能性がございます。