为什么不懂技术的人可以做产品经理(下)?
之前分享了產品經理要不要學習技術,以及前后端相關的技術知識:為什么不懂技術的人可以做產品經理?這次接著跟大家分享數據庫、SQL等相關技術知識,并在最后告訴大家該如何學習技術,接下來開始今天的分享。
數據庫
數據庫是一種存儲數據的永久空間,通過一種特殊的方式把數據存儲在硬盤,數據按照一定的規則存儲,可以對數據庫中的數據進行增刪改查。比方說你去圖書館,每一本書就可以看成一個數據,通過圖書的索引就可以查找到你想看的圖書,整個圖書儲存在地方就可以看成數據庫。
數據庫種類
1、關系型數據庫
關系型數據庫中所有的數據基本上都是有關聯的,通過一個數據和其他的一個數據進行有效的關聯,舉個例子,比如下圖可以根據班級的ID找到對應的班級名稱。
關系型數據庫的好處就是查詢數據比較快,如果你把所有的數據都放到一個地方,你會發現查詢的會非常非常的慢,如果是幾萬條數據也還好,如果是上億條數據,你都放在一個表里面,找就要找幾秒鐘,找到以后再顯示到網頁中又要幾秒鐘,這個時候你會發現你打開一個網頁是空白的,除開網絡原因的話,就是數據庫設計不合理,這個時候我們就必須用這種關系型數據庫來設計它,常見的關系型數據庫有MySQL、ORACLE、SQL Server.
1)MySQL:MySQL的優點是體積小、速度快、成本低,是很多中小型網站的首選,MySQL由于其開源的特性,對于不想花錢又想定制的企業來說,是首選。
2)ORACLE:Oracle的應用,主要在傳統行業的數據化業務中,比如:銀行、金融這樣的對可用性、健壯性、安全性、實時性要求極高的業務;零售、物流這樣對海量數據存儲分析要求很高的業務。而且由于Oracle對復雜計算、統計分析的強大支持,在互聯網數據分析、數據挖掘方面的應用也越來越多。
Oracle 與 MySQL 的區別的話也是主要體現在這里,Oracle 無論是功能,還是服務方面都擁有更加強大的商業支持,復雜的管理與權限設定等(默認下安裝的時候就提供了多種的管理角色),而 MySQL 顯得更加親民,小巧,使用方便(默認下就一個 root 作為管理角色,當然你可以根據需要來創建新的角色)。
所以 Oracle 比較適合復雜的傳統企業等機構,比如政府,銀行等,而 MySQL 更適合互聯網,以及中小型企業,功能和性能上他們各有千秋,無法一概而語說哪個更好,不過從互聯網的歡迎度來看免費的 MySQL 是最受歡迎的數據庫軟件。
3)SQL Server:微軟的產品,高度集成,windows系統整套安裝下來就齊活了,缺點是比較不安全。
2、非關系性數據庫
非關系型數據庫就是一種相對松散且可以不按照按照嚴格的結構規范進行儲存的數據庫,非關系型數據庫一般叫做NoSQL。主要用于內容緩存,處理大量數據的高訪問負載,也用于一些日志系統等等,常用的非關系型數據庫有MongoDB和couchDB。
在非關系型數據庫中,我們使用鍵值對的方式表示和儲存數據,什么是鍵值對?就是“key-value"的形式,例如:
{
"ID":"001"
"country":"china"
"capital":"Beijing"
}
優點:查詢速度快.
缺點:數據無結構化,通常只被當作字符串或者二進制數據。
SQL語句
這里面說一個SQL 語句。SQL的讀和寫
在大數據時代,產品經理幾乎天天都要和數據打交道,數據的來源有很多,但大部分肯定都是存儲在數據庫里面的,這時要做分析數據的話,數據分析能力是體現在拿到數據之后的,前提是你要拿到數據,這時就和SQL有關系了。
大公司數據倉庫建設比較完備,有較為完善的數據管理系統,且有專門的數據維護人員,俗稱BI或者DA,即做商業智能和數據處理加工的。在這種條件比較優越的公司,常規的取數需求都可以提交給這些專業人士處理,如日常的分析報表、項目開展所需要的基礎數據等,只要說明清楚取數邏輯和所需要的字段就可以了。但平時的一些產品分析所需數據的獲取,以及一些指標考核項的數據就需要你自己動手了。好一點的情況下,你可以央求BI給你寫一個SQL語句出來,然后根據需要你自己改改;次一點的情況下,BI會將一些表結構說明給到你,然后你自己去組織表關聯取數;最差的情況就是啥都沒有,你自己去取數系統里面摸索著取數。而在小公司,產品經理可以讓開發人員幫你取數,但你要是頻繁需要取數的,我想你也不好意思老開口,畢竟會影響開發人員的本職工作。自己動手豐衣足食,而且因為小公司數據系統建設不完善,最好的情況就是上面說的第二種,有表結構說明給你參考。
上面這些場景就要求產品經理需要懂SQL語言。這里首先是要能看懂SQL,比方說你是求別人幫你取數的,但看了數據總感覺不對,這時你就需要去看看人家寫的SQL對不對,畢竟你自己才最清楚取數需求是什么。看懂了發現有錯誤的地方,還要會改,特別是別人給你一段有相似取數功能的SQL語句時,要能手動改改之后適合你自己的取數需求。其次是要知道怎么寫SQL,這就要求產品經理懂得SQL語言的語法和一些常用的函數,比如日期函數、格式轉換函數、數學函數、字符串函數等等,最常見和最基本的都要掌握和靈活運用。
個人強烈建議產品經理同行們都學習一下SQL,這樣在日常工作當中會方便很多。需要注意的是,SQL語言有T-SQL(Transact-SQL)和PL/SQL(Procedural Language/SQL)兩種,需要根據不同的數據庫類型,有針對性的去學習。比如說產品采用的是SQLServer數據庫,那就需要學習T-SQL;如果采用的是Oracle或者Mysql數據庫,就需要學習PL/SQL,兩種語言在語法上差別比較大,大部分情況下都不能混用。另外Oracle和Mysql數據庫在應用PL/SQL的時候,會有一些函數有使用上的差異,需要注意一下。有人會說現在還有一些非關系型數據庫,如MangoDB之類的,這種數據庫基本不支持SQL語言去查詢,而且里面存儲的都是非關系型的數據,也不需要查詢出來做分析。
服務器如何辨別用戶是誰?
服務器辨別用戶是通過Cookie和Session實現的。
1)Cookie:Cookie是一種數據,它由服務器生成,發送到你的瀏覽器,然后由瀏覽器保存到本地的某個文件夾里,等你下次再登陸這個網站時,瀏覽器就會把你的Cookie發送給服務器,這時服務器就知道了“啊原來又是你丫”。一條Cookie的生命一般是一個輪回,就是當你第二次登錄網站時,第一次登陸的那條Cookie會被覆蓋;但也可以指定周期,比如“一個月內自動登陸”這種情況……
2)Session:Session實際上是一種時間的概念,就是你打開一個網站到關閉這個網站之間的時間。這段時間里,你在網站上的動作都被當做Session保存在服務器中,比如說“返回上一個瀏覽頁面”這種動作,就是由Session實現的。Session保存在服務器上,關閉了網站怎么辦?你的Session會被編上號,以SessionID的形式發送到瀏覽器,以Cookie的形式保存在本地,這就是Cookie和Session的親密合作。
當然各個網站的策略不太一致,下次瀏覽某網站時,可以留意下自己的操作行為是如何被記錄的。
3 移動開發
開發移動應用程序主要分為以下三種情況:
1)原生:指的是完全基于移動平臺寫代碼(比如iOS平臺支持Xcode和Objective-C,安卓平臺支持Eclipse和Java),看上去外觀最好,用起來性能最佳,實現的功能最多,當然也就比較費工夫。適合對速度、性能特別敏感的應用,如拍照、視頻類,通常開發周期為4-6周;
2)HTML5:使用標準的Web技術(通常是HTML5、JavaScript和CSS),可以只編寫一次就跨平臺運行,更快做跨屏適配,效果很酷炫,但也有一些功能的局限,通常開發周期為1-2周;
3)RN:React Native (簡稱RN)是Facebook于2015年4月開源的跨平臺移動應用開發框架,是Facebook早先開源的UI框架 React 在原生移動應用平臺的衍生產物,目前支持iOS和安卓兩大平臺。
RN使用Javascript語言,類似于HTML的JSX,以及CSS來開發移動應用,因此熟悉Web前端開發的技術人員只需很少的學習就可以進入移動應用開發領域,介于H5和原生之間,熱更新一下就行,就像你在游戲中看到的更新插件。
3)混合式:就是將HTML5嵌入到原生器中,集成了以上兩者的優點和缺點。適合已有web端產品,想以最低成本遷移到移動端,通常開發周期為3-4周。
產品經理如何學習技術?
我之前也報一本書啃,然后還是不明白,漸漸的看不下去,而且那些書都是專業書籍。后來我發現了一個路子,我先學習基礎視頻(其實這些技術學習視頻我在再給私密學員的教學中都有提供),然后再去看書,慢慢我就能看懂了。最后在實際工作過程中遇到不懂的技術問題,我就會主動請教開發,現在基本的技術概念和原理都難不倒我了。
如果你有時間,也可以敲一遍代碼,這樣你的印象更深刻,對技術的理解也會更深。
最后,我建立了各大城市的產品交流群,想進群小伙伴加微信:yw5201a1??我拉你進群。
關注微信公眾號:產品劉?可領取大禮包一份。
··················END··················
今日研報:攜程集團與世界旅游及旅游業理事會(WTTC)聯合發布《旅游流行趨勢洞察》報告,公眾號后臺回復“?旅游趨勢”,即可下載完整PDF文件。
RECOMMEND
推薦閱讀
面試題,你有看過啥產品經理書籍嘛?
手把手教你做B端產品經理
用Axure制作一個PRD文檔(結尾分享模板)
手把手教你編寫接口需求文檔
點擊“閱讀原文”
查看更多干貨
總結
以上是生活随笔為你收集整理的为什么不懂技术的人可以做产品经理(下)?的全部內容,希望文章能夠幫你解決所遇到的問題。