Safie Engineers' Blog!

Safieのエンジニアが書くブログです

What is データ分析基盤

こんばんは。データ分析基盤グループ所属の大室です。

セーフィーではデータドリブン経営を推進すべく、2021年頃からデータ分析基盤のシステム開発が始まり、2022年に専門の組織「データ分析基盤グループ」が立ち上がっています。

システムも組織も産声を上げたばかりのデータ分析基盤。本記事ではその歴史や背景、組織やアーキテクチャにスポットライトを当てたいと思います!

そもそもデータ分析基盤とは?

データ分析基盤とは、「大量のデータを収集・蓄積・整形し、分析を行うためのシステム基盤」のことを指します。

データ分析基盤は様々な要素で構成されますが、代表的な構成要素として「データレイク」「DWH」「ETL」「BIツール」が挙げられます。

データレイク

データレイクとは、大量のデータを保存・管理するためのアーキテクチャまたはシステムを指します。
構造化データや半構造化データ、非構造化データなど、あらゆる形式のデータをそのまま保存することができます。

DWH

DWHとは、データウェアハウス(Data Ware House)の略語です。
異なるデータソースからのデータを統合し、組織の意思決定に役立つ情報を提供するために設計されたデータベースシステムを指します。
データは通常、タイムスタンプや一定のルールに基づいて整理され、組織のビジネスプロセスや意思決定のニーズに合わせて構造化されます。

ETL

ETLとは、(Extract/Transform/Load)の頭文字をとった略語です。
DWHへデータを統合する際に用いられる各プロセスを指します。

①Extract(抽出・収集)
様々なデータソースから必要なデータを抽出するプロセスです。
データベース、ウェブサービス、ファイル、外部システムなど多岐にわたるデータソースからデータを抽出します。

②Transform(変換・整形)
データを目的の形式や構造に変換するプロセスです。
データの変換には、クレンジング(不正確なデータの修正や欠損値の処理)・結合・集計などが含まれます。

③Load(格納)
抽出・変換したデータをデータレイクやDWHに格納するプロセスです。

元々、 Extract → Transform → Load の順に処理するフローが主流だったため、ETLという略語が定着しました。
データの変換処理は専用のサーバー上で実行するのが一般的でしたが、近年(2010年代〜)は性能の高いクラウド型DWHが台頭したため、Extract → Load → Transform といったようにデータをDWHに格納してからDWH上で変換処理を実行するフロー、所謂ELTという略語も使われ始めています。

BIツール

BIツール(ビジネスインテリジェンスツール)とは、データを分析・可視化するためのソフトウェアツールを指します。
企業や組織がデータに基づいたビジネスの意思決定を効率的に行うための手段として用いられます。

BIツールは主に下記の機能を備えています。

①データソースへの接続機能
DWH・Webサービス・Excelファイル・csvファイルなど、様々なデータソースに接続し、必要なデータを取得します。

②データの分析機能
データの集計・集約・フィルタリング・グルーピングなどの分析操作を実行し、データからパターンや傾向を発見する手助けとなります。

③可視化・ダッシュボード機能
データを視覚的に理解しやすい形式で表示します。グラフ・表・マップなどのコンポーネントを使用し、データをインタラクティブなダッシュボードに組み込むことができます。

BIツールそのものをデータ分析基盤に含めるかどうかは議論の余地があると思いますが、ビジネスユーザーがデータを分析・可視化する上で非常に便利なツールであることは間違いありません。

セーフィーのデータ分析基盤ヒストリー

セーフィーのデータ分析基盤に纏わる歴史について紹介します。
※脚色が若干入っています。

私は2022年4月にジョインしたので、データ分析基盤導入以前の状況はあまり詳しくないのですが…
巷の噂によると、当時は社内のデータ分析に関する問い合わせがCTOに集中し、多くの時間を割いている状況だったとのことです。

事業拡大&社員増加に伴いデータ分析の社内ニーズが日々高まる一方、当社のCTOは他にも重要な役割を担っています。
上記のような問い合わせ対応に追われ続けるのは、全社的にあまり好ましい状況ではなかったようです。

また、当時はサービスのバックエンドのデータベースシステムから直接データを参照していましたが、分析用の処理に特化したシステムではないため、分析要件を満たすデータの算出には多くの時間を要する状況でした。

このような状況の打開策として「データ分析基盤の構築」と「専門組織の組成」が挙がり、2021年下期からCTO直下組織「CTO室」主導でデータ分析基盤の構築が急ピッチで進められました。
並行してデータ人材(データエンジニアやデータアナリスト)の採用も積極的に行い、2022年上期にCTO室から「データ分析基盤の構築」及び「データ分析の支援」業務をスピンアウトした組織「データ分析基盤グループ」が立ち上がりました。

