gpt4 book ai didi

python - NodeJS 的 OLAP 服务器

转载 作者:行者123 更新时间:2023-11-30 23:21:00 25 4
gpt4 key购买 nike

我一直在寻找为应用程序提供分析的方法,该应用程序由用 NodeJs 和 MySQL 编写的 REST 服务器提供支持。发现了 OLAP,它实际上可以使这变得更容易。

并找到了一个Python库,它提供了一个名为“Slicer”的OLAP HTTP服务器

http://cubes.databrewery.org/

  • 有人可以解释一下这是如何工作的吗?这是否意味着我必须更新我的架构。并创建所谓的事实表?

  • 这可以与我的 NodeJS 应用程序结合使用吗?有什么例子吗?因为我只创建了单个服务器应用程序。 python 会驻留在同一个nodejs 服务器上吗?它将如何开始? (“forever app.js”是我的默认脚本)

  • 如果我因为没有经验而无法使用 python,那么在 Nodejs 中执行此操作的基础知识是什么?

我的模型基本上是单词列表,所以我的olap查询是在几天、几周、几个月内用英语、法语、德语等语言制作的长度为2、5、10个字母的单词

非常感谢想法、提示和指导!

最佳答案

正如您所发现的,CUbes 提供了一个 HTTPS OLAP 服务器(切片器 工具)。

Can someone explain how this works?

作为 OLAP 服务器,您可以向服务器发出 OLAP 查询。该 API 基于 REST/JSON,因此您可以通过 HTTP 轻松地从 Javascript、nodejs、Python 或您选择的任何其他语言查询服务器。

服务器可以回答 OLAP 查询。 OLAP 查询基于“事实”和“维度”模型。例如,您可以查询“给定国家/地区和产品的总销售额,按月份逐项列出”。

Does this mean I have to update my schema. And create what is called fact tables?

OLAP 查询是围绕事实和维度概念构建的。

面向 OLAP 的数据仓库策略通常涉及创建这些事实表和维度表,构建所谓的 Star Schema或雪花模式。这些模式为关系数据库上的 OLAP 类型查询提供了更好的性能。数据通常由所谓的 ETL 加载。以适当的形式加载数据的过程(可以是一个简单的脚本)。

但是,Python Cubes 框架不会强制您更改架构或创建备用架构。它有一个 SQL 后端,允许您定义模型(根据事实和维度),而无需更改实际的数据库模型。这是模型定义的文档:https://pythonhosted.org/cubes/model.html .

但是,在某些情况下,您可能仍然喜欢定义数据挖掘模式并使用转换过程定期加载数据。这取决于您的需求、您拥有的数据量、性能考虑因素等等......

通过 Cube,您还可以使用其他非 RDBMS 后端(即 MongoDB),其中一些提供内置聚合功能,可供 OLAP 服务器(如 Cube)利用。

Can this be used in conjunction with my NodeJS App?

您可以从 NodeJS 向 Cubes Slicer 服务器发出查询。

Any examples?

有一个 Javascript 客户端库来查询 Cube。您可能想使用这个:https://github.com/Stiivi/cubes.js/

我不知道有任何使用 NodeJS 的例子。您可以尝试从 Cubes ( https://github.com/Stiivi/cubes/tree/master/incubator ) 中包含的 AngularJS 应用程序中获得一些灵感。另一个客户端工具是 CubesViewer,它在构建模型时可能对您有用:http://jjmontesl.github.io/cubesviewer/ .

Since I have only created single server apps. Would python reside on the same nodejs server. How will it start? ('forever app.js' is my default script)

您可以将 Cubes Slicer 服务器作为 Web 应用程序运行(直接从您的 Web 服务器,即 Apache)。例如,对于 Apache,您可以使用 apache-wsgi mod,它允许为 python 应用程序提供服务。

Slicer 还可以在独立进程中作为小型 Web 服务器运行,这在开发过程中非常方便(但我不建议用于生产环境)。在这种情况下,它将监听不同的端口(通常:http://localhost:5000)。

If I cant use python since I have no exp, what are basics to do it in Nodejs?

你根本不需要使用Python。您可以配置和使用 Python Cubes 作为 OLAP 服务器,并从 Javascript 代码运行查询(即直接从浏览器)。从客户端的角度来看,它就像一个数据库系统,您可以通过 HTTP 查询并获取 JSON 格式的响应。

关于python - NodeJS 的 OLAP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com