狠狠撸
Submit Search
ビジネスサイドが知っておくべきアプリケーションのデータ分析の话
?
0 likes
?
65 views
Koyo 松本
Follow
ビジネスサイドの人间が知っておくべ、奥别产アプリケーションのデータ分析の基础知识をまとめたスライド
Read less
Read more
1 of 26
Download now
Download to read offline
More Related Content
ビジネスサイドが知っておくべきアプリケーションのデータ分析の话
1.
ビジネスサイドが知っておくべき アプリケーションのデー タ分析 についての話
2.
Today’s Goal Let’s think
about today’s goal. 0
3.
Webアプリケーションのデータを確認しながらサービス改善施策の立案を行え るようになるための基礎知識を得る。 今日のゴールは? 3
4.
今日 話したいこと ビジネスサイドとして知っておくべきデータ分析の基礎知識について、 主に「データベースとSQL」についての話をします ● 1.
データベースとは? ● 2. SQLとは? ● 3. データベースのデータを使って分析を行うには? わからないことがあれば適宜質問してください。一通り話し終わった後にも質問タイムを設けますので、そ こで質問いただいても大丈夫です。 4
5.
データベースとは? なんとなく聞いたことのある「データベース」についての基礎を簡単におさらいし ます。 1
6.
● 何らかのデータが入った箱をデータベースとよぶ ○ スプレッドシートの表もデータベースの一種 ○
正の字で回数を記録したものも一種のデータベース データベースと呼ぶと難しく聞こえてしまうが、ただのデータが入った箱 だと考えれば良い。 広義のデータベースとは 6
7.
Webアプリケーションでは、データを保存するために下記の2つの種類 のデータベースが使われることが多い。 ● RDBMS(リレーショナルデータベース) ○ 表と表が関連を持つのでリレーショナル ○
SQLはRDBMSのみで利用する ● NoSQL ○ (ざっくりいえば)RDBではないもの ○ RDBMSでは対応し辛いものに対して利用する データベースの種類 7
8.
これらはそれぞれ得手不得手があり、アプリケーションの用途によって 使い分けられる。とはいえ大きな違いはない。 ● MySQL ● Oracle ●
SQL Server ● Access ● BigQuery ● Firebase(Firestore) データベース製品例 8
9.
● 得意なこと ○ 大量データの処理 ○
データの整合性の担保 ● 苦手なこと ○ 柔軟なデータの保持 ○ データの加工 RDBMSは、大量のデータを整合性を維持したまま保持することを念頭 において作られてきた。そのため、データの加工やイレギュラーな形の データを保持することには不向き。 データベース(RDBMS)の特徴 9
10.
● テーブル(表) ○ スプレッドシートのシート ●
レコード(行) ○ スプレッドシートの一行一行 ● フィールド(列) ○ スプレッドシートの表でいう列名 ○ 列名の他に「型」を持つ 難しく考えずに「スプレッドシート」をイメージすれば良い。 データベース(RDBMS)の要素 10
11.
RDBMSのフィールドは「型」を持つ。 「型」は、スプレッドシートのデータの表示形式のイメージ。 「型」があることで、データの整合性を担保できる。 ● 文字列型(文字数の最大値が決められている) ● 数字型 ●
日付型 ● テキスト型(文字数の最大値が無い) 「型」についての補足 11
12.
SQLとは? なんとなく聞いたことのある「SQL」についての基礎を簡単におさらいします。 2
13.
SQLはデータベース言語 ● Structured Query
Languageの略 ● データベースを操作するための言語であり、ISO(国際標準化機 構)で規格が標準化されている ○ どのデータベース製品であったとしても、同じSQLを使うこと が出来る ○ つまり、一回SQLを覚えると、どのデータベース製品が使わ れていたとしても大丈夫になる 13
14.
● データ定義言語 ○ データベースの構造(表、列など)を定義するための構文 ○
CREATE, DROP, ALTERなど ● データ操作言語 ○ データベースを操作(データの抽出など)するための構文 ○ SELECT, INSERTなど ● データ制御言語 ○ データへのアクセスを制御するための構文 ○ BEGIN, COMMIT, ROLLBACKなど SQLの3つの役割 14
15.
SQL=データを取り出すものという 理解で良い ビジネスサイドの目線では、SQLはWebアプリケーションに保存されたデータを 取り出すためのもの、、、という理解で良い。 まずはデータを取り出すためのSELECTが使えれば十分であり、それ以上をビ ジネスサイドとして深く理解する必要性は高くない。 15
16.
Q. ビジネスサイドがSQLを学ぶ必 要は本当にあるの? データを取り出すだけであれば、エンジニアに任せればよいのでは? 16
17.
A. 分析基盤が整っていれば、 正直不要 高いレベルの分析等を行わない場合、すでにデータ分析基盤等が整っていれ ばあえてSQLをいま学ぶ必要はないと考えている。 他方、データ分析基盤が整っていない状態であれば、チーム全体を加速させる ためにもビジネスサイドがSQLを学んでおいたほうが良い。 17
18.
● リアルタイムにデータを取得できる ○ 日次、月次等でまとめられたデータではなく、今時点のデータを 取得することが出来る ●
一度作成したSQLは使い回すことができる ○ スプレッドシートの神操作をしなくて良い ○ 誰が何回やっても同じ結果が取得できる ● データ取得のための開発が不要 ○ 特定のデータ取得のためだけに開発していてはキリがない ○ チーム全体のコストを抑えることに繋がる SQLだからできること 18
19.
データベースのデータを使っ て分析を行うには? データベースに保存されたデータを使ってどのように分析していくかをかいつま んで説明。 3
20.
Q. SQLを知っているだけでデータ 分析は出来るの? SQLを知っているだけでデータ分析は可能なのでしょうか? 20
21.
A. SQLだけを知っていても 何も出来ません SQLはあくまでもデータベースからデータを取り出すためのもの。 それよりも「どんな仮説を持っているか」であったり、「そのために必要な分析」の イメージが付いていること、そして、それを実現するために「どんなデータが必 要」かがわかっていることの方が大切。 21
22.
● 仮説を立てる ○ 何のためにデータを分析するかの仮説を立てる ○
仮説がない分析は何の意味も持たない ● 仮説をもとに必要なデータを検討する ● 必要なデータを取り出す ○ ここでSQLを使う ● 取り出したデータを利用して分析する ○ 此処から先はSQLに拘る必要はない ○ スプレッドシート等、使い慣れたツールで良い データ分析の流れ 22
23.
● どこに何のデータがあるかを知っておく ○ どのようなデータが保存しているかを知らなければ、データを取 り出すことは勿論出来ない ○
そのため、どんなテーブルにどんなフィールドがあるのかをまず は理解する ● そのために必要なSQLを書けるようにする ○ 複雑なSQLを書く必要はない ○ 簡単なSQLでデータを抽出し、スプレッドシート等で加工や分析 が出来ればひとまずは良い データを取り出すためには? 23
24.
● データベースはただのデータを保存しておく箱 ● SQLはあくまでもデータ抽出のための手段の1つ ○
他に手段があるのであれば、あえて学ぶものでもない ● 他方で、立ち上げフェーズなどではデータ分析基盤が不十分なこと は多く、ビジネスサイドもSQLを知っておく必要がある ○ データ抽出のためだけの開発は無意味 まとめ 24
25.
● 分析してみたい仮設を立ててみよう ● 関わっているアプリケーションのデータ構造を知ろう ●
SQLを使ってデータを取り出してみよう ○ すべてのデータを取り出す ○ データを1件指定して取り出す ○ 関連するテーブルのデータと共に取り出す ● SQLを使ってデータを分析してみよう ○ テーブルのレコードの件数を取得する ○ 特定の条件のレコードの件数を取得する Next! 25
26.
26 Thanks! Any questions?
Download