數(shù)據(jù)愛(ài)好者/工具,以及為什么遲早需要一個(gè)。
> Source: dbdocs.io
該數(shù)據(jù)庫(kù)可能很復(fù)雜且令人生畏。
作為開(kāi)發(fā)人員(特別是如果您來(lái)自后端團(tuán)隊(duì)),您受到非技術(shù)團(tuán)隊(duì)成員或客戶詢問(wèn)字段含義的電子郵件轟炸了多少次?
記錄和組織數(shù)據(jù)庫(kù)元數(shù)據(jù)對(duì)此很重要,但這并不是我們的首要任務(wù)。 由于數(shù)據(jù)庫(kù)的復(fù)雜性,我們經(jīng)常避免維護(hù)它,或者更糟的是首先創(chuàng)建它。
那是數(shù)據(jù)庫(kù)文檔工具派上用場(chǎng)的地方。 除了可以幫助您使用預(yù)定義的格式為數(shù)據(jù)庫(kù)創(chuàng)建詳細(xì)的數(shù)據(jù)目錄外,對(duì)于整個(gè)團(tuán)隊(duì)來(lái)說(shuō),工具可能是寶貴的資產(chǎn)。
這篇博客文章將與您分享數(shù)據(jù)庫(kù)文檔工具的真正重要性,以及應(yīng)該用來(lái)提高個(gè)人和團(tuán)隊(duì)工作效率的前5種工具。
什么是數(shù)據(jù)庫(kù)文檔工具?
Internet上沒(méi)有具體,廣泛接受的文檔工具定義,因此,我將嘗試根據(jù)自己的知識(shí)和研究進(jìn)行總結(jié)。
數(shù)據(jù)庫(kù)文檔編制工具充當(dāng)數(shù)據(jù)目錄,以簡(jiǎn)化的表格格式捕獲數(shù)據(jù)庫(kù)的所有信息。
它最常用作提供表模式詳細(xì)信息的數(shù)據(jù)字典,或用作提供數(shù)據(jù)庫(kù)內(nèi)部所有關(guān)系概述的單個(gè)事實(shí)來(lái)源。
> Field details and table references are the most fundamental elements of any database documentation
為什么我們需要數(shù)據(jù)庫(kù)文檔工具?
文檔工具既有短期利益,也有長(zhǎng)期利益。
但是,由于大多數(shù)人只知道它的臨時(shí)優(yōu)勢(shì),而對(duì)全局卻疏忽大意,因此他們傾向于將這些工具視為臨時(shí)解決方案。
數(shù)據(jù)庫(kù)文檔編制工具的一些較明顯的短期好處是:
· 幫助開(kāi)發(fā)人員快速為當(dāng)前項(xiàng)目建立數(shù)據(jù)庫(kù)結(jié)構(gòu)原型
· 業(yè)務(wù)成員(銷售人員,BA)可以輕松理解具有開(kāi)發(fā)人員輸入的豐富元數(shù)據(jù)的表字段的上下文和含義
但是,使數(shù)據(jù)庫(kù)編錄工具真正有價(jià)值的是長(zhǎng)期利益:
· 工具可以幫助開(kāi)發(fā)人員生成整體數(shù)據(jù)庫(kù)文檔,將其作為每個(gè)人的真實(shí)來(lái)源。 現(xiàn)在,數(shù)據(jù)庫(kù)的知識(shí)并沒(méi)有鎖定在任何高級(jí)開(kāi)發(fā)人員中,而是在他們離開(kāi)公司時(shí)走出了大門。 留下來(lái)。
· 當(dāng)團(tuán)隊(duì)擴(kuò)展時(shí),共享的數(shù)據(jù)Wiki可以幫助避免將來(lái)發(fā)生沖突。 高級(jí)開(kāi)發(fā)人員可以使用一種數(shù)據(jù)源輕松地加入新手。
· 一些工具允許共享,外部用戶可以在線訪問(wèn)數(shù)據(jù)庫(kù)文檔的最新版本。 無(wú)需手動(dòng)截圖或會(huì)議。 是的,這將有助于節(jié)省您的編碼時(shí)間,從長(zhǎng)遠(yuǎn)來(lái)看,還可以提高企業(yè)的生產(chǎn)率和聲譽(yù),特別是如果您的企業(yè)屬于咨詢行業(yè)。
2020年排名前5位的數(shù)據(jù)庫(kù)文檔工具
2020個(gè)用戶需要2020個(gè)設(shè)計(jì)樣式。
沒(méi)有人愿意使用那些可以追溯到90年代的設(shè)計(jì)風(fēng)格的工具。
同樣,數(shù)據(jù)分析的格局也變得越來(lái)越復(fù)雜。 團(tuán)隊(duì)更加意識(shí)到要構(gòu)建可擴(kuò)展的分析堆棧,從而將重點(diǎn)更多地放在他們的數(shù)據(jù)倉(cāng)庫(kù)上。
因此,數(shù)據(jù)庫(kù)的復(fù)雜性和規(guī)模不斷增長(zhǎng),以處理大量數(shù)據(jù)源。
因此,我們需要功能強(qiáng)大的工具來(lái)適應(yīng)數(shù)據(jù)庫(kù)的增長(zhǎng),但它們必須輕巧且設(shè)計(jì)精美,足以為我們?nèi)找娣泵Φ拈_(kāi)發(fā)人員節(jié)省時(shí)間。
下面我們整理了滿足這些要求的5種數(shù)據(jù)庫(kù)文檔工具的列表:
· dbdocs.io
· 大數(shù)據(jù)
· ApexSQL文件
· RedGate SQL文檔
· 模式間諜
dbdocs.io
> Source: https://dbdocs.io
dbdocs.io是一個(gè)免費(fèi)的簡(jiǎn)單工具,可為您的數(shù)據(jù)庫(kù)創(chuàng)建基于Web的數(shù)據(jù)庫(kù)文檔。 與大多數(shù)競(jìng)爭(zhēng)對(duì)手不同,dbdocs.io最輕巧,不需要復(fù)雜的設(shè)置。
此外,dbdocs具有自己的DSL語(yǔ)言,可幫助開(kāi)發(fā)人員快速定義和記錄其數(shù)據(jù)庫(kù)架構(gòu)和結(jié)構(gòu)。 您可以在此處簽出樣本文檔。
價(jià)錢
dbdocs處于測(cè)試階段,因此完全免費(fèi)。 您可以從這里開(kāi)始。
優(yōu)點(diǎn)
· 輕巧且易于設(shè)置。 通過(guò)CLI安裝dbdocs的唯一要求是擁有NodeJS和NPM(大多數(shù)開(kāi)發(fā)人員已經(jīng)擁有)。 無(wú)需將其連接到任何數(shù)據(jù)庫(kù)。
· 使用DBML(它自己的開(kāi)源DSL語(yǔ)言)來(lái)記錄數(shù)據(jù)庫(kù)的超快速方式。 您可以完全控制要添加到文檔中的架構(gòu),關(guān)系和元數(shù)據(jù)。
· 具有數(shù)據(jù)庫(kù)結(jié)構(gòu)的可視化概述以及每個(gè)表及其關(guān)系的單獨(dú)視圖。 您可以將dbdocs與dbdiagram.io結(jié)合使用,以快速建立數(shù)據(jù)庫(kù)ERD的原型。
· 通過(guò)簡(jiǎn)單的鏈接輕松與團(tuán)隊(duì)成員共享文檔。 如果您使用的是客戶端,請(qǐng)使用密碼保護(hù)功能將文件設(shè)為私有文件,并且只有具有密碼的用戶才能訪問(wèn)。
· 輕松集成到您的工作流程中。 在git倉(cāng)庫(kù)中創(chuàng)建一個(gè)DBML文件,并在每次提交時(shí)對(duì)其進(jìn)行更新。
· 適用于任何操作系統(tǒng)。 dbdocs只需要一個(gè)簡(jiǎn)單的代碼編輯器和一個(gè)CLI工具即可生成文檔(例如windows和mac中的Terminal),這意味著任何用戶都可以使用它!
· 即時(shí)電子郵件支持
缺點(diǎn)
· dbdocs.io是一個(gè)相當(dāng)新的工具,因此缺少某些功能,例如版本控制或深度編輯功能。 但是據(jù)開(kāi)發(fā)人員說(shuō),這些功能已經(jīng)在路線圖上。
· dbdocs不允許協(xié)作編輯。 當(dāng)前,每個(gè)開(kāi)發(fā)人員都可以使用本地DBML文件來(lái)編輯文檔,因此一項(xiàng)所做的更改將不會(huì)反映在另一項(xiàng)的文檔中。
· dbdocs不像大多數(shù)競(jìng)爭(zhēng)對(duì)手那樣支持導(dǎo)出功能,但即將推出。
dataedo
> Source: https://dataedo.com
Dataedo是一個(gè)高級(jí)數(shù)據(jù)庫(kù)文檔工具,其中包括數(shù)據(jù)字典,ERD和業(yè)務(wù)詞匯表。
它將連接到廣泛的數(shù)據(jù)源列表(即MySQL,PostgreSQL,Oracle,Amazon Redshift…)并提取元數(shù)據(jù),您可以在其中添加更有意義的自定義信息。
與dbdocs一樣,Dataedo允許開(kāi)發(fā)人員使用ER圖可視化數(shù)據(jù)模型。
價(jià)錢
Dataedo提供三種定價(jià)計(jì)劃:Pro,Pro +和Enterprise。
專業(yè)版的費(fèi)用為每位用戶每月39美元(30.11英鎊),其中包括標(biāo)準(zhǔn)電子郵件支持和五個(gè)自定義字段。 Pro +版本的費(fèi)用為每位用戶每月79美元(60.99英鎊),其中包含10個(gè)自定義字段和優(yōu)先級(jí)支持。
企業(yè)版每100個(gè)自定義字段的價(jià)格為每位用戶每月159美元(122.74英鎊),具有諸如模式變更跟蹤和業(yè)務(wù)詞匯表之類的額外功能。如果您覺(jué)得當(dāng)前計(jì)劃不適合,它們還會(huì)提供自定義定價(jià)計(jì)劃。
優(yōu)點(diǎn)
· 支持大量的數(shù)據(jù)源
· 易于創(chuàng)建的ER圖:只需拖放數(shù)據(jù)表,Dataedo即可自動(dòng)檢測(cè)并可視化它們之間的關(guān)系。
· 豐富的元數(shù)據(jù):用戶可以使用自定義字段和豐富的文本描述數(shù)據(jù)元素,或?qū)⒈斫M織到不同的模塊中
· 共享性:除PDF和Excel格式外,用戶還可以生成不需要專用服務(wù)器的交互式html
缺點(diǎn)
· 初創(chuàng)企業(yè)可能會(huì)發(fā)現(xiàn)定價(jià)有些開(kāi)銷。
· 復(fù)雜的設(shè)置
· 該工具需要陡峭的學(xué)習(xí)曲線才能充分利用其功能
· 僅適用于Windows用戶
ApexSQL
> Source: https://www.apexsql.com/sql-tools-doc.aspx
ApexSQL是一個(gè)功能強(qiáng)大的工具,不僅適用于SQL,而且適用于SSIS,SSAS,SSRS和Tableau文檔。 ApexSQL最令人印象深刻的功能是自定義。 您可以使用不同的樣式,自定義文本,主題和圖形完全自定義文檔及其布局。
價(jià)錢
ApexSQL每位用戶僅需花費(fèi)699美元。 從長(zhǎng)遠(yuǎn)來(lái)看,這聽(tīng)起來(lái)像是一筆合理的投資,但這意味著該工具僅限于一個(gè)用戶。
優(yōu)點(diǎn)
· 強(qiáng)大的定制和個(gè)性化功能
· 各種服務(wù)的支持文檔
· 輕松自動(dòng)化和安排文檔
· 支持多種輸出格式(CHM,HTML,word,MD和PDF)
· 包括圖形關(guān)系和數(shù)據(jù)模型圖
缺點(diǎn)
· 僅適用于Windows用戶
· 對(duì)于具有多個(gè)用戶的團(tuán)隊(duì)要協(xié)作記錄其數(shù)據(jù)庫(kù)的前期費(fèi)用較高
· 需要陡峭的學(xué)習(xí)曲線才能充分利用其功能
· 過(guò)時(shí)的設(shè)計(jì)風(fēng)格
Redgate SQL文件
> Source: https://www.red-gate.com/products/sql-development/sql-doc/
Redgate SQL Doc是一種工具,可幫助您快速自動(dòng)地為數(shù)據(jù)庫(kù)生成文檔。 您可以獲取有關(guān)數(shù)據(jù)庫(kù)模式,對(duì)象間和數(shù)據(jù)庫(kù)間依賴關(guān)系的概述,并帶有批注以幫助用戶找到所需的內(nèi)容。 您還可以通過(guò)右鍵單擊對(duì)象資源管理器在SSMS中記錄數(shù)據(jù)庫(kù)。
您可以在此處查看示例。
價(jià)錢
Redgate SQL Doc可滿足廣泛的用途。 如果您的團(tuán)隊(duì)有1-4個(gè)用戶,則每位用戶(生命周期)的費(fèi)用為385美元,包括1年的支持和升級(jí)。 如果您的團(tuán)隊(duì)有5–9個(gè)用戶,則每位用戶的費(fèi)用為327美元,將少一些。 如果您的團(tuán)隊(duì)有10–20個(gè)用戶,則價(jià)格為308美元。 對(duì)于20多個(gè)用戶,您可以聯(lián)系團(tuán)隊(duì)以獲取個(gè)性化報(bào)價(jià)。
優(yōu)點(diǎn)
· 通過(guò)CLI輕松自動(dòng)化文檔
· 支持多種輸出格式(PDF,HTML,MS Word)
缺點(diǎn)
· Redgate SQL Doc主要用于查看目的,因此其編輯功能非常有限。 您不能更改表字段,類型,值,它們是任何模式的基本組成部分。 您只能編輯描述。
· 過(guò)時(shí)的設(shè)計(jì)風(fēng)格(UI和UX)
· 無(wú)法創(chuàng)建ER圖
schemaspy
> Source:http://schemaspy.org/
SchemaSpy是此列表上的第二個(gè)免費(fèi)工具。 它是基于JAVA,基于CLI的工具(需要Java 5或更高版本),可分析數(shù)據(jù)庫(kù)架構(gòu)的元數(shù)據(jù)并以瀏覽器可顯示的格式生成其可視化表示形式
您可以在此處檢查文檔的預(yù)覽。
價(jià)錢
SchemaSpy是免費(fèi)使用的。
優(yōu)點(diǎn)
· SchemaSpy是免費(fèi)且輕量級(jí)的。 如果與RedGate SQL Doc(具有幾乎相同的功能集(生成ERD除外))相比,那么SchemaSpy無(wú)疑具有定價(jià)優(yōu)勢(shì)
· 易于設(shè)置和配置
· SchemaSpy可以掃描并生成數(shù)據(jù)庫(kù)的綜合元數(shù)據(jù)(表,列,約束,關(guān)系,孤立表,異常,例程)
· 支持Markdown表注釋!
缺點(diǎn)
· 該項(xiàng)目已近一年沒(méi)有更新(最新版本v6.1.0已于2019年9月18日發(fā)布)。 該功能強(qiáng)大的工具的所有者似乎不會(huì)積極支持它,因此,如果您希望擁有不斷更新的功能和新功能,那么該工具可能不適合您。
· SchemaSpy編輯功能受到限制。 它既不能向表組件添加注釋,也不能直接編輯/添加當(dāng)前架構(gòu)的更多元數(shù)據(jù)。
· 過(guò)時(shí)的設(shè)計(jì)風(fēng)格(尤其是圖表)
結(jié)論
每個(gè)文檔工具都是為滿足特定需求而設(shè)計(jì)的,因此第一手了解您的業(yè)務(wù)需求非常重要。
如果您只想生成當(dāng)前數(shù)據(jù)庫(kù)的只讀版本,那么RedGate SQL Doc和SchemaSpy是最佳選擇。 盡管SchemaSpy適合預(yù)算有限的團(tuán)隊(duì),但是RedGate SQL Doc可能會(huì)為您提供更多的保證,因?yàn)樵摦a(chǎn)品仍在積極開(kāi)發(fā)中。
如果您需要通過(guò)更多的元數(shù)據(jù)和外觀精美的ER圖來(lái)豐富文檔,則絕對(duì)應(yīng)該選擇dbdocs.io。 它自己的語(yǔ)言(DBML)不需要太多學(xué)習(xí),并且比傳統(tǒng)的DDL語(yǔ)言(如SQL)更容易編寫,閱讀和維護(hù)。 另外,此工具特別適合咨詢初創(chuàng)公司/中小型企業(yè),因?yàn)樗敲赓M(fèi)的,具有可共享文件和密碼保護(hù),可在任何OS上使用。
如果您的企業(yè)規(guī)模很大并且對(duì)數(shù)據(jù)庫(kù)文檔的預(yù)算很大,那么dbdocs.io的可能替代方法是dataedo。 與dbdocs.io相比,它具有更多功能,這些功能需要更陡峭的學(xué)習(xí)曲線,這可能會(huì)成為應(yīng)用的障礙。
如果您優(yōu)先考慮記錄各種服務(wù)(以及大量的自定義),那么ApexSQL是首屈一指的! 與Dataedo相似,由于高昂的前期成本和每用戶定價(jià)模型,該工具適用于預(yù)算較大的數(shù)據(jù)團(tuán)隊(duì)。
最初于2020年6月30日在https://www.holistics.io上發(fā)布。
(本文翻譯自Alan Ng.的文章《Top 5 database documentation tools for any team in 2020》,參考:https://towardsdatascience.com/top-5-database-documentation-tools-for-any-team-in-2020-e968bb5319b3)