「商业智能(Business Intelligence,BI)」这个概念最早是 Gartner 在上个世纪九十年代提出的,它认为从功能上来说,商业智能是一种解决方案,其关键是处理企业来自多个来源的各种数据,提取有用的数据并清理,然后经过抽取(Extraction)、转换(Transformation)和加载(Load),即 ETL 过程,合并到一个企业级的数据仓库里,按照一定的建模方式组织数据,再利用合适的商业智能工具来形成各种可视化的分析报表,将数据转化为洞察(Insight),为管理者的决策提供支持。
对于企业而言,打造一套完善的商业智能解决方案,可以让业务需求更贴合真实数据,让商业决策更加理性和“智能”。决策者接收到的直接结果大多数是数据可视化后的分析报表,「数据可视化(Data Visualization)」作为商业智能的一个重要特征,可以通过交互式数据仪表板、图表、图形和映射的方式来呈现企业故事,使展示结果更易于理解和共享,为决策者提供更多的洞察,这都是传统的报告和分发工具所无法企及的。虽然前端可视化分析最为直观,但它仅仅是商业智能的一个环节,底层数据库的建设才是基石。PieCloudDB Database 作为一款云原生数据库产品,搭建了底层业务系统数据源和可视化分析报表之间的桥梁,在整个商业智能解决方案中起到了承上启下的核心作用。
PieCloudDB Database 兼容 PostgreSQL 协议,支持 ODBC、JDBC 等标准数据库接口。对 SQL 的全面支持使得 PieCloudDB Database 可以无缝集成业内常见的 ETL 和 BI 工具;而对多种过程语言(Procedural Language)的支持为用户基于数据库的二次开发提供了便利。本文将借助一个商业智能场景,介绍如何使用 Python 编程语言和 BI 工具 Tableau 连接 PieCloudDB Database ,从而形成以下完整的商业智能解决方案:
随着今年初对新冠疫情防控政策的重大调整,旅游行业逐渐开始回温,在这种趋势下,如何提升景点品质、提高商业竞争力成为了摆在景区规划人员面前的问题。在这种场景下,基于我们的解决方案结构,可以对某旅游网站的游客点评进行内容分析,充分发挥文本数据的作用,从而为旅游行业的规划升级提供决策帮助。本文会侧重介绍解决方案中所涉及的 PieCloudDB Database 外部连接方式,后续的文章则会重点介绍该场景下的数据分析过程。
PieCloudDB Database 完全兼容 PostgreSQL 的客户端协议,所以我们可以使用 PostgreSQL 驱动访问 PieCloudDB Database。同时 psycopg 是一种用于执行 SQL 语句的 Python API,可以为 PostgreSQL 数据库访问接口,所以我们可以利用 psycopg 模块连接 PieCloudDB Database。大家可以参考以下步骤进行操作:
# 安装 psycopg 模块
pip install psycopg2
# 导入 psycopg 模块
import psycopg2
# 连接到 PieCloudDB Database
conn = psycopg2.connect(database='openpie', user='username', password='token', host='127.0.0.1', port='5432')
# 参数信息:
# database – 数据库名
# user – 数据库用户名
# password – 数据库接入 token 即密码
# host – 数据库IP地址
# port – 端口号
# 创建指针对象
cur = conn.cursor()
# 执行 SQL 语句
cursor.execute(sql)
# 提交执行结果
conn.commit()
# 关闭指针和数据库连接
cursor.close()
conn.close()
市场上常见的 BI 工具有很多,从软件成熟度和市场接受度考量,我们使用 Tableau 进行探索性数据分析。经过测试,我们可以从 Tableau Desktop 使用 PostgreSQL 驱动访问 PieCloudDB Database。大家可以参考以下步骤进行操作:
选择左侧“连接”窗格 > 到服务器 > 更多... > PostgreSQL
由于 Tableau 的要求,在连接操作之前,用户需要从 https://jdbc.postgresql.org/download/ 下载和安装 PostgreSQL 所需的驱动程序,然后将相关的 .jar 文件复制到以下文件夹中(可能需要手动创建该文件夹):~/Library/Tableau/Drivers ,详细步骤请参考 Tableau 官网。
根据提示,填写需要连接的数据库IP地址、端口号、数据库名、用户名和密码即可。
在整个商业智能解决方案中,我们会借助 Python 丰富的数据科学工具进行数据采集、数据清洗和数据建模,并通过 Tableau 强大的可视化分析功能进行探索性数据分析、形成动态化看板。如果大家对「自然语言处理(NLP)」这个主题感兴趣,想了解详细的数据建模过程和完整的商业智能场景流程,请持续关注我们的相关技术博文。
相关博文