作為產品,你需要了解這些技術知識

11 評論 24240 瀏覽 236 收藏 17 分鐘

小奈:表哥,為什么瀏覽器好像什么都知道的?我只是剛剛搜了下感冒怎么治,現在就彈出xx醫院廣告了。

大仁:當xx公司有了海量的數據,再根據這些數據進行精準營銷(廣告),他們每年都可以掙一大筆廣告費。

大仁:廣告雖然令人厭惡,但是數據推薦還是必要的,尤其是在信息大爆炸的時代,讓信息更精準的出現在你手里。

DBA

小奈:表哥,公司最近好像在招聘DBA(數據庫管理員),后端工程師不就可以管理數據庫的么?數據庫和后端有什么區別?數據庫又是什么呢?

大仁:看來你們公司是大公司喔,一般小公司沒有dba的崗位。

其實我們常說的后端工程師,他們也設計和管理數據庫。但是如果數據到了一定量級,數據庫性能調優、安全穩定就需要專業的dba。

數據庫發展史

數據庫是什么?

大數據背后的一塊塊基石,則是數據庫。

數據庫背后有好多故事,你可能不知道數據庫,但是最近火的不行區塊鏈,其實就是去中心化的分布式數據庫。

說完高大上的區塊鏈,我們開始回溯數據庫的發展吧:

文件&文件系統

內存籃子

最開始是計算機的出現,那時候沒有硬盤,只有內存,數據不會進行存儲,一般只用于科技計算,計算完輸出結果后,程序就撤出內存了。

后來技術發展,才有了硬盤、文件,在文件的基礎上有了文件系統。文件系統可以滿足數據存放和查找的需求。

數據庫的誕生

文件系統作為數據庫用了一段時間,當數據越來越多、規模越來越大后,數據查找特別麻煩。數據很容易重復(冗余)、占用存儲空間多,數據結構化被迫推進。

文件系統和數據庫的主要區別是?

簡單舉個例子,如圖所示。

文件系統 vs 數據庫

我們理解的數據和文件比較接近,例如文件1存放了玩具狗的數據,文件2存放了系鈴鐺的狗的數據。但其實玩具狗、玩具貓都是玩具,鈴鐺和玩具是可以拆分的。

數據庫的結構化(玩具庫架子),讓數據不會重復,玩具狗可以系鈴鐺,也可以不系。

關系型數據庫

數據庫出現后,慢慢演化出關系型數據庫,之后又演化成非關系型數據庫。

我們首先介紹關系型數據庫,什么是關系型數據庫?

關系數據就是指數據之間是有關系的。像是上圖中系鈴鐺的玩具狗,鈴鐺是屬于(系在)玩具狗,那我把鈴鐺取下來放到玩具貓上可以么?可以,那關系就變了,鈴鐺在數據庫里的記錄變更為屬于貓。

其實數據庫有個(存儲的關系規范)數據庫范式,第一范式到到第五范式。玩具狗與鈴鐺的拆分只是滿足了第一范式,越往下數據的壓縮率就越高,相應的存儲也會變慢(需要關系范式驗證)。

結構化、共享訪問的

數據庫的除了是結構化存儲、它還可以共享給程序訪問。文件系統時候,程序a讀取文件1(小明的玩具),數據庫時代,所有程序只要有權限就可以訪問所有數據庫里的數據(大家的玩具共享)。

數據表長什么樣

數據:例如玩具狗,他的各個字段:玩具名稱、是否有耳朵、多少條腿等等,玩具狗的所有信息算是一條數據。

數據表:玩具表就像一個excel表格,里面存了所有玩具的數據。

玩具表

鈴鐺表

手機數據庫:sqlite

網頁和app的區別大家也都知道了,手機里有數據庫,手機app的數據庫和沙河一樣,每個app都有自己倉庫。

redis、memcache

不知道大家看視頻的時候,是否喜歡快進,或者回放。

視頻文件=幾十萬張圖片(簡單約等于),圖片文件非常多。如果經常要重復從數據庫中取出相同的數據,這種重復極大的增加了數據庫負載。緩存是解決這個問題的好辦法。

瀏覽器中的雖然已經可以實現對頁面局部進行緩存,但還是不夠靈活,主要是視頻文件。此時Memcached或許是你想要的,當你看一個視頻來回拉動進度的時候,本地緩存很重要。

