1. 大數據時代:數據是核心資產,數據庫技術是必修課
隨著業務數字化深入,數據量級從 GB 進入 TB/PB,實時分析、機器學習特徵工程、客戶 360 度畫像均建立在穩健的數據庫之上。掌握建模、調優、高可用、遷移等核心技能,是後端/架構/數據工程師的分水嶺。
2. 數據庫創建規範:先有庫,再有表,權責清晰
- 創建數據庫:
CREATE DATABASE BizDB ON PRIMARY (NAME=BizDB_Data, FILENAME='D:\Data\BizDB.mdf', SIZE=10GB, FILEGROWTH=1GB) LOG ON (NAME=BizDB_Log, FILENAME='L:\Log\BizDB.ldf', SIZE=5GB, FILEGROWTH=512MB);
- 上下文切換:
USE BizDB; 後續所有 DDL/DML 均在該庫內。
- 命名規範:
業務域_環境(如 Order_Prod、User_Dev)。
3. 完整性約束:設計階段的「免疫系統」
| 完整性類型 | 實現機制 | 示例 |
| 實體完整性 | PRIMARY KEY / UNIQUE / IDENTITY | OrderID INT PRIMARY KEY |
| 引用完整性 | FOREIGN KEY | CustomerID INT REFERENCES Customers(ID) |
| 域完整性 | CHECK / DEFAULT / NOT NULL / 用戶定義類型 | Status TINYINT CHECK (Status BETWEEN 0 AND 5) DEFAULT 0 |
| 用戶定義完整性 | 觸發器 / 存儲過程 / 應用層校驗 | 跨表餘額檢查、複雜業務規則 |
原則:約束下推到數據庫層,應用層僅做友好提示,數據庫是最後防線。
4. 安全性:纵深防御體系
- 最小權限:應用賬號僅擁有業務表 DML 權限,無 DDL/系統表權限。
- 加密傳輸:強制 TLS 1.2+(
FORCE ENCRYPTION、客戶端 encrypt=true)。
- 靜態加密:TDE (Transparent Data Encryption) 加密數據/日志/備份文件。
- 列級加密:
ENCRYPTBYKEY/DECRYPTBYKEY 保護身份證、銀行卡等 PII。
- 審計:SQL Server Audit / 靜默審計記錄所有 DDL/DML/登錄/失敗事件,寫入文件/Windows 安全日志。
- 掩碼:動態數據掩碼 (Dynamic Data Masking) 讓非特權用戶見脫敏數據。
5. 系統級認知:從單機到分佈式的演進路線圖
- 單機優化:索引、統計、查詢重寫、參數化、鎖/阻塞分析、
tempdb 優化。
- 高可用:Always On 可用性組(AG)、故障轉移叢集 (FCI)、日志傳送、鏡像(棄用)。
- 讀寫分離:AG 可讀次要副本、事務複製、CDC + Kafka 流式同步至只讀庫/數據倉庫。
- 分庫分表:ShardingSphere、Vitess、自定義路由,解決單表寫入/存儲瓶頸。
- 雲原生:Azure SQL / AWS RDS / 阿里云 RDS 托管服務,Serverless、自動備份、跨區災備開箱即用。
總結:數據庫不只是「存數據的地方」,而是業務核心邏輯的守護者、數據資產的增值引擎。建立系統性知識體系,才能在架構選型、故障排查、容量規劃中遊刃有餘。
- 上一篇文章: Java/JDBC 連接 SQL Server 2005/2008 完整配置指南:驅動下載、Classpath、URL 語法與 Eclipse 實戰
- 下一篇文章: SQL Server 通用分頁存儲過程:ROW_NUMBER 動態 SQL 實現與參數化設計
Copyright ©
程式碼之家 All Rights Reserved