1. 程式人生 > >資料庫架構設計

資料庫架構設計

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

author:skate
time:2013/06/04

 

資料庫架構設計

最近在考慮如何能設計好一個數據庫架構,下面是個人一點想法,歡迎高人指正
 

任何系統都不是獨立的,是一個生態系統,資料庫也是一樣的,要使其在其生命週期內更好的服務於業務,在設計之初就要考慮周全。作為資料庫設計者在大方向上最為關心的是如下幾點,也是要實現的目標:
  資料庫架構
  硬體選型
  運營維護

以一個建立平臺系統為例,要經歷業務架構設計,資料架構設計,應用架構設計,系統架構設計,運營維護

業務架構:公司的業務模式,實現業務流程、功能等
資料架構:實現資料共享、一致性、完整性、準確性
      資料定義
               資料標準:如靜態資料:元資料、業務物件;動態資料:訂單等
               資料概念模型

:根據需求分析,進行綜合分析,形成獨立於具體DBMS的概念模型,要理清
                        實體和實體關係
                        屬性和域
                       業務規則(應用實現和資料庫實現)


                   並綜合考慮如下幾點
                      儲存哪些資料
                      資料來源
                      資料的約束規則及
                      資料怎樣被使用
                      使用者想看到哪些資料
                      資料與其他系統是否互動          
                      資料訪問方式
    
                資料邏輯模型:將概念模型轉化為某個具體的DBMS支援的模型,繪製E-R圖,在本階段要完成實體間 的關係;考慮屬性的域(值的型別,範圍,約束)
                資料物理模型:將E-R圖轉化具體的RDBMS相應的表,如果系統比較大的話,還要考慮系統架構為邏輯模型設計一個合適的物理環境。
         
        資料分佈:資料業務分佈與資料系統分佈(集中或分散式)
        資料管理:資料模型與資料標準管理,資料分佈管理,資料質量管理,資料安全管理,資料生命週期、儲存維護管理

應用架構:從業務架構、資料架構考慮系統的功能邊界在哪,結合CRUD矩陣等分析方法考慮系統需
                     要劃分成多少個模組?如何封裝模組?才能保證模組本身高內聚和鬆耦合,每個模組之間
                     的介面和呼叫關係,採用什麼樣的技術框架。應用架構設計有幾個核心的原則:
   
                    開放-封閉原則:即對擴充套件開放,對修改封閉
                    高內聚低耦合原則:儘量將功能相關的內容組合在一起,封裝後對外提供介面。
                    封裝變化原則:越是可能發生變化的地方越要進行處理和封裝,將變化的影響限制在一定範圍之內。
                   平衡性原則:架構設計需要平衡多方面的要求,折衷考慮設計方案,比如效能和靈活性就常常是一對矛盾的要求。

系統架構:系統架構主要是關注的是非功能性要求的實現,如:
      1.資料安全、容災需求
      2.維護需求
      3.擴充套件需求
      4.高可用需求
      5.資源、成本要求
      6.保證每一模組高內聚低耦合
      7.容量(效能和儲存)需求
      8.併發訪問量,高併發訪問時的瓶頸,資料庫?應用伺服器?
      9.海量資料儲存與訪問優化
     10.資料庫分庫分表
     11.軟體叢集/硬體叢集
     12.系統過載保護
     13.快取機制
     14.容錯能力
     15.與其他系統互動
     16.分散式處理,資料一致性、完整性、及時性

  
如果系統比較簡單,資料量、訪問量很小,那就沒必要過多考慮系統架構,在部署上採用raid技術,分層儲存,讀寫分離,主備技術,負載均衡等方法。    
     
通過以上就可以清晰的知道資料庫架構,再配合一個數據庫申請單就更全面,下面就開始硬體選型     

 
硬體選型  
方案要保證系統上線可以支撐1-2年左右,以後根據需要動態擴充套件;從儲存空間,效能空間兩個維度, 並結合系統架構考慮支撐業務需要的硬體需求,方法有兩種
   1.根據監控資料,和當前類似業務對比,推斷出需要的硬體  
   2.對於我們io密集型系統,可以根據訪問量計算出需要的io能力,從而推斷出需要的硬體  

  
運營維護
    略
 

相關:

中小企業的db備份框架的思考

系統設計感悟

分庫分表的排序

連線數對DB系統的影響

 

-------續------

 

 

 

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述