用Hackolade进行数据库建模(以Firestore为例)
最近我在玩Firestore,一半是抱着兴趣的态度。但一直让我困惑的是,好像没有什么工具可以帮助建模NoSQL数据库呢,不像关系型数据库有很多选择。
快速搜索一下,能找到这附近的是这个吗?
NoSQL Workbench : Amazon DynamoDBのモデリングができる
在这样的情况下,我注意到了一个叫做Hackolade的软件。
有没有可能进行各种NoSQL数据库的建模呢?尽管我进行了调查,但似乎没有任何关于它们的日语信息。是因为它们知名度低,是可疑的软件,还是没有使用建模工具的习惯呢?
暫時,我只是輕輕碰觸了一下。
软件概述
数据库处理
以下是官方网站所介绍的数据库、搜索引擎和语言。
-
- Apache Avro Schema
-
- Apache Cassandra
-
- Apache HBase
-
- Apache Hive
-
- Apache Parquet Schema
-
- AWS DynamoDB
-
- AWS Glue Data Catalog
-
- Azure Cosmos DB
-
- Couchbase
-
- DataStax
-
- Elasticsearch
-
- Google RealTime Firebase
-
- Google Cloud Firestore
-
- JSON Schema
-
- MarkLogic
-
- MongoDB
-
- Neo4j
-
- SwaggerおよびOpenAPI
-
- ScyllaDB
- TinkerPop w/ Gremlin API
版本
据说有以下3个版本。
社区版有以下功能限制。
-
- 25オブジェクトまでの制限
-
- フォワードエンジニアリング・リバースエンジニアリングができない
-
- HTMLドキュメントのエクスポートができない(PDFのエクスポートは可能)
- コマンドラインインターフェース(CLI)が使用できない
在这篇文章中,我们将使用Community Edition。
(2020/4/21添加)上述的限制表示最多只能创建25个对象,这意味着包括数据库、集合(表)、字段(模式)等在内,只能创建25个,因此,免费版实际上几乎没有什么实用性。
安裝
从下载页面上,下载适合您的环境的版本。在这里,下载Windows 64bit版的安装程序。
下载完毕后,直接运行并按照向导进行安装。
只要按照提示一步步操作,没有特别的问题,安装就会完成。
直接启动Hackolade。
当您初次启动时,会显示一条消息,表示需要验证许可证密钥,请选择“申请免费的社区版许可证密钥”,然后点击“发送”按钮。
然后,浏览器启动并跳转到许可证购买页面。
我会继续进行购买手续。虽然称之为购买,但由于是社区版,所以是免费的。
购买完成后,您将通过电子邮件收到许可证密钥。请在刚才的许可证密钥验证消息中选择“验证许可证或续订密钥”,并将许可证密钥粘贴到“许可证密钥”栏中,然后点击“发送”。
以上就是安装完成了。
制造新型号
在本文中,我们将以Firestore为例,尝试创建一个新模型。
在首页上,点击“新型号”。
“询问模型类型。最初只能选择“JSON”、“Couchbase”、“DynamoDB”和“MongoDB”。
如果想创建其他类型的模型,包括Firestore,需要安装相应类型的插件,请点击“为其他目标安装插件”按钮。”
您可以打开插件管理器。通过点击“安装”来安装您想要引入的插件(例如:Firestore),即可实现安装。
因为您被要求重新启动,所以请直接进行重新启动。
再次启动后,从主屏幕再次点击新模型,由于类型增加,因此点击它,并点击创建。
然后,一个全新的模型被创建出来。
物件的屬性
新建模型时,在屏幕右侧会显示一个名为“Properties”的面板。这个面板可以用来对选定的对象进行各种参数设置。
如果查看屏幕左侧的“Object Browser”,很可能“New model”被选择。因此,现在可以对根模型本身进行各种设置。
尝试添加各种不同的对象
继续以 Firestore 为例,尝试添加一个对象。
添加数据库
首先,您需要添加一个原始数据库。在工具栏上有一个”添加数据库”按钮,点击它即可。
然后,在属性面板中,我们可以直接更改名称,生成一个名为「新数据库」的新数据库。(在这里我们将其更名为「示例数据库」。)
添加收藏
在选择了要添加的目标数据库的前提下,点击工具栏上的“添加集合”按钮来添加集合(在RDB中相当于表格)。
然后,通过一个名为「New collection」的操作,在新的集合被创建。
让我们在属性中改变名字。(在这里,我们改为了名叫「user」的名字。)
添加领域
接下来,我们将为存储在文档中的集合中添加字段(类似于RDB中的模式)。
在之前创建的集合中,已经创建了一个名为”^[a-zA-Z0-9_.-]{20}$”的字段。这个字段代表了在使用Firestore的SDK等工具的set()方法创建新文档时自动分配的ID。
我将尝试添加一个新字段。
在选择添加位置的集合后,点击工具栏上的”添加属性”按钮。
接着,一个名为“New field”的新字段被创建。
让我们在属性中更改名称。(这里我们将其更改为“name”。)
Firestore不仅可以处理string类型、number类型等数据,还可以处理object类型。因此,您可以向字段添加子字段。
添加子集合
接下来,我们尝试添加一个子集合。
在选择要追加的首个集合的情况下,点击工具栏的添加子集合按钮。
然后,会创建一个名为「新收藏」的新子收藏。
一旦到这里
如果你再使用一下,如果有什么注意到的地方,我会添加备注。