[TOC] mysql資料庫 資料庫是什麼 存儲數的的倉庫 列表,字典....等等,都是記憶體中的,其缺點:斷點即消失, 優點:速度快 文件存儲, 缺點: 速度慢, 優點: 可以實現永久保存 本質就是一套基於CS結構的,客戶端和服務端程式,最終的數據存儲在伺服器端的磁碟中 為什麼要使用資料庫 直接使用 ...
目錄
mysql資料庫
資料庫是什麼
存儲數的的倉庫
- 列表,字典....等等,都是記憶體中的,其缺點:斷點即消失, 優點:速度快
- 文件存儲, 缺點: 速度慢, 優點: 可以實現永久保存
本質就是一套基於CS結構的,客戶端和服務端程式,最終的數據存儲在伺服器端的磁碟中
為什麼要使用資料庫
直接使用文件存儲帶來的問題
速度慢
我們的程式將來可能分佈在不同的機器上
分散式:
每個伺服器提供不同的服務,有時候某個業務流程可能會涉及到多個伺服器
- 優點:耦合度降低,易維護
- 缺點:通訊繁瑣,容災性沒有集群好
集群:
所有伺服器提供的服務是一模一樣的
- 優點:容災性強,易擴展,可插拔
- 缺點:耦合度高
- 用戶許可權管理
多個客戶端並訪問, 數據要保證安全
資料庫的分類
關係型資料庫
數據之間可以存在關聯關係,資料庫會幫我們維護這種關係
通常存儲介質都是磁碟
常見類型:
MySQL
是我們學習的重點: 是目前最流行的關係型資料庫,因為其免費開源,性能不錯,目前已經被oracle收購了,適用於中小型企業
sqlserver
是微軟推出的,因為其職能運行在Windows平臺,所以發展不咋的
oracle
目前最強大的關係型資料庫,主要是在集群,和用戶管理上,非常適合大型企業
db2
IBM的產品,主要面向企業級用戶,不差錢的用戶,捆綁硬體銷售
非關係型資料庫
沒有維護數據之間的關係
通常存儲介質都是記憶體
常見的非關係型:
MongoDB
Redis
memcache
什麼是資料庫引擎?
引擎就是一個系統最核心的部分
資料庫引擎指的是真正負責存儲數據的模塊;
不同的引擎具備不同的特點:需要根據實際需求來選擇最適合的
SQL全程是結構化查詢語句,在關係型資料庫中是通用的
查看支持的引擎
show engines;
創建表指定引擎
create table 表名稱(列名 類型)engine = xxxx;
預設的也是最常用的引擎是innodb
資料庫重要概念
數據(column) 文件中的某個字元串
記錄(Row) 文件中的某一行
表(table) 某個文件
庫(database) 就是一個文件夾
DBMS 資料庫管理系統(指的是資料庫軟體)
資料庫伺服器 運行DBMS的電腦