数据爱好者/工具,以及为什么迟早需要一个。
> Source: dbdocs.io
该数据库可能很复杂且令人生畏。
作为开发人员(特别是如果您来自后端团队),您受到非技术团队成员或客户询问字段含义的电子邮件轰炸了多少次?
记录和组织数据库元数据对此很重要,但这并不是我们的首要任务。 由于数据库的复杂性,我们经常避免维护它,或者更糟的是首先创建它。
那是数据库文档工具派上用场的地方。 除了可以帮助您使用预定义的格式为数据库创建详细的数据目录外,对于整个团队来说,工具可能是宝贵的资产。
这篇博客文章将与您分享数据库文档工具的真正重要性,以及应该用来提高个人和团队工作效率的前5种工具。
Internet上没有具体,广泛接受的文档工具定义,因此,我将尝试根据自己的知识和研究进行总结。
数据库文档编制工具充当数据目录,以简化的表格格式捕获数据库的所有信息。
它最常用作提供表模式详细信息的数据字典,或用作提供数据库内部所有关系概述的单个事实来源。
> Field details and table references are the most fundamental elements of any database documentation
文档工具既有短期利益,也有长期利益。
但是,由于大多数人只知道它的临时优势,而对全局却疏忽大意,因此他们倾向于将这些工具视为临时解决方案。
数据库文档编制工具的一些较明显的短期好处是:
· 帮助开发人员快速为当前项目建立数据库结构原型
· 业务成员(销售人员,BA)可以轻松理解具有开发人员输入的丰富元数据的表字段的上下文和含义
但是,使数据库编录工具真正有价值的是长期利益:
· 工具可以帮助开发人员生成整体数据库文档,将其作为每个人的真实来源。 现在,数据库的知识并没有锁定在任何高级开发人员中,而是在他们离开公司时走出了大门。 留下来。
· 当团队扩展时,共享的数据Wiki可以帮助避免将来发生冲突。 高级开发人员可以使用一种数据源轻松地加入新手。
· 一些工具允许共享,外部用户可以在线访问数据库文档的最新版本。 无需手动截图或会议。 是的,这将有助于节省您的编码时间,从长远来看,还可以提高企业的生产率和声誉,特别是如果您的企业属于咨询行业。
2020个用户需要2020个设计样式。
没有人愿意使用那些可以追溯到90年代的设计风格的工具。
同样,数据分析的格局也变得越来越复杂。 团队更加意识到要构建可扩展的分析堆栈,从而将重点更多地放在他们的数据仓库上。
因此,数据库的复杂性和规模不断增长,以处理大量数据源。
因此,我们需要功能强大的工具来适应数据库的增长,但它们必须轻巧且设计精美,足以为我们日益繁忙的开发人员节省时间。
下面我们整理了满足这些要求的5种数据库文档工具的列表:
· dbdocs.io
· 大数据
· ApexSQL文件
· RedGate SQL文档
· 模式间谍
> Source: https://dbdocs.io
dbdocs.io是一个免费的简单工具,可为您的数据库创建基于Web的数据库文档。 与大多数竞争对手不同,dbdocs.io最轻巧,不需要复杂的设置。
此外,dbdocs具有自己的DSL语言,可帮助开发人员快速定义和记录其数据库架构和结构。 您可以在此处签出样本文档。
价钱
dbdocs处于测试阶段,因此完全免费。 您可以从这里开始。
优点
· 轻巧且易于设置。 通过CLI安装dbdocs的唯一要求是拥有NodeJS和NPM(大多数开发人员已经拥有)。 无需将其连接到任何数据库。
· 使用DBML(它自己的开源DSL语言)来记录数据库的超快速方式。 您可以完全控制要添加到文档中的架构,关系和元数据。
· 具有数据库结构的可视化概述以及每个表及其关系的单独视图。 您可以将dbdocs与dbdiagram.io结合使用,以快速建立数据库ERD的原型。
· 通过简单的链接轻松与团队成员共享文档。 如果您使用的是客户端,请使用密码保护功能将文件设为私有文件,并且只有具有密码的用户才能访问。
· 轻松集成到您的工作流程中。 在git仓库中创建一个DBML文件,并在每次提交时对其进行更新。
· 适用于任何操作系统。 dbdocs只需要一个简单的代码编辑器和一个CLI工具即可生成文档(例如windows和mac中的Terminal),这意味着任何用户都可以使用它!
· 即时电子邮件支持
缺点
· dbdocs.io是一个相当新的工具,因此缺少某些功能,例如版本控制或深度编辑功能。 但是据开发人员说,这些功能已经在路线图上。
· dbdocs不允许协作编辑。 当前,每个开发人员都可以使用本地DBML文件来编辑文档,因此一项所做的更改将不会反映在另一项的文档中。
· dbdocs不像大多数竞争对手那样支持导出功能,但即将推出。
> Source: https://dataedo.com
Dataedo是一个高级数据库文档工具,其中包括数据字典,ERD和业务词汇表。
它将连接到广泛的数据源列表(即MySQL,PostgreSQL,Oracle,Amazon Redshift…)并提取元数据,您可以在其中添加更有意义的自定义信息。
与dbdocs一样,Dataedo允许开发人员使用ER图可视化数据模型。
价钱
Dataedo提供三种定价计划:Pro,Pro +和Enterprise。
专业版的费用为每位用户每月39美元(30.11英镑),其中包括标准电子邮件支持和五个自定义字段。 Pro +版本的费用为每位用户每月79美元(60.99英镑),其中包含10个自定义字段和优先级支持。
企业版每100个自定义字段的价格为每位用户每月159美元(122.74英镑),具有诸如模式变更跟踪和业务词汇表之类的额外功能。如果您觉得当前计划不适合,它们还会提供自定义定价计划。
优点
· 支持大量的数据源
· 易于创建的ER图:只需拖放数据表,Dataedo即可自动检测并可视化它们之间的关系。
· 丰富的元数据:用户可以使用自定义字段和丰富的文本描述数据元素,或将表组织到不同的模块中
· 共享性:除PDF和Excel格式外,用户还可以生成不需要专用服务器的交互式html
缺点
· 初创企业可能会发现定价有些开销。
· 复杂的设置
· 该工具需要陡峭的学习曲线才能充分利用其功能
· 仅适用于Windows用户
> Source: https://www.apexsql.com/sql-tools-doc.aspx
ApexSQL是一个功能强大的工具,不仅适用于SQL,而且适用于SSIS,SSAS,SSRS和Tableau文档。 ApexSQL最令人印象深刻的功能是自定义。 您可以使用不同的样式,自定义文本,主题和图形完全自定义文档及其布局。
价钱
ApexSQL每位用户仅需花费699美元。 从长远来看,这听起来像是一笔合理的投资,但这意味着该工具仅限于一个用户。
优点
· 强大的定制和个性化功能
· 各种服务的支持文档
· 轻松自动化和安排文档
· 支持多种输出格式(CHM,HTML,word,MD和PDF)
· 包括图形关系和数据模型图
缺点
· 仅适用于Windows用户
· 对于具有多个用户的团队要协作记录其数据库的前期费用较高
· 需要陡峭的学习曲线才能充分利用其功能
· 过时的设计风格
> Source: https://www.red-gate.com/products/sql-development/sql-doc/
Redgate SQL Doc是一种工具,可帮助您快速自动地为数据库生成文档。 您可以获取有关数据库模式,对象间和数据库间依赖关系的概述,并带有批注以帮助用户找到所需的内容。 您还可以通过右键单击对象资源管理器在SSMS中记录数据库。
您可以在此处查看示例。
价钱
Redgate SQL Doc可满足广泛的用途。 如果您的团队有1-4个用户,则每位用户(生命周期)的费用为385美元,包括1年的支持和升级。 如果您的团队有5–9个用户,则每位用户的费用为327美元,将少一些。 如果您的团队有10–20个用户,则价格为308美元。 对于20多个用户,您可以联系团队以获取个性化报价。
优点
· 通过CLI轻松自动化文档
· 支持多种输出格式(PDF,HTML,MS Word)
缺点
· Redgate SQL Doc主要用于查看目的,因此其编辑功能非常有限。 您不能更改表字段,类型,值,它们是任何模式的基本组成部分。 您只能编辑描述。
· 过时的设计风格(UI和UX)
· 无法创建ER图
> Source:http://schemaspy.org/
SchemaSpy是此列表上的第二个免费工具。 它是基于JAVA,基于CLI的工具(需要Java 5或更高版本),可分析数据库架构的元数据并以浏览器可显示的格式生成其可视化表示形式
您可以在此处检查文档的预览。
价钱
SchemaSpy是免费使用的。
优点
· SchemaSpy是免费且轻量级的。 如果与RedGate SQL Doc(具有几乎相同的功能集(生成ERD除外))相比,那么SchemaSpy无疑具有定价优势
· 易于设置和配置
· SchemaSpy可以扫描并生成数据库的综合元数据(表,列,约束,关系,孤立表,异常,例程)
· 支持Markdown表注释!
缺点
· 该项目已近一年没有更新(最新版本v6.1.0已于2019年9月18日发布)。 该功能强大的工具的所有者似乎不会积极支持它,因此,如果您希望拥有不断更新的功能和新功能,那么该工具可能不适合您。
· SchemaSpy编辑功能受到限制。 它既不能向表组件添加注释,也不能直接编辑/添加当前架构的更多元数据。
· 过时的设计风格(尤其是图表)
每个文档工具都是为满足特定需求而设计的,因此第一手了解您的业务需求非常重要。
如果您只想生成当前数据库的只读版本,那么RedGate SQL Doc和SchemaSpy是最佳选择。 尽管SchemaSpy适合预算有限的团队,但是RedGate SQL Doc可能会为您提供更多的保证,因为该产品仍在积极开发中。
如果您需要通过更多的元数据和外观精美的ER图来丰富文档,则绝对应该选择dbdocs.io。 它自己的语言(DBML)不需要太多学习,并且比传统的DDL语言(如SQL)更容易编写,阅读和维护。 另外,此工具特别适合咨询初创公司/中小型企业,因为它是免费的,具有可共享文件和密码保护,可在任何OS上使用。
如果您的企业规模很大并且对数据库文档的预算很大,那么dbdocs.io的可能替代方法是dataedo。 与dbdocs.io相比,它具有更多功能,这些功能需要更陡峭的学习曲线,这可能会成为应用的障碍。
如果您优先考虑记录各种服务(以及大量的自定义),那么ApexSQL是首屈一指的! 与Dataedo相似,由于高昂的前期成本和每用户定价模型,该工具适用于预算较大的数据团队。
最初于2020年6月30日在https://www.holistics.io上发布。
(本文翻译自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)