2023-12-07 分類: 網站建設
本期我們來聊聊創新互聯。在開始討論創新互聯之前,我們首先要明確一點。數據庫是大部分業務系統的核心,創新互聯也是一個非常重要的設計。
不過,這并不代表創新互聯是一件很困難的事情。對于我們的技術支持團隊,我們一直堅持后端開發者直接設計數據庫(無論開發者經驗如何),而不是讓有經驗的開發者做創新互聯的工作(有經驗的開發者做好審查工作)。
這是因為:
1、創新互聯不需要一次性全部設計好。在開發過程中,不可避免地要對數據庫進行調整。只要數據庫的骨架沒有問題(有經驗的開發者可以做好),比如添加或刪除字段、添加中間表、添加視圖等不會造成太大影響。
2、創新互聯是一些后端需求(通用業務系統)的改造過程。正如原型是前端部分的需求轉化過程一樣,后端功能(通用業務系統)的結構可以通過數據庫分庫分表來粗略描述。創新互聯),難免會出現無法區分功能結構的情況,只能根據頁面原型猜測需要哪些接口。這種看一個功能,開發一個接口的工作模式,無論代碼怎么寫,大部分情況下都會出現開發進度不可控、開發冗余接口、接口遺漏等問題。
所以,創新互聯是每個后端開發者必須掌握的技能,而創新互聯并不難。我們不考慮一下子把創新互聯完全拿出來,只需要設計好骨架。是(在設計審查和后續開發期間進行了調整)。
我們推薦的創新互聯步驟分為以下3個步驟:
子庫(由架構師或技術負責人完成)
子表(由開發者完成)
添加冗余字段、視圖(由開發者完成)
1、子庫
經常看到有些系統只有一個數據庫,而這個數據庫里有幾十萬張表。我相信網站開發,無論E-R圖紙多么詳細,描述寫得多么好,沒有人能夠弄清楚它們之間的關系。這無疑是系統越來越差的主要原因之一,也是微服務無法發揮應有作用的原因之一(使用同一個數據庫,后端服務擴展更多服務器也沒用)。
所以分庫的目的:
分庫的原理很簡單。一般來說,每個子系統對應一個數據庫。比如用戶系統、博客系統、商城系統、流程系統都有自己獨立的數據庫,系統劃分更多是基于業務架構。業務架構設計請參考我們之前的業務架構視頻。此外網站開發,對于一些數據密切相關的子系統,例如優惠券和資金系統,最好將它們組合成一個系統。
當然,數據庫獨立后會出現一些問題。對于大部分場景,通過前端調用多個接口進行集成就足夠了網站制作,但是對于一些需要強數據一致性的場景,就會涉及到數據庫分布式庫。 ,關于數據庫分布式事務,下期會詳細介紹。
2、子表
子表更多的是根據當前模塊的業務功能來確定。以博客系統為例,主要的業務邏輯是用戶寫博客,管理員審核后,其他用戶可以查看網站優化,也可以登錄博客。在下方評論以創建相應的四個表。但是,由于審計其實是一種狀態,可以用一個字段來記錄,所以只需要兩張表,一張是博客表,一張是評論表。
定義完主表后,需要查看本系統的所有功能點,看是否需要添加額外的表。如果發現博客系統中有收藏功能,可以考慮添加收藏表。
表劃分完成后,還要分析表之間是否存在多對多關系。如果博客有標簽分類,那么博客和標簽是多對多的關系。
這種多對多關系有兩種解決方案:
分表完成后,大致勾勒出一個模塊的功能結構。開發過程中,哪些功能是主要的,哪些是次要的也一目了然,讓開發計劃更加清晰,前后端聯調也一目了然。可以分階段完成。分表后,單個數據庫的結構基本清晰,但是對于一些特殊的功能,比如個人中心的評論列表,除了顯示評論內容外,還需要顯示博客。
3、添加冗余字段和視圖
此時需要考慮添加冗余字段,即博客名稱也記錄在評論表中(已經記錄在博客表中)當然冗余字段的更新是比較麻煩,所以冗余字段適合一些更新非常不頻繁或者不允許更新的字段。
當然,除了冗余字段,SQL語句也可以用來實現夸張的表查詢。對于這種夸張的表查詢,我們推薦使用視圖。也就是說,視圖是保存在數據庫中的一條SQL查詢語句,一個視圖可以簡化后端SQL語句的復雜度,也可以通過查看哪些接口使用視圖,就可以知道自己進行了跨表查詢(方便后續性能調優)。
例如,熱門博客需要按受歡迎程度進行排名,而受歡迎程度是通過將收藏、點贊和評論的數量乘以各自的權重來確定的。然后可以做一個視圖創建博客熱度虛擬表,可以用簡單的SQL查詢前3的博客(實際項目需要加緩存),也可以用簡單的SQL查詢某個博客類別下的前3篇博客(實際項目需要添加緩存)。
視圖除了上述好處外,還有一個好處:跨數據庫查詢(雖然可以直接使用SQL語句完成,但是視圖可以更規律),如果多個數據庫在同一個服務中, view 可以查詢數據庫(普通SQL語句也可以)。如果數據庫在不同的服務(.7以后),也可以通過數據同步來同步要查詢的數據,然后通過視圖查詢數據庫。當然,這種方式一般不常用于大型網站,因為如果同步數據庫的數據量太大或更新頻率高,往往得不償失。
命名約定
我們推薦的數據庫命名約定是數據庫的名稱與系統名稱相同。表名以 t_ 開頭,視圖以 v_ 開頭。如果在表中是唯一的,就用表名_開頭,如果是外鍵就用它原來的名字,視圖不改字段名。這樣即使沒有E-R圖,也可以通過字段名來判斷表與表的關系。這可能看起來很簡單,但它可以防止許多不必要的錯誤。
總結
創新互聯當然還包括索引、具體字段、字段類型和長度等,不過這些問題其實可以在實際開發過程中加入。一開始就考慮這些問題太仔細是浪費時間(甲方或業務部門要求除外)。
以上是我們推薦的創新互聯流程。當然,創新互聯從來沒有絕對的最優解。創新互聯是否相對合理,取決于對業務功能的理解和項目經驗。
但是不要擔心做好它,因為如果你不做它,你永遠不會做好它。只要你做幾次,被有經驗的人審核幾次,相信你的創新互聯會越來越成熟。
網站標題:網站開發創新互聯步驟及步驟(一)——數據庫原型設計網站前端開發
當前網址:http://m.newbst.com/news15/299815.html
成都網站建設公司_創新互聯,為您提供面包屑導航、小程序開發、服務器托管、網站制作、全網營銷推廣、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容