BI with Django?

ぃ、小莉子 提交于 2019-12-09 07:06:50

问题


Is there a way to develop Bi (Business Intelligence) solutions with Django? Therefore it should be possible to define models with more than one Datasource. Is anybody out there who has experienced BI with Django? How could it work ?


回答1:


I'm not sure what your definition of BI is or why you assume that a BI solution requires more than one data source.

In my experience, BI means statistical analysis of data. A reporting schema, using dimensional techniques, can be the basis for it. The data is usually ETL'd from various transactional sources into the single, dimensional schema, which then becomes the source for all analysis.

If what I'm saying is correct, then you don't need multiple data sources.

Maybe another way to think about the question is: Do the ORM techniques built into Django lend themselves to modeling a dimensional star schema using objects?




回答2:


It's doable, I've done it for my work. Can't opensource it yet, I've been able to release the heterogeneous replication app so far, but I haven't given up.

I use the Django ORM for the project data, copied and pasted Django's "load_backend() function" to be able to connect to more than one DB. The database used as source (companies' DB in ORACLE) for the graphs & tables is queried in raw SQL (the Django ORM would just get in the way anyways, many complex joins & aggregation).

Graphs are done with 'jqPlot', tables are done using 'jqGrid'. User account and auth is done using 'ldap-groups' with simple patches and binded to the Active Directory tree.

The replication app is here Django-Replication and can give you an example how to connect to multiple DBs from Django. It also features time limited (expirables via a timeout) queries and concurrent queries via python's multiprocessing & threading libraries.

--Tried posting images of the app, but new users aren't allowed to--



来源:https://stackoverflow.com/questions/622680/bi-with-django

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!