Java面試題整理--資料庫MySQL(一)
阿新 • • 發佈:2019-02-07
1)關係型和非關係型資料庫的區別?
關係型資料庫:是指採用了關係模型來組織資料的資料庫。可以理解成二維的excel表格,是一一對應關係。常見的關係型資料庫有:MySQL、Oracle、DB2、Microsoft SQL Server、Microsoft Access等;
非關係型資料庫:是指採用了沒有特定關係模型來組織資料的資料庫。可以理解成一對多的資料關係,比如MongoDB;
不同的資料型別各有優缺點:
關係型資料庫的優勢:
1.可以用SQL語句方便的在一個表以及多個表之間做非常複雜的資料庫查詢;
2.資料更新的開銷;
3.☆☆通過事務處理保持資料的一致性;
4.時間長,技術成熟,對於安全效能很高的資料訪問要求得以實現。
缺點:
1.資料讀寫必須經過sql解析,大量資料、高併發下讀寫效能不足;
2.為了保證資料的一致性,需要加鎖處理,影響併發操作;
3.無法適應非結構化的儲存,擴充套件困難;
4.大量資料集中到一臺服務區處理時,伺服器的負載大;
5.“阻抗失諧”,即資料庫中儲存的物件與實際的物件實體有一定的差別。
非關係型資料庫的優勢:
1.資料之間基於鍵值對儲存,資料之間沒有耦合性,便於水平擴充套件;
2.沒有多表連線查詢機制的限制,擴充套件性高;不需要經過SQL層的解析,效能非常高;
3.處理高併發、大批量資料的能力強;支援分散式叢集,負載均衡,效能高;
4.資料儲存於快取之中,查詢速度快;
5.解決了“阻抗失諧”問題;儲存格式多,初鍵值對格式外,還可儲存文件、圖片等格式;
缺點:
1.技術起步晚,維護工具以及相關資料有限;
2.不支援現有的sql工業標準;
3.沒有複雜的連線操作;沒有完整性約束,對於複雜業務場景支援較差;
4.事務處理能力弱。
- 技術起步晚,維護工具以及技術資料有限
- 不支援sql工業標準
- 沒有join等複雜的連線操作
- 事務處理能力弱
- 沒有完整性約束,對於複雜業務場景支援較差
- 技術起步晚,維護工具以及技術資料有限
- 不支援sql工業標準
- 沒有join等複雜的連線操作
- 事務處理能力弱
- 沒有完整性約束,對於複雜業務場景支援較差