Django(Postgres)数据可视化分析

3 投票
2 回答
2028 浏览
提问于 2025-04-17 07:50

我正在写一个Django应用程序(使用Postgres 8.4作为后台),这个应用需要处理大量数据(154GB,150个表)。我想知道有没有现成的Python模块或框架,可以支持在多个表和列之间进行分析。

举个例子:

  • 表1有列A、B、C
  • 表2有列A、D
  • 表3有列F、G、H、I

我想看看B和D之间的关系,比如在两个坐标轴上绘制B和D的关系图。如果能给它一个维度的列表,然后它能比较这些维度之间的关系,那就太好了。

2 个回答

1

你需要自己写一些SQL代码,怎么把这些数据放进应用程序或者监控系统,就看你自己了。

我推荐使用graphite,配合collectd+graphite插件和一个postgresql插件,这样就能很方便地把postgresql的数据导入到graphite里。

你想监控的内容和特定的数据库有关,而且可能还和你的使用场景有关。就我所知,在Python的世界里没有什么工具能直接帮你处理SQL。

如果你对postgresql不太熟悉,有一本很不错的,里面有很多监控和管理查询的例子。

enter image description here

个人来说,我不太会用django来做这些操作,但用原生SQL很简单,然后你可以定义一些模型来存储数据,最后用你喜欢的可视化工具来展示这些数据。

1

提前提醒一下:我用过的三种基于数据库的图表库都不支持Postgres(而且我其实只喜欢其中的两个)。

如果你现在还处于开发的早期阶段,可以考虑一下graphite。它的图表功能非常强大,使用起来也很简单,而且是用Python写的。

如果你想要一些更强大的功能,可以试试OpenTSDB

使用这两种工具最简单的方法是写一个脚本,去查询你的数据库表,然后把结果返回给你的graphite或opentsdb实例。如果你想直接从数据库映射数据,可能更好的是利用graphite的代码。

撰写回答