分析师在使用 RDBMS 时似乎很常见这种工作流程:使用 SQL 从数据库中获取数据子集,将其导出或使用连接器,然后对其应用数据挖掘/模型算法(例如 kNN、回归模型等)使用诸如 Pandas、R 或 Matlab 之类的东西。换句话说,一个人在 DBMS 内部运行,然后在它之外运行。
可以使用用户定义函数 (UDF) 在多种语言中实现选择算法(使用例如 PostgreSQL 在 C 中构建 UDF)并在 DBMS 环境中保持操作,即不放弃在内部操作所获得的好处数据库管理系统。此外,还可以将 UDF 与 SQL 构造无缝集成,如果需要对通过模型的数据执行后续 SQL 操作,这将非常强大。
我想知道在 DBMS 之外运行的原因是什么,因为这样的功能是可用的,而且具有讽刺意味的是,DBMS 擅长管理数据(由多年的研究支持)。
还有其他讨论似乎得出结论,SQL 用于预处理,Pandas 用于数据分析;澄清一下,我是在这个结论的基础上建立的:当 DBMS 也非常适合数据分析时,为什么事情会以这种方式结束?