nosql

隨著經濟發展,村里小孩越來越多了(云計算的到來),玩具廠每年生產的玩具也多了。一個玩具庫(單機)不夠用了,所以要多建立幾個公共玩具庫,玩具存放在不同的玩具庫(多臺計算機)。

為了滿足數據爆發式增長的存儲需求,數據庫部署在多臺計算機上,也就是分布式數據庫,但是分布式和單機不同的地方在于關系嚴格性上,分布式要求數據關系不那么嚴格(半結構化),主要是擴容和大數據存儲,所以Nosql(not only sql)就誕生了。

常見的Nosql有mongodb、hbase等,這里以mongodb為例。

數據庫連接

var mongoose = require(‘mongoose’)
var db = ‘mongodb://127.0.0.1/test’;
mongoose.connect(db, {
server: { poolSize: 20 }
}, function (err) {
if (err) {
console.log(‘connect to %s error:’, db, err.message)
process.exit(1)
} else {
console.log(‘connected’)
}
})

增刪改查

var UserSchema = new Schema({
name: { type: String},
phone: { type: Number}
})
var User = mongoose.model(‘User’, UserSchema);
//create 增加
var user1 = new User();
user1.name = ‘jack1’;
user1.phone = 123456;
user1.save(function (err) {
if (err) {
console.log(err.message)
}
})
var user2 = new User();
user2.name = ‘jack2’;
user2.phone = 234567;
user2.save(function (err) {
if (err) {
console.log(err.message)
}
})
//查找
User.find(function (err, users) {
if (err) {
return console.error(err)
}else {
console.log(users)
}
})

分布式vs集群

很多人可能會混淆分布式和集群的概念,分布式更像是業務拆分到不同服務器上,集群則是多臺服務器一起處理同個業務。比較復雜,后續再解釋。

數據庫圖鑒

目前市面上常見的數據庫品牌,主要有關系型和非關系型數據庫兩種。計算機世界發展快速,數據庫就像一個大生態,愈發多態化多樣化。

  • 關系型:Oracle、mysql、Postgresql
  • nosql: mongodb、hbase

數據庫圖鑒

區塊鏈:去中心化的分布式數據庫

回到區塊鏈,大數據時代無隱私,區塊鏈的去中心化能否保護隱私?

首先得介紹下去中心化,那么中心化又是什么?中心化就是我們常見的通訊模型,客戶端需要以服務器獲取數據(服務端和數據庫交互),上次我們也講過 輸入url 后發生的事情,如果兩個客戶端之間互相知道彼此的地址,他們可以直接建立通訊。

p2p技術常用于資源共享、音視頻等。

中心化vs去中心化

區塊鏈本質上是一種去中心化的分布式數據庫,該數據庫是由一串使用密碼學方法產生的數據區塊按時間順序有序連接而成,每個數據塊中包含了一段時間內的全網產生的無法篡改的數據記錄信息。

區塊鏈技術讓我們的隱私得到了一定程度上的保護。

失控

最后引用下凱文*凱里在《失控》里的一段話:

沒有強制性的中心控制,次級單位具有資質的性質:次級單位之間批次高度連接,點對點間的影響通過網絡形成了非線性因果關系。

計算機的高速發展,數據庫不斷進化,大數據越來越精確化,越來越智能,但用戶也需要隱私,區塊鏈這種去中心化、自組織的形態會不會成為新趨勢?··

競品數據如何找?

小奈:表哥,競品分析、競品數據如何找?

大仁:你可以找你們的數據產品經理啊,常見數據來源如下:

艾瑞咨詢?http://data.iresearch.com.cn/

小奈:我們公司沒有數據產品經理喔。

大仁:這,那你也可以自己試試啊。

小奈:我不會啊,我現在想要一個xx無人貨架的城市分布圖,要怎么做?

大仁:我示范下,xx無人貨架官網好像有城市bd招聘信息喔,我把這些城市都錄入到excel,再生成經緯度,然后就可以了,看下效果。

(可用python也可用數據分析平臺)

xx無人貨架城市分布圖

商家、顧客和優惠券

小奈:數據產品經理好像挺神奇的耶。

