1。 數(shù)據(jù)庫
1。 數(shù)據(jù)庫(通常是一個文件或一組文件)保存一些符合特定規(guī)范的數(shù)據(jù)。 數(shù)據(jù)庫對應(yīng)的英文查詢詞為Database或DB。 數(shù)據(jù)庫軟件稱為數(shù)據(jù)庫管理系統(tǒng),英文簡稱為DBMS,完全稱為Database
管理系統(tǒng),例如:Oracle,MySQL,SQL Server,Sybase,informix,DB2等。 [h ]
2。 無論您開發(fā)PC端Web應(yīng)用程序還是移動端應(yīng)用程序,都需要一個數(shù)據(jù)庫來存儲您的業(yè)務(wù)數(shù)據(jù)(包括電子商務(wù)產(chǎn)品)信息,游戲道具信息,社交人員信息等)。 可以說,數(shù)據(jù)庫是后端系統(tǒng)中最重要的存儲組件。 作為Java程序開發(fā)人員,您將發(fā)現(xiàn)您已完成的大多數(shù)代碼邏輯最終都將不斷與數(shù)據(jù)庫進(jìn)行交互。
第二,MySQL數(shù)據(jù)庫
1,MySQL是一個小型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
是WEB應(yīng)用程序中最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用程序軟件之一。 市場份額約為20%。
它的優(yōu)點(diǎn)如下:
(1)開源軟件。
用C語言和C ++語言編寫,并使用了各種編譯器進(jìn)行測試,以確保源代碼的可移植性。
(2)高適用性。
支持多種操作系統(tǒng)。 支持多個存儲引擎。 它可以用作客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境中的獨(dú)立應(yīng)用程序,也可以作為庫嵌入到其他軟件中。 并提供多種數(shù)據(jù)庫連接方法,例如TCP / IP,ODBC和JDBC。
(3)提供用于多種編程語言(包括C,C ++,Python,Java,PHP等)的API。
(4)支持多線程并充分利用cpu。
(5)使用優(yōu)化的SQL語句查詢算法來提高查詢效率。
2。 補(bǔ)充:
另外,如果李Nux用作操作系統(tǒng),Apache和Nginx用作Web服務(wù)器,MySQL
用作數(shù)據(jù)庫,PHP / Perl / Python用作服務(wù)器端腳本解釋器。 由于這四個軟件都是免費(fèi)的,因此您無需花費(fèi)一分錢(人工費(fèi)用除外),就可以構(gòu)建一個穩(wěn)定且免費(fèi)的網(wǎng)站系統(tǒng),這種方式在業(yè)界被稱為“ LAMP”或“ LNMP”組合。
這就是為什么許多新創(chuàng)公司或中小型企業(yè)使用mysql的原因。
3。 Oracle數(shù)據(jù)庫
Oracle數(shù)據(jù)庫是Oracle開發(fā)的大規(guī)模關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
它是數(shù)據(jù)庫領(lǐng)域的負(fù)責(zé)人。 可以說,Oracle數(shù)據(jù)庫管理系統(tǒng)是當(dāng)前世界上最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),市場份額為40%。
原因如下:
(1)系統(tǒng)處于高度開放狀態(tài)。 (付款后)
Oracle可以在所有主要系統(tǒng)平臺上運(yùn)行。 支持所有行業(yè)標(biāo)準(zhǔn)。 采取完全開放的策略。 對開發(fā)人員的全力支持。 使客戶能夠選擇最合適的解決方案。
(2)高可伸縮性和并行性。
Oracle數(shù)據(jù)庫系統(tǒng)以分布式數(shù)據(jù)庫為核心。
并行服務(wù)器通過使一組節(jié)點(diǎn)共享同一群集中的工作來擴(kuò)展Windowsnt的功能,從而提供具有高可用性和高可伸縮性的群集解決方案。
如果WindowsNT無法滿足需求,則用戶可以將數(shù)據(jù)庫移至UNIX。 Oracle的并行服務(wù)器與各種UNIX平臺的集群機(jī)制具有很高的集成度。
(3)高安全性
Oracle數(shù)據(jù)庫已獲得最高認(rèn)證級別的ISO標(biāo)準(zhǔn)認(rèn)證。
(4)卓越的性能
在開放平臺下保持TPC-D和TPC-C的世界紀(jì)錄。
(5)高適用性
多層網(wǎng)絡(luò)計(jì)算,支持多種工業(yè)標(biāo)準(zhǔn),并且可以通過ODBC,JDBC,OCI等網(wǎng)絡(luò)客戶端進(jìn)行連接。
[h ](6)低風(fēng)險
完全向后兼容的數(shù)據(jù)庫系統(tǒng)。 它被廣泛使用。 沒有風(fēng)險。
四個。 MySQL與Oracle的比較
(1)Oracle支持多任務(wù)處理,即大并發(fā)和高流量,這是聯(lián)機(jī)事務(wù)處理流程(OLTP)的最佳工具。 但是,MySQL無法支持過多的流量。
(2)Oracle是一個大型的付費(fèi)數(shù)據(jù)庫。 Mysql是一個開源的中小型數(shù)據(jù)庫,Oracle具有很高的市場份額,而Mysql則相對較低。
(3)兩種安裝使用的空間之間有很大的差距。 安裝Mysql后,它超過100兆字節(jié),但是Oracle超過3,000兆字節(jié),并且在使用時,Oracle占用非常大的內(nèi)存空間和其他計(jì)算機(jī)性能。
(4)Oracle的操作更為復(fù)雜,在提供GUI和命令行的同時,在WindowsNT和UNIX下的操作相同。
Mysql使用sql語言進(jìn)行操作,這相對簡單。 這也產(chǎn)生了人工成本問題。 使用Oracle的公司需要培訓(xùn)數(shù)據(jù)庫技術(shù)人員,而MySQL則不需要。
(5)現(xiàn)在提供了一些知名公司的數(shù)據(jù)庫配置:
Yihaodian,JD:兩者都是MySQL和Oracle的混合系統(tǒng),我還購買了Oracle All-in 一臺機(jī)器。 (Oracle Exadata X5具有24T內(nèi)存,576核CPU,價格估計(jì)在數(shù)千萬至數(shù)億元人民幣)
Suning.com:這是一個技術(shù)團(tuán)隊(duì)和技術(shù)體系 由IBM,使用MySQL和Oracle的DB2 Hybrid系統(tǒng);
攜程旅行:.NET技術(shù)是主流,因此它是一個以SQL Server為主要對象,以MySQL為補(bǔ)充的混合系統(tǒng)。
Vipshop:也是MySQL和Oracle的混合系統(tǒng);
亞馬遜:我選擇了Oracle + MongoDB。
fBay:使用MySQL + MongoDB
五個。 JDBC
1。 概念
(1)JDBC(Java數(shù)據(jù)庫連接,java數(shù)據(jù)庫連接)是用于執(zhí)行SQL語句的Java
API,它可以提供對各種關(guān)系數(shù)據(jù)庫的統(tǒng)一訪問。 它由一組Java語言組成,由書面的類和接口組成。 JDBC提供了一個基準(zhǔn),通過該基準(zhǔn)可以構(gòu)建更高級的工具和接口,以使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。
(2)使用JDBC,可以很容易地將SQL語句發(fā)送到各種關(guān)系數(shù)據(jù)。 換句話說,使用JDBC
API,無需編寫用于訪問MySQL數(shù)據(jù)庫的特殊程序,也不需要編寫用于訪問Oracle數(shù)據(jù)庫的另一特殊程序。 程序員只需要使用JDBC
API編寫程序。 將SQL調(diào)用發(fā)送到相應(yīng)的數(shù)據(jù)庫。 同時,Java語言和JDBC的組合使程序員不必為不同的平臺編寫不同的應(yīng)用程序。 他們只需要編寫程序即可在任何平臺上運(yùn)行。 這也是Java語言“一次編寫,隨處運(yùn)行”的優(yōu)勢。