一、為什么移動設備上不使用直接遠程數(shù)據(jù)庫
任何非局域網(wǎng)軟件都不能直接連接數(shù)據(jù)庫,別說app了,實在太危險了。互聯(lián)網(wǎng)的服務器端開發(fā)有個基本原則,不要相信任何客戶端數(shù)據(jù)。誰知道在生產(chǎn)期內(nèi)服務器收到的數(shù)據(jù)是來自正常的客戶端,還是被修改過的呢。
雖然還有很多古老的程序在用,但這種做法真的很危險,數(shù)據(jù)直接依靠一個到處傳播的密碼保護,為了好記,這密碼一般還很簡單。這個是分分鐘作死的節(jié)奏。事實上就算在局域網(wǎng),這個也是個安全隱患。
安卓和iOS是可以直連數(shù)據(jù)庫的,但我們不會這么用。因為:安全性得不到保障。
通過逆向工程,很容易就可以獲得服務器地址、端口、用戶名和密碼。有了這些,一個不懂編程普通人都可以通過NAVICAT操作你的數(shù)據(jù)庫。
所以,我們會開發(fā)中間件(或者采用已有的商用、免費中間件)。
延伸閱讀:
二、什么是數(shù)據(jù)庫
數(shù)據(jù)庫就是英文的“database”翻譯來的,data + base,故名思義就是數(shù)據(jù)的根源,數(shù)據(jù)的基礎。那么為什么要有數(shù)據(jù)庫呢,數(shù)據(jù)庫首先是個計算機軟件,在所謂數(shù)據(jù)庫誕生之前,常用方法可能是程序員自己寫一個小程序來完成數(shù)據(jù)處理分析這樣的工作。
伴隨著計算機的普及,越來越多的場景開始使用計算機,產(chǎn)生了越來越多的數(shù)據(jù),也催生了越來越多的數(shù)據(jù)分析需求。為了降低數(shù)據(jù)分析的門檻,讓更多人能夠更方便高效地管理分析數(shù)據(jù),工程師們就打造了一種專門的軟件來幫助人們對數(shù)據(jù)進行合理的存儲以提高存取效率,提供易用的接口和豐富的分析算法以方便使用,集成有效的管理工具以提高數(shù)據(jù)安全性等等,這就是數(shù)據(jù)庫,也被稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database management system)。
數(shù)據(jù)庫是一整套數(shù)據(jù)管理體系,包括數(shù)據(jù)存儲的模型、數(shù)據(jù)組織的架構、數(shù)據(jù)分析的算法、數(shù)據(jù)管理的工具以及數(shù)據(jù)訪問的接口等等。