2017-10-05 102 views
1

我已经创建了一个XML Schema来支持关系数据库的元数据管理。该场景涉及多个操作系统,一个操作数据存储和一个数据仓库,它们都通过ETL进程连接。我还生成了一个XML文件,其中包含一些使用模式验证的虚拟元数据。我是MarkLogic的新手,但我确信能够将XML Schema和XML数据文件加载到MarkLogic中,并且能够创建用于分析的XQuery代码等。使用XQuery浏览XML文档中的内容

但我不确定我是否能够使用此方法实现关键需求,即用户需要能够浏览元数据。例如,单击一个数据库并查看表的列表,单击其中一个表并查看列的列表,然后单击列并获取其数据类型,定义,关键信息等。我可以使用XQuery,或者我需要使用Node.js还是其他工具?

我将着手收集这些系统上的真实元数据并且在并行工作中开展MarkLogic开发,并且我想更确定我正朝着正确的方向前进。

在此先感谢您的任何建议。

+2

关闭选民的注意事项:所问的问题似乎很清楚(至少有两个人已经发现它足够清楚地提供答案)。如果关于系统体系结构的所有问题都过于宽泛,不足以作为关于编程的问题,那么这个世界就注定要(甚至更多)构建严重的系统。这个话题是高层次的,并不宽泛;它们不是同一件事。 –

回答

1

像Node.js这样的客户端最终最终会对MarkLogic函数库(在XQuery和服务器端JavaScript中均公开)执行服务器端调用。

因此,根据定义,服务器端代码可以完成客户端代码可以执行的超集。

要确定要采取的方法,请确定您需要在后端执行哪些查询以支持哪些视图。匹配的文档集和提取文档部分的组合非常灵活。

最好的方法是为每个有凝聚力的实体建模一个文档。

对于驱动查询并返回响应的UI,可以在服务器上实现,但更为典型的方法是在查询MarkLogic的Node.js或Java中间层中提供UI(或更复杂数据处理)在MarkLogic上执行服务器端代码。

希望有所帮助,您的任何意见

+0

感谢您的深思。好主意。我将把它们融入到我的解决方案中,让你知道它是如何发展的。 –

0

感谢。

阅读了一下RESTful设计原理;你对可浏览性的渴望是一个很好的匹配。 REST风格的设计原则对于您的描述最为突出:您希望用户能够查看的每件事物都应该有一个URI。用户应该能够看到表格列表?为表列表指定一个URI。表格的选择应该取决于这条或那条信息?参数化URI。该列表应该允许用户查看一个表的元数据?为每个表的元数据指定一个URI;使表的列表包括(谁会想到它?!)到该URI的链接。

在过去几年出现的关于RESTful设计的小型雪崩书籍中,我可以推荐Richardson和Ruby的RESTful Web服务(O'Reilly);毫无疑问,其他人也很好。

我在使用XQuery后端实现这种设计时遇到的唯一缺点是查询总是如此简单以至于感觉好像我没有充分利用服务器的功能。我一直担心XQuery引擎会感到无聊。

+0

我很想钻研我的XQuery引擎。到目前为止,它似乎比无聊更困惑。 :D感谢您的深思熟虑的回复。你的建议是在我的能力范围内。我会给它一个镜头。 –