使用MySQL进行分析报告的利弊?
来源:CPDA数据分析师网 / 作者:数据君 / 时间:2021-03-03
资料类型您正在分析什么类型的数据?
MySQL旨在管理关系数据。如果您有大量定性数据(例如社交媒体帖子,图像或文本正文),甚至不要考虑使用MySQL,尽管MySQL已采取措施更好地处理这些类型的数据,但还是有一些NoSQL解决方案更适合此任务,例如MongoDB,当您要对数据运行分析查询时,尤其如此。
数据集大小您要处理多少数据?
许多人吹捧着MySQL的局限之一是处理超过1,000,000行的数据集时性能下降,但是,通常,更深入地研究表明,这是由于表设计不正确,硬件资源不足或未优化的查询和索引所致,MySQL的使用,MySQL可以有效地用于非常大的数据集,因此如果您的项目要处理大约500GB以上的数据集,请考虑花一些时间正确配置它以处理大规模数据(例如,您可能需要比较MySQL存储引擎,以找到适合您的用例的引擎) ,克服MySQL中大小限制的另一种方法是使用商业智能(BI)工具进行MySQL报告,以减轻数据库本身的负担。这些工具从数据库中逐步读取必要的数据,然后进行转换,分析并将其存储在其服务器上。
请展望未来几年并考虑公司的成长
在不久的将来处理大型或超大型数据集是否合理?如果是这样,请计划对数据体系结构进行自定义配置以适应您的增长,数据新鲜度,实施分析时要理解的一个重要概念是数据新鲜度。换句话说,您需要多久更新一次数据仓库和数据集市?您是否每秒需要它,或者隔夜更新就足够了吗?MySQL几乎可以处理您要实现的任何刷新率,但是您的数据仓库体系结构和硬件的配置都需要进行更改以符合您的目标。
当MySQL安装程序的性能欠佳时,该配置的硬件要求就会被忽略
当MySQL没错时这导致MySQL在大型数据集上被标记为“慢”或“性能不佳”,规划您的配置,并确保它具有有效运行所需的资源,实施BI工具时,也应牢记这一点。当涉及到数据的新鲜度时,您越频繁地更新数据库,就增加了更多的负载,速度/可用性,当您的分析师团队对数据进行挖掘,可视化和报告时,您的需求将有多强烈?并发用户将查询多少个数据集?另外您是否需要分析所有数据或仅分析其中一部分?在分析领域,我们经常收集比任何单个分析所需更多的数据,这意味着我们可以有效地对数据仓库和数据集市进行建模,以程度地减少实际正在使用的结果数据集的大小,从而更快地获得结果。
如果您要分析网络流量以提高选择率
则无需在该数据集中包含客户数据(例如姓名,地址或订单历史记录),如果您使用的是BI工具,那么这并不是什么大问题,因为一旦将数据加载到BI系统中,数据库上就不再有任何负载,因此数据可用于分析的速度取决于BI系统的配置,而不取决于MySQL数据库,MySQL的特殊注意事项,让我们看一下MySQL的几个关键方面,以便更好地了解它如何适合您的计划。
特征和功能
在选择数据库管理系统(DBMS)时,市场上有很多选择,它们都有自己的优势,但是由于它的低成本(对于社区版免费),庞大的支持社区和灵活性,MySQL是许多应用程序中的数据库选项之一,由于这种流行性,再加上数据分析的蓬勃发展,MySQL的许多用户都要求其功能与时俱进,否则可能会受到开发人员的青睐。这导致以前限制MySQL的许多缺点在版本的DBMS中得以解决,早期版本中的一个问题是不存在以JSON数据类型存储值的本机支持,在版本(5.7)中,情况不再如此,新的本机二进制格式及其使用的功能允许更有效的处理和存储,从而在处理常用数据类型时提高了性能,从表面上看,这似乎没有太大的改善,但是鉴于MySQL在当今Web应用程序丰富的世界(JSON是一种广泛使用的数据类型)中的流行,其影响是巨大的,通过在数据的整个生命周期中保持一致的数据类型,许多应用程序将受益于更好的数据完整性,而且众所周知,数据完整性是业务指标的关键,弄错了您就有机会犯错,例如失去销售或订购多余的库存,所有这些都会影响您的底线。
分析业务数据
根据您在配置期间选择的存储引擎以及其他因素,对数据进行实际分析可能会花费大量时间,添加专用的BI层是解决这种情况的方法之一,它将正在分析的数据与事务数据库中的数据分开,从而使分析可以完全独立地运行,但是同样不同的BI工具也有其优点和缺点,因此请确保将它们进行比较,以找出适合您的项目的项目,可以缓解这种情况的另一种方法是通过使用处理引擎来完成繁重的工作并将数据拆分为分布在多个节点上的较小的MySQL数据集市,然后将分析结果存储在那些数据集市中,而不是存储所有数据本身,其他可以帮助克服较长分析时间的方法是针对应用程序进行优化,分区使用启用了列和压缩的引擎,复制,分片等,如何实现这些功能不在本文的讨论范围之内,但是现在您知道MySQL能够做到这些。
终的讨论都将涉及这需要多少费用?
这个问题的答案可能真的很酷,不计薪水支付开发人员,硬件,维护等的费用,MySQL是免费的,社区版可免费使用,并得到托管公司和分析工具的广泛支持,它也不是那些愚蠢的“免费但功能有限的交易”之一,实际上它非常强大并且能够使用默认配置来处理许多项目,但是对于大型企业项目,您可能需要付费版本。
对于许多分析项目,MySQL可能是有效的解决方案
MySQL旨在管理关系数据。如果您有大量定性数据(例如社交媒体帖子,图像或文本正文),甚至不要考虑使用MySQL,尽管MySQL已采取措施更好地处理这些类型的数据,但还是有一些NoSQL解决方案更适合此任务,例如MongoDB,当您要对数据运行分析查询时,尤其如此。
数据集大小您要处理多少数据?
许多人吹捧着MySQL的局限之一是处理超过1,000,000行的数据集时性能下降,但是,通常,更深入地研究表明,这是由于表设计不正确,硬件资源不足或未优化的查询和索引所致,MySQL的使用,MySQL可以有效地用于非常大的数据集,因此如果您的项目要处理大约500GB以上的数据集,请考虑花一些时间正确配置它以处理大规模数据(例如,您可能需要比较MySQL存储引擎,以找到适合您的用例的引擎) ,克服MySQL中大小限制的另一种方法是使用商业智能(BI)工具进行MySQL报告,以减轻数据库本身的负担。这些工具从数据库中逐步读取必要的数据,然后进行转换,分析并将其存储在其服务器上。
请展望未来几年并考虑公司的成长
在不久的将来处理大型或超大型数据集是否合理?如果是这样,请计划对数据体系结构进行自定义配置以适应您的增长,数据新鲜度,实施分析时要理解的一个重要概念是数据新鲜度。换句话说,您需要多久更新一次数据仓库和数据集市?您是否每秒需要它,或者隔夜更新就足够了吗?MySQL几乎可以处理您要实现的任何刷新率,但是您的数据仓库体系结构和硬件的配置都需要进行更改以符合您的目标。
当MySQL安装程序的性能欠佳时,该配置的硬件要求就会被忽略
当MySQL没错时这导致MySQL在大型数据集上被标记为“慢”或“性能不佳”,规划您的配置,并确保它具有有效运行所需的资源,实施BI工具时,也应牢记这一点。当涉及到数据的新鲜度时,您越频繁地更新数据库,就增加了更多的负载,速度/可用性,当您的分析师团队对数据进行挖掘,可视化和报告时,您的需求将有多强烈?并发用户将查询多少个数据集?另外您是否需要分析所有数据或仅分析其中一部分?在分析领域,我们经常收集比任何单个分析所需更多的数据,这意味着我们可以有效地对数据仓库和数据集市进行建模,以程度地减少实际正在使用的结果数据集的大小,从而更快地获得结果。
如果您要分析网络流量以提高选择率
则无需在该数据集中包含客户数据(例如姓名,地址或订单历史记录),如果您使用的是BI工具,那么这并不是什么大问题,因为一旦将数据加载到BI系统中,数据库上就不再有任何负载,因此数据可用于分析的速度取决于BI系统的配置,而不取决于MySQL数据库,MySQL的特殊注意事项,让我们看一下MySQL的几个关键方面,以便更好地了解它如何适合您的计划。
特征和功能
在选择数据库管理系统(DBMS)时,市场上有很多选择,它们都有自己的优势,但是由于它的低成本(对于社区版免费),庞大的支持社区和灵活性,MySQL是许多应用程序中的数据库选项之一,由于这种流行性,再加上数据分析的蓬勃发展,MySQL的许多用户都要求其功能与时俱进,否则可能会受到开发人员的青睐。这导致以前限制MySQL的许多缺点在版本的DBMS中得以解决,早期版本中的一个问题是不存在以JSON数据类型存储值的本机支持,在版本(5.7)中,情况不再如此,新的本机二进制格式及其使用的功能允许更有效的处理和存储,从而在处理常用数据类型时提高了性能,从表面上看,这似乎没有太大的改善,但是鉴于MySQL在当今Web应用程序丰富的世界(JSON是一种广泛使用的数据类型)中的流行,其影响是巨大的,通过在数据的整个生命周期中保持一致的数据类型,许多应用程序将受益于更好的数据完整性,而且众所周知,数据完整性是业务指标的关键,弄错了您就有机会犯错,例如失去销售或订购多余的库存,所有这些都会影响您的底线。
分析业务数据
根据您在配置期间选择的存储引擎以及其他因素,对数据进行实际分析可能会花费大量时间,添加专用的BI层是解决这种情况的方法之一,它将正在分析的数据与事务数据库中的数据分开,从而使分析可以完全独立地运行,但是同样不同的BI工具也有其优点和缺点,因此请确保将它们进行比较,以找出适合您的项目的项目,可以缓解这种情况的另一种方法是通过使用处理引擎来完成繁重的工作并将数据拆分为分布在多个节点上的较小的MySQL数据集市,然后将分析结果存储在那些数据集市中,而不是存储所有数据本身,其他可以帮助克服较长分析时间的方法是针对应用程序进行优化,分区使用启用了列和压缩的引擎,复制,分片等,如何实现这些功能不在本文的讨论范围之内,但是现在您知道MySQL能够做到这些。
终的讨论都将涉及这需要多少费用?
这个问题的答案可能真的很酷,不计薪水支付开发人员,硬件,维护等的费用,MySQL是免费的,社区版可免费使用,并得到托管公司和分析工具的广泛支持,它也不是那些愚蠢的“免费但功能有限的交易”之一,实际上它非常强大并且能够使用默认配置来处理许多项目,但是对于大型企业项目,您可能需要付费版本。
对于许多分析项目,MySQL可能是有效的解决方案
它具有许多特性,使其成为实施分析项目的理想数据库环境,它非常适合刚入门数据分析的入门级初创企业和中型公司,而且对于较大的应用程序,可以对其进行缩放和优化以使其适合,这正是为什么许多公司选择使用它,以及为什么它得到了来自不同社区的广泛支持的原因,这种巨大的支持不断推动着MySQL的完善,每个发行的新版本都包含完善的功能,使其成为满足许多数据存储需求的可行解决方案,当然上述所有因素都将决定安装的复杂程度,您的需求越大则需要的配置就越优化,如果您要进行任何规模的规模操作,请考虑为您的数据体系结构实现专用的BI层。
商业联合会数据分析专业委员会