大仁:是啊,你們公司是電商的對吧,假如你們老板要你們提高凈利潤(現有系統基礎上),你們會怎么做?

來看下數據產品經理怎么做:

假設一瓶牛奶成本3元,定價6元時,50人會接受此價格。定價10元時,有30人會接受此價格,前者利潤為(6-3)×50=150元,后者利潤為(10-3)×30=210元。

但商家不想放棄另外20個支付意愿較低的消費者,于是決定用4元優惠券來吸引他們,同時對剩下那30個對價格不敏感的消費者依然維持10元的原價銷售。

通過用戶畫像、優惠券來提高銷售利潤,這就是數據產品經理干的事之一,如何才能做到呢?

首先得有自己的BI系統,或者說得有用戶畫像。

什么是用戶畫像呢?

用戶畫像

有了用戶畫像,知道哪些用戶對價格不敏感,哪些用戶不反感車的廣告,再進行推送,大大提高轉化率,凈利潤得到有效增長。

那么用戶標簽體系該如何搭建?

業務需求促進標簽體系建立,具體從老板戰略目標、功能、業務。

用戶畫像標簽體系

數據產品經理需要結合業務建立標簽體系,背后真正的分析工作則由數據分析師來,數據分析該如何入門呢?

數據分析

數據分析可由數據產品經理+數據分析師一起完成,也可以數據產品經理+數據分析平臺(bdp、神策等)。數據分析該如何入門和培養意識呢?

數據分析基礎

想學習數據分析的同學不妨先從Excel開始,從熟悉excel的函數開始,掌握一些統計學基礎。

  • 均值:平均值, =AVERAGE(B2:B19),B2:B19為數據范圍;
  • 中位數:先將數據升序排列,若為數據個數為單數,則為中間那個數,若為偶數,則為取中間兩個數據的平均值,=MEDIAN(B2:B19);
  • 眾數:出現次數最多的數,=MODE(B2:B19);
  • 方差:用來計算每一個變量(觀察值)與總體均數之間的差異,=VAR(B2:B19)
  • 標準差:方差開根號后為標準差,用于評估數據穩定性,=STDEV.S(B2:B19)
  • 標準誤差:是描述對應的樣本統計量抽樣分布的離散程度及衡量對應樣本統計量抽樣誤差,=STDEV(B2:B19)/SQRT(COUNTA(B2:B19))
  • 最大值:=MAX(B2:B19)
  • 最小值: =MIN(B2:B19)
  • 峰度:=KURT(B2:B19)
  • 偏度:=SKEW(B2:B19)

統計學基礎

心理學

數據分析要結合心理。

數據分析要結合心理

大數據“殺熟”?

微博網友“x師傅”講述,他經常通過某旅行服務網站訂某個特定價格酒店的房間,長年價格在380元到400元左右。
偶然一次,通過前臺他了解到,淡季的價格在300元上下。他用朋友的賬號查詢后發現,果然是300元;但用自己的賬號去查,還是380元。

相信不同的人看完故事有不同的理解,從數據運營角度 可以看出用戶分層、用戶畫像(標簽化)、消費心理分析(優惠券能給用戶占便宜的錯覺)等的重要性;從用戶角度可以發現生活處處有套路。

在我看來,技術的發展終會回歸到善與惡的哲學問題。

 

作者:Jack,新零售數據PM,公眾號:產品經理的技術課堂

本文由 @Jack 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自 Unsplash ,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 贊?。?/p>

    來自廣東 回復
  2. 又更新啦,數據殺熟深有體會呀,某打車軟件,不同手機下單價格居然不一樣

    來自北京 回復
    1. 是的

      來自廣東 回復
  3. 統計學基礎

    回復
    1. 關注微信公眾號(打少了),回復“統計學基礎”可獲得excel原文件

      來自廣東 回復
  4. 回復“統計學基礎”可獲得excel原文件

    來自廣東 回復
    1. 統計學基礎

      回復
    2. 統計學基礎

      回復
    3. 關注微信公眾號(打少了),回復“統計學基礎”可獲得excel原文件

      來自廣東 回復
    4. 你好??,搜索公眾號沒有找到「產品經理的技術課堂」這個公眾號,是改名了么?

      來自河北 回復
  5. 666

    來自江蘇 回復