我创建了一个XML Schema来支持关系数据库的元数据管理。该方案涉及多个操作系统,操作数据存储和数据仓库,所有操作系统均由ETL过程连接。我还生成了一个XML文件,其中包含一些使用模式验证的虚拟元数据。我是MarkLogic的新手,但我相信我能够将XML Schema和XML数据文件加载到MarkLogic中,并且我将能够创建用于分析的XQuery代码等。
但我不确定我是否能够使用这种方法达到关键要求,即用户需要能够浏览元数据。例如,单击数据库并查看表列表,单击其中一个表并查看列列表,然后单击列并获取其数据类型,定义,关键信息等。我可以使用XQuery到达那里,或者我是否需要使用Node.js或其他工具?
我将着手收集这些系统上的真实元数据并同时进行MarkLogic开发,我想更确定自己是朝着正确的方向前进。
提前感谢任何建议。
答案 0 :(得分:1)
像Node.js这样的客户端最终会在MarkLogic函数库中执行服务器端调用(在XQuery和服务器端JavaScript中都会公开)。
因此,根据定义,服务器端代码可以完成客户端代码可以执行的操作。
要计算出您想要采用的方法,请确定需要在后端执行哪些查询以支持哪些视图。匹配文档集和提取文档部分的组合非常灵活。
最好的方法是为每个有凝聚力的实体建模一个文档。
对于驱动查询并返回响应的UI,可以在服务器上实现,但更典型的方法是在查询MarkLogic的Node.js或Java中间层提供UI或(对于更复杂的数据处理,在MarkLogic上执行服务器端代码。
希望有帮助,
答案 1 :(得分:0)
提前感谢任何建议。
阅读RESTful设计原理;您对可浏览性的渴望非常适合它。 RESTful设计的原则对您的描述最为突出:您希望用户能够查看的每件事都应该有一个URI。用户应该能够看到表的列表?指定表列表的URI。表格的选择应该取决于这个或那条信息?参数化URI。该列表应该允许用户查看一个表的元数据?为每个表指定元数据的URI;使表的列表包括(谁会想到它?!)到该URI的链接。
在过去几年出现的关于RESTful设计的小型雪花书中,我可以推荐Richardson和Ruby的RESTful Web Services(O'Reilly);毫无疑问,其他人也很好。
我在使用XQuery后端实现此类设计时遇到的唯一缺点是查询总是如此简单,以至于我感觉好像没有充分利用服务器的强大功能。我一直担心XQuery引擎会感到无聊。