専門組織が立ち上がって一安心!………とはいかず、急ピッチで構築したデータ分析基盤は性能や拡張性に多数の課題を抱え、徐々に運用保守が困難な状況に陥ってしまいました。
この状況を打破すべく、2023年上期からデータ分析基盤リニューアルPJが始まり、今に至っています。

データ分析基盤グループについて

所属組織

セーフィーでは機能別組織を採用しており、社長直下組織を除くと、開発本部・企画本部・営業本部・カスタマーサービス本部・経営管理本部の5つの本部が存在します。

データ分析基盤グループは、開発本部配下の第3開発部に所属しています。

組織図 | セーフィー株式会社 - Safie Inc.

第3開発部には、顧客管理システムや契約管理システムなど、社内業務に必要不可欠なシステムの開発を担う組織「業務システムグループ」と、Store People Detection Packに代表される、映像解析AIの開発を担う組織「AI Visionグループ」も所属しています。

所属メンバー

データ分析基盤グループには、データ分析基盤の開発や運用保守を担うデータエンジニアと、各部署のデータ分析支援を担うデータアナリストが所属しています。
役割は異なりますが、ユーザーヒアリング・要件定義・テーブル設計など、密に連携して様々な業務に取り組んでいます。

開発手法

セーフィーでは開発手法としてスクラムを導入している開発組織が多いのですが、データ分析基盤グループでも2023年1月から導入しています。

まだまだ試行錯誤の段階ではありますが、スクラムを導入したことによって、属人化の低減やコラボレーションの促進、柔軟性の向上や生産性の改善に繋がっていると感じています。

スクラムについては下記の記事に詳しく書かれていますので、ぜひご覧下さい! engineers.safie.link

engineers.safie.link

セーフィーのデータ分析基盤アーキテクチャ

セーフィーが提供するクラウド録画サービスのバックエンド(通称:Safieプラットフォーム)はAWSの各サービスで構築されており、デバイス(カメラなど)やアプリケーション(Web/モバイル/AIなど)が発するデータのほぼ全てがAmazon AuroraやAmazon S3に格納されます。

セキュリティの都合上、Safieプラットフォーム側とデータ分析基盤側のAWSアカウントは分離しており、AWS Lake Formation経由でデータ分析に必要なデータのみ共有する仕組みを構築しています。

AWS Lake Formationを用いたデータ共有の詳細については下記の記事に詳しく書かれていますので、ぜひご覧下さい! zenn.dev

旧基盤

前述の通り、データ分析基盤は現在リニューアル中のため、通称「旧基盤」と「新基盤」2つのアーキテクチャが存在する状況です。2023年度内に新基盤への移行を完了する見込みです。

旧基盤では、AWS Lake Formationで共有されたデータをAWS GlueのPython Shell JobでAmazon S3にParquet形式で出力し、Amazon EC2上のShell Script/Python/SQLでAmazon Redshiftにデータを抽出/格納/変換する処理を実装しています。
社内のユーザーはRedashやTableauを通してAmazon Redshift上のデータを参照することができます。

新基盤

Amazon S3にデータを出力する処理までは旧基盤と同じですが、新基盤ではDWHをSnowflakeに変更し、Amazon S3 → Snowflakeへデータを転送する処理にはSnowpipe(Snowflakeの継続的なデータロードの仕組み)、データの変換処理にはdbt(data build tool)を採用しています。
社内のユーザーには、SQLでアドホックに分析したい場合 = Snowsight(Snowflake標準のWeb UI)、SQLが苦手な場合や視覚的に分析したい場合 = Tableau経由でSnowflake上のデータを参照していただく予定です。

旧基盤で採用していたRedashは、データ分析基盤以外の用途でも幅広く利用されている&別部署が管理しているといった事情を踏まえ、新基盤では採用しない方針です。

また、旧基盤では所謂データモデリング手法が特に採用されておらず、テーブルの構造や関係性が非常に把握し難い状況に陥っていたのですが、新基盤ではData Vault ModelingとDimensional Modelingを採用し、データモデリングの改善を図っています。

データモデリング手法については下記の記事に詳しく書かれていますので、ぜひご覧下さい! engineers.safie.link

最後に

今回はセーフィーにおけるデータ分析基盤の歴史や背景、組織やアーキテクチャについて紹介しました。

新基盤の全貌やリニューアルPJの取り組み内容については詳しく紹介できなかったため、また改めて別の記事で紹介したいと思います。

We are hiring!

余談ですが、データ分析基盤グループは慢性的な人手不足でして…一緒に働いてくれる仲間を大募集中です!

セーフィーのデバイスやアプリケーションからは1日あたり数十億件のログが発生し、データ量は線形的に増加しています。
このような超ビッグデータを効率的に処理し、ビジネスの意思決定に繋げるための仕組みを一緒に作ってみませんか?

ご興味のある方はセーフィー採用サイトを覗いてみて下さい。

皆様のご応募、心よりお待ちしております!

© Safie Inc.