原文鏈接:
http://www.cnblogs.com/zeyang/p/3601810.html
名詞解釋
LAMP
The LAMP software bundle (here additionally with Squid). A high performance and high-availability solution for a hostile environment
LAMP是指一組通常一起使用來運行動態網站或者服務器的自由軟件名稱首字母縮寫:
· MariaDB或MySQL,數據庫管理系統(或者數據庫服務器);
From wiki:http://zh.wikipedia.org/wiki/LAMP
MEAN(MongoDB,Express,Angular,Nodejs/Nginx)
MongoDB是一種文件導向數據庫管理系統,由C++撰寫而成,以此來解決應用程序開發社區中的大量現實問題。NoSql.
Express 是一個簡潔而靈活的 node.js Web應用框架, 提供一系列強大特性幫助你創建各種Web應用
AngularJS是一款開源JavaScript函式庫,由Google維護,用來協助單一頁面應用程式運行的。它的目標是透過MVC模式(MVC) 功能增強基於瀏覽器的應用,使開發和測試變得更加容易。
Nginx(發音同engine x)是一款由俄羅斯程序員Igor Sysoev所開發輕量級的網頁服務器、反向代理服務器以及電子郵件(IMAP/POP3)代理服務器。
From
http://zh.wikipedia.org/wiki/MongoDB/
http://zh.wikipedia.org/wiki/AngularJS
http://zh.wikipedia.org/wiki/Nginx
NoSQL
在計算機科學中,非關係型數據庫(NoSQL)是一個和之前的關係型數據庫(RDBM)有很大不同的另一類數據結構化存儲管理系統。非關係型數據庫通常沒有固定的表結構,並且避免使用join操作。和關係型數據庫相比,非關係型數據庫特別適合以SNS爲代表web 2.0應用,這些應用需要極高速的併發讀寫操作,而對數值一致性要求卻不甚高。
關係型數據庫最大特點就是事務的一致性:傳統的關係型數據庫讀寫操作都是事務的,具有ACID(原子性Atomicity、一致性Consistency、隔離性Isolation、持久性Durability)的特點,C就是一致性(Consistency),這個特點是關係型數據庫的靈魂(其他三個AID都是爲其服務的),這個特性使得關係型數據庫可以用於幾乎所有對一致性有要求的系統中,如典型的銀行系統。
但是,在網頁應用中,尤其是SNS應用中,一致性卻不是顯得那麼重要,用戶A看到的內容和用戶B看到同一用戶C內容更新不一致是可以容忍的,或者說,兩個人看到同一好友的數據更新的時間差那麼幾秒是可以容忍的,因此,關係型數據庫的最大特點在這裏已經無用武之地,起碼不是那麼重要了。
相反的,關係型數據庫爲了維護一致性所付出的巨大代價就是其讀寫性能比較差,而像微博,facebook這類SNS的應用,對併發讀寫能力要求極高,關係型數據庫已經無法應付(在讀方面,傳統上爲了克服關係型數據庫缺陷,提高性能,都是增加一級memcache來靜態化網頁,而在SNS中,變化太快,memcache已經無能爲力),因此,必須用新的一種數據結構化存儲來來代替關係數據庫。
關係數據庫的另一個特點就是其具有固定的表結構,因此,其擴展性極差,而在SNS中,系統的升級,功能的增加,往往意味着數據結構巨大改動,這一點關係型數據庫也難以應付,需要新的結構化數據存儲。
於是,非關係數據庫(NoSQL)應運而生,由於不可能用一種數據結構化存儲方式應付所有的新的需求,因此,非關係型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合。
必須強調的是,數據的持久存儲,尤其是海量數據的持久存儲,還是需要關係數據庫這員老將。
From:http://www.sigma.me/2011/06/11/intro-to-nosql.html
Web應用框架
(Web application framework)是一種計算機軟件框架,用來支持動態網站、網絡應用程序及網絡服務的開發。這種框架有助於減輕網頁開發時共通性活動的工作負荷,例如許多框架提供數據庫訪問接口、標準樣板以及會話管理等,可提升代碼的可再用性。
PHP
· CakePHP
· Yii
· ThinkPHP
· symfony
· Laravel
· Seagull
· Drupal
javascript
· jQuery
· MooTools
· dojo
· zk
Python
· django
· pinax
· Grok
· Pylons
· web2py
· Zope
· Quixote
· PylonsHQ
Ruby
· Sinatra
JAVA
· Spring
· Struts
· Grails
· Tapestry
· ZK