而傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問(wèn)題,例如:

為集寧等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及集寧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、集寧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
1、High performance - 對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫(xiě)的需求
web2.0網(wǎng)站要根據(jù)用戶個(gè)性化信息來(lái)實(shí)時(shí)生成動(dòng)態(tài)頁(yè)面和提供動(dòng)態(tài)信息,所以基本上無(wú)法使用動(dòng)態(tài)頁(yè)面靜態(tài)化技術(shù),因此數(shù)據(jù)庫(kù)并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬(wàn)次讀寫(xiě)請(qǐng)求。關(guān)系數(shù)據(jù)庫(kù)應(yīng)付上萬(wàn)次SQL查詢還勉強(qiáng)頂?shù)米。菓?yīng)付上萬(wàn)次SQL寫(xiě)數(shù)據(jù)請(qǐng)求,硬盤(pán)IO就已經(jīng)無(wú)法承受了。其實(shí)對(duì)于普通的BBS網(wǎng)站,往往也存在對(duì)高并發(fā)寫(xiě)請(qǐng)求的需求。
2、Huge Storage - 對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)和訪問(wèn)的需求
對(duì)于大型的SNS網(wǎng)站,每天用戶產(chǎn)生海量的用戶動(dòng)態(tài),以國(guó)外的Friendfeed為例,一個(gè)月就達(dá)到了2.5億條用戶動(dòng)態(tài),對(duì)于關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),在一張2.5億條記錄的表里面進(jìn)行SQL查詢,效率是極其低下乃至不可忍受的。再例如大型web網(wǎng)站的用戶登錄系統(tǒng),例如騰訊,盛大,動(dòng)輒數(shù)以億計(jì)的帳號(hào),關(guān)系數(shù)據(jù)庫(kù)也很難應(yīng)付。
3、High Scalability High Availability- 對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展性和高可用性的需求
在基于web的架構(gòu)當(dāng)中,數(shù)據(jù)庫(kù)是最難進(jìn)行橫向擴(kuò)展的,當(dāng)一個(gè)應(yīng)用系統(tǒng)的用戶量和訪問(wèn)量與日俱增的時(shí)候,你的數(shù)據(jù)庫(kù)卻沒(méi)有辦法像web server和app server那樣簡(jiǎn)單的通過(guò)添加更多的硬件和服務(wù)節(jié)點(diǎn)來(lái)擴(kuò)展性能和負(fù)載能力。對(duì)于很多需要提供24小時(shí)不間斷服務(wù)的網(wǎng)站來(lái)說(shuō),對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行升級(jí)和擴(kuò)展是非常痛苦的事情,往往需要停機(jī)維護(hù)和數(shù)據(jù)遷移,為什么數(shù)據(jù)庫(kù)不能通過(guò)不斷的添加服務(wù)器節(jié)點(diǎn)來(lái)實(shí)現(xiàn)擴(kuò)展呢?
在上面提到的“三高”需求面前,關(guān)系數(shù)據(jù)庫(kù)遇到了難以克服的障礙,而對(duì)于web2.0網(wǎng)站來(lái)說(shuō),關(guān)系數(shù)據(jù)庫(kù)的很多主要特性卻往往無(wú)用武之地,例如:
1、數(shù)據(jù)庫(kù)事務(wù)一致性需求
很多web實(shí)時(shí)系統(tǒng)并不要求嚴(yán)格的數(shù)據(jù)庫(kù)事務(wù),對(duì)讀一致性的要求很低,有些場(chǎng)合對(duì)寫(xiě)一致性要求也不高。因此數(shù)據(jù)庫(kù)事務(wù)管理成了數(shù)據(jù)庫(kù)高負(fù)載下一個(gè)沉重的負(fù)擔(dān)。
2、數(shù)據(jù)庫(kù)的寫(xiě)實(shí)時(shí)性和讀實(shí)時(shí)性需求
對(duì)關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),插入一條數(shù)據(jù)之后立刻查詢,是肯定可以讀出來(lái)這條數(shù)據(jù)的,但是對(duì)于很多web應(yīng)用來(lái)說(shuō),并不要求這么高的實(shí)時(shí)性。
3、對(duì)復(fù)雜的SQL查詢,特別是多表關(guān)聯(lián)查詢的需求
任何大數(shù)據(jù)量的web系統(tǒng),都非常忌諱多個(gè)大表的關(guān)聯(lián)查詢,以及復(fù)雜的數(shù)據(jù)分析類型的復(fù)雜SQL報(bào)表查詢,特別是SNS類型的網(wǎng)站,從需求以及產(chǎn)品設(shè)計(jì)角度,就避免了這種情況的產(chǎn)生。往往更多的只是單表的主鍵查詢,以及單表的簡(jiǎn)單條件分頁(yè)查詢,SQL的功能被極大的弱化了。
因此,關(guān)系數(shù)據(jù)庫(kù)在這些越來(lái)越多的應(yīng)用場(chǎng)景下顯得不那么合適了,為了解決這類問(wèn)題的非關(guān)系數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生。
NoSQL 是非關(guān)系型數(shù)據(jù)存儲(chǔ)的廣義定義。它打破了長(zhǎng)久以來(lái)關(guān)系型數(shù)據(jù)庫(kù)與ACID理論大一統(tǒng)的局面。NoSQL 數(shù)據(jù)存儲(chǔ)不需要固定的表結(jié)構(gòu),通常也不存在連接操作。在大數(shù)據(jù)存取上具備關(guān)系型數(shù)據(jù)庫(kù)無(wú)法比擬的性能優(yōu)勢(shì)。該術(shù)語(yǔ)在 2009 年初得到了廣泛認(rèn)同。
當(dāng)今的應(yīng)用體系結(jié)構(gòu)需要數(shù)據(jù)存儲(chǔ)在橫向伸縮性上能夠滿足需求。而 NoSQL 存儲(chǔ)就是為了實(shí)現(xiàn)這個(gè)需求。Google 的BigTable與Amazon的Dynamo是非常成功的商業(yè) NoSQL 實(shí)現(xiàn)。一些開(kāi)源的 NoSQL 體系,如Facebook 的Cassandra, Apache 的HBase,也得到了廣泛認(rèn)同。
社交APP開(kāi)發(fā),主要分為定制開(kāi)發(fā)和模板開(kāi)發(fā):
一、模板開(kāi)發(fā)
APP模板開(kāi)發(fā)的速度較快,開(kāi)發(fā)價(jià)格從幾千塊到幾萬(wàn)塊不等,與定制開(kāi)發(fā)相比,開(kāi)發(fā)時(shí)間快,價(jià)格也較低。
當(dāng)然有利就有弊,APP模板開(kāi)發(fā)出來(lái)的APP安全性很差。由于模板源代碼所有權(quán)歸App開(kāi)發(fā)商所有,企業(yè)只有使用權(quán),再加上一套模板可能被很多家企業(yè)使用,所以很難保證代碼安全性,極易被黑客攻擊造成信息泄露。
另外,模板APP很難個(gè)性化修改。模板類App都是固定的功能和代碼,很多APP甚至連前端的UI都不能修改。所以造成開(kāi)發(fā)出來(lái)的APP用戶體驗(yàn)極差。
二、定制開(kāi)發(fā)
定制開(kāi)發(fā),就是開(kāi)發(fā)公司按照客戶要求定制App的功能和界面。定制開(kāi)發(fā)通常都有一套完整的流程,從用戶需求分析,到團(tuán)隊(duì)組建,再到UI設(shè)計(jì)程序搭建,APP程序完成后的反復(fù)測(cè)試,再到最后的上線APP應(yīng)用商店。都是有完整流程保障的。
因?yàn)闋砍兜饺斯こ杀竞烷_(kāi)發(fā)周期,和市面上的模板App相比,企業(yè)定制App的費(fèi)用要稍高一些,從幾萬(wàn)到幾十萬(wàn)不等。由于需要反復(fù)測(cè)試修改各項(xiàng)功能,開(kāi)發(fā)時(shí)間也要稍長(zhǎng)一些。
如果您是想開(kāi)發(fā)一款擁有完備功能和完美用戶體驗(yàn)的APP,還是要選擇靠譜的APP定制開(kāi)發(fā)公司!
一個(gè)人開(kāi)發(fā)一個(gè)安卓社交APP不難,如果是業(yè)余時(shí)間,每天下班回家到12點(diǎn),這樣每天大概4個(gè)小時(shí),外加周末每天12個(gè)小時(shí),一個(gè)月足夠了(有經(jīng)驗(yàn)的條件下)~
A.UI設(shè)計(jì)是否已有?如果有會(huì)節(jié)約很多時(shí)間,沒(méi)有你估計(jì)還得自己PS一下圖片;
B.對(duì)編程是否有經(jīng)驗(yàn)?從題主的問(wèn)題可以看到你對(duì)編程估計(jì)經(jīng)驗(yàn)不足;
社交軟件分很多種,常用的無(wú)非附近人,發(fā)發(fā)圖,拍拍照,修修圖,拍拍視頻;
下面分別介紹下各種技術(shù):Android+后臺(tái),Java Servlet,走HTTP,不走Thrift,不走自有協(xié)議……
首先,討論Android端:
1. 首要條件是熟悉Java編程,沒(méi)有任何計(jì)算機(jī)基礎(chǔ)的人麻煩,有基礎(chǔ)的人學(xué)起來(lái)估計(jì)很快;
2.其次熟悉Android的開(kāi)發(fā)環(huán)境,直接開(kāi)頭從最簡(jiǎn)單不復(fù)雜的頁(yè)面開(kāi)發(fā),那么你需要了解:Activity,F(xiàn)ragment, Service工作機(jī)制,以及SharedPreferences、Sqlite、文件存儲(chǔ)等,了解常用界面layout編寫(xiě),知道一些界面的兼容,這些東西都知道就夠了,一個(gè)簡(jiǎn)單APP就可以搞起;
如果能知道一些加密協(xié)議,比如:DES/AES,IMEI綁定(社交很容易導(dǎo)向約炮/黃圖等問(wèn)題,所以得做點(diǎn)措施),MD5等更好;
3.會(huì)用到一些Android上的開(kāi)源組件:圖片加載-ImageLoader,滑動(dòng)刷新-PullToRefesh/SwipeRefreshLoadLayout,圖片渲染-GpuImage等等,要知道并且會(huì)用;
4.一些需要的公共服務(wù):位置定位-百度定位(百度地圖API-首頁(yè))/高德定位(LBS開(kāi)放平臺(tái) | 高德地圖API),推送-百度推送/極光推送等等,數(shù)據(jù)統(tǒng)計(jì)-友盟統(tǒng)計(jì),這些應(yīng)該夠了;
5.與服務(wù)器交互的協(xié)議:HTTP協(xié)議的掌握,get/post就夠了,補(bǔ)充:Volley網(wǎng)絡(luò)請(qǐng)求庫(kù)等;
其次,討論后臺(tái):
1.由于你是新手,我們這里開(kāi)發(fā)語(yǔ)言直接用Java/PHP,Java的話就直接Servlet就Ok,簡(jiǎn)單容易,上手快,如果PHP就LAMP,個(gè)人推薦Java,知道一點(diǎn)HTTP協(xié)議;
2.數(shù)據(jù)庫(kù)直接用Mysql,操作起來(lái)方便,熟悉的人多問(wèn)起來(lái)快速有人回答;
3.學(xué)會(huì)SQL的編寫(xiě),基本的Select、Update、Insert、Index就夠了,不會(huì)Join之類不怕,就多寫(xiě)幾個(gè)語(yǔ)句,性能差不怕,抗住就行,后面再改;
4.數(shù)據(jù)庫(kù)連接用:JDBC,簡(jiǎn)單容易上手快;
5.聊天系統(tǒng)可以用第三方的融云之類,我記得有個(gè)日活20W以下不收費(fèi)的;
6.短信系統(tǒng)也可以用第三方的;
7.服務(wù)器就直接用阿里云,買(mǎi)一臺(tái)阿里云,直接跑一個(gè)Mysql+Tomcat就行了,后面有用戶了升級(jí)再說(shuō);
總之,原則就是市面上有的,開(kāi)源的,最便宜的都可以拿來(lái)用。
綜合一下,首要是Java語(yǔ)言,然后知道Android編寫(xiě)界面,知道Android跟后臺(tái)HTTP交互,知道Service開(kāi)發(fā),知道Servlet編寫(xiě),知道JDBC操作,等JDBC寫(xiě)好可以升級(jí)知道數(shù)據(jù)庫(kù)連接池(DBCP)。
網(wǎng)站名稱:社交appnosql,社交APP能否緩解當(dāng)代年輕人的社交焦慮?
分享鏈接:http://chinadenli.net/article5/dsiisoi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、企業(yè)建站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容