【问题标题】:Visualized data analysis for Django (Postgres) dataDjango (Postgres) 数据的可视化数据分析
【发布时间】:2012-01-14 08:22:17
【问题描述】:
我正在编写一个聚合大量数据(154 GB,150 个表)的 Django 应用程序(使用 Postgres 8.4 作为后端)。我想知道是否有任何现有的 Python 模块或框架支持跨多个表和列的分析。
例如:
- 表 1 包含 A、B、C 列
- 表 2 有 A、D 列
- 表 3 包含 F、G、H、I 列
我想看看 B 如何与 D 相关/对应 - 以 2 个轴或其他形式绘制 B 与 D。如果我能给它提供一个维度列表并且它可以比较任何一个维度,那就太好了。
【问题讨论】:
标签:
python
django
postgresql
analysis
【解决方案1】:
预警:我使用的所有 3 个基于 db 的图形库都可以做你想做的事情,而不是 Postgres(......而且我只喜欢其中的 2 个......)。
如果您仍处于开发初期,您可能需要考虑 graphite。它确实具有出色的图形功能,而且使用起来非常干净,而且是用 python 编写的。
如果您想要更有趣的东西,OpenTSDB。
使用其中任何一种的最简单方法是编写一个 shellscript/scraper 来查询您的表并将其返回给您的石墨/opentsdb 实例。如果你想直接从你的数据库映射,你可能会更好地回收石墨的代码。
【解决方案2】:
您将不得不编写自定义 SQL 代码,以及如何将该数据插入应用程序或图形监控系统取决于您。
+1 用于石墨,使用 collectd+graphite 插件和postgresql plugin 可以很容易地将 postgresql 数据导入石墨。
您想要监控的内容与特定数据库相关,并且可能与您的用例相关,afaik 在 pythonland 中没有任何东西可以帮助您处理 SQL。
对于那些不是 postgresql 专家的人,有一个很棒的 book 有一大堆监控/管理查询示例。
我个人不会将 django 本身用于这些操作,但使用 rawsql 可以轻松完成它们,然后您可以定义一些模型来保存数据,并使用您选择的可视化工具来显示数据。