很多大数据应用的实施似乎都是在一个现有的数据仓库上,添加一个或多个新的大容量数据流,还有一些支持数据存储和业务分析的专业软硬件。数据存储问题通常是通过部署一个专门的硬件一体机来协调,这样就可以在存储大量数据的同时还能够提供超快的数据访问。
在这样的情况下,我们还需要考虑数据库设计的问题么?
大数据环境下的数据建模
大多数DBA认为:良好的数据库设计是系统和应用程序设计的一部分。很多的业务需求,如数据可用性,清理处理,还有应用性能都可以利用特定的数据库设计加以解决。
那么对于大数据又如何呢?有趣的是,为大数据业务分析提供软硬件解决方案的供应商总是宣称数据库设计并不是那么重要。他们认为,由于数据是以专门的格式进行存储的,所以大多数数据库设计便没有了用武之地。
在这个问题上的困惑通常是源于对解决方案要以何种特殊的方式执行大数据查询的误解。简单来说就是,在大多数情况下,数据会存储在两个 地方:你当前的生产数据库管理系统(DBMS)和新型专用的一体机。当前的生产流程是提取,转换并加载数据到当前DBMS,继续按原样操作,还有一个额外 步骤:每当你加载数据到一个表的时候,你还要确保新数据也能被加载到新一体机中去。
在DBMS加载成功后,便可以马上把数据加载到一体机,或者可以供后续执行分批处理。而重要的是,在任何大数据查询使用已加载数据来获得性能改善之前,必须先把数据加载到一体机。
数据库设计是质量的保证
有质量的数据库设计意味着什么呢?一般来说,数据库设计开始于数据模型和定义之间关系的业务规则。例如,订单总是与客户相关的,并且客户可能没有订单或者有多个订单。有了这些东西以及数据元素定义和属性,数据库设计就可以在以下领域解决,处理或是降低风险:
通过自动数据元素有效值检查来协助避免缺陷;
在应用构建和测试期间允许缺陷检测和修复;
尽可能让数据验证接近其源头;
提供稳定性,可靠性,数据可访问性和系统扩展性。
数据库设计人员的做法有什么差别?
糟糕的数据库设计对技术支持的影响非常之大,他们必须实时处理系统问题,这样就会抬升定位和解决问题的成本。其在产品行为上还会体现为惹恼或是赶走客户。而与糟糕设计相关的最常见的问题就是非常差得应用性能和数据冲突。
典型的修复方法包括数据库重组或重新设计,如添加表索引和改变表分区和聚簇。然而,在大数据环境中,这些方法在专用一体机中通常是行 不通的。它们只会存在 于数据库的基本表中。这是问题的症结所在:尽管供应商声称你所有的数据都可以迁移至专用一体机,但这绝不是最佳的解决方案。
让数据在主数据库管理系统和一体机之间共存是最好的方法,其原因如下:
避免单点故障。专 用一体机往往存折一个单点故障。虽然有供应商和支持人员的努力,但是一体机中的软硬件,网络连接和流程都可能会发生故障。如果是这样,如何才能进行满意的 查询呢?数据协同定位在数据库管理系统中,查询结果可以通过访问基本表得以满足。当然,性能肯定会受到影响;但是,如果不这样做的话,在有人修复这一问题 之前,你的大数据应用都会是不可用的。
提供数据卸载。查询并非是数据的唯一消费方。一种常见的用法是将生产数据卸载到测试环境。此外,某些第三方供应商软件工具会直接访问本地数据库中的数据,而这在一体机中是不可用的,因为数据是以专门的格式进行存储的。
备份和恢复。最常见的备份和恢复工具都是以那些驻留在数据库中的数据为基础的。而第三方供应商工具通常用于高性能备份和恢复,包括索引恢复。这些备份是针对基本表和表空间执行的,而非一体机。
某些性能状况。在某些情况下,SQL查询在一体机中无法执行。这些限制都是定义在手册中的,并且随着供应商一体机和版本的不同而不同。在这些情况下,你别无选择;你必须访 问基本表并接受性能的下降。其中一些限制包含了特定的SQL语法,例如可滚动游标,动态SQL,使用多个字符编码方案,某些相关表表达式,以及使用某些内 置函数。
大数据的数据库设计
因为你要同时在DBMS和专用一体机中保存数据,所以标准数据库设计规则对你来说仍然适用。有趣的是,由于一体机的存在,如今某些规则得以扩展或是变得更加复杂。下面是一些注意事项:
对索引的需求。索 引服务于 多种需求:它们可以赋予数据元素唯一性,它们可以赋予参照完整性关系,它们可以定义主键,并且它们可以定义额外访问路径。最后一项是十分重要的。 在大数据环境中,我们的想法是把长时间运行的查询放进一体机中以进行高速处理。如果某些存在的索引仅仅是提供可选访问路径,那么可能就不再需要它们了。数 据库设计或是重新设计应该包括对所谓性能索引的检查。如果此索引不再被查询所用,那么就可以删除它们,从而节省表数据恢复所需要的磁盘空间,处理时间和恢 复时间。
删除一体机的SQL限制。通常来说,数据的业务规则决定着数据库设计的部分内容。这包括进行物理分区以允许更快 的查询和更简便的数据清理,诸如字段约束在内的数据元素域检查,以及用于支持参照完整性规则的主键和外键定义。接着,应用程序开发人员会编写SQL查询来 访问数据。此外,用户可能拥有的报告工具会自动为查询和报告生成SQL代码。因为SQL查询语法和功能取决于数据库设计,所以设计人员需要对一体机限制熟 稔于胸。
为高速一体机的数据加载进行设计。现在正常的数据库加载过程包含一个额外步骤:将数据加载进一体机。如何才能对此以最佳的方式实现呢?这主要取决于你的应用和数据波动程度,因此要考虑以下变量:
定期批量加载(每天,每小时)一体机,但要明白其中的数据并不完全是最新的。
细流加载,基本表中的记录有过更新的地方会同步传送至一体机。这样就会保持一体机数据最新,但是记录的处理要比批量加载缓慢许多。.
总结
虽然数据库软硬件方面的进步可以将数据查询的速度提升一个档次,但大数据和一体机并没有把对良好数据库设计的需求弃之不用。实际上,设计人员有更多的事情需要去考虑:备份和恢复,索引管理,多途径数据访问,以及SQL限制。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-02最近我发现一个绝招,用DeepSeek AI处理Excel数据简直太爽了!处理速度嘎嘎快! 平常一整天的表格处理工作,现在只要三步就能搞 ...
2025-04-01你是否被统计学复杂的理论和晦涩的公式劝退过?别担心,“山有木兮:统计学极简入门(Python)” 将为你一一化解这些难题。课程 ...
2025-03-31在电商、零售、甚至内容付费业务中,你真的了解你的客户吗? 有些客户下了一两次单就消失了,有些人每个月都回购,有些人曾经是 ...
2025-03-31在数字化浪潮中,数据驱动决策已成为企业发展的核心竞争力,数据分析人才的需求持续飙升。世界经济论坛发布的《未来就业报告》, ...
2025-03-28你有没有遇到过这样的情况?流量进来了,转化率却不高,辛辛苦苦拉来的用户,最后大部分都悄无声息地离开了,这时候漏斗分析就非 ...
2025-03-27TensorFlow Datasets(TFDS)是一个用于下载、管理和预处理机器学习数据集的库。它提供了易于使用的API,允许用户从现有集合中 ...
2025-03-26"不谋全局者,不足谋一域。"在数据驱动的商业时代,战略级数据分析能力已成为职场核心竞争力。《CDA二级教材:商业策略数据分析 ...
2025-03-26当你在某宝刷到【猜你喜欢】时,当抖音精准推来你的梦中情猫时,当美团外卖弹窗刚好是你想吃的火锅店…… 恭喜你,你正在被用户 ...
2025-03-26当面试官问起随机森林时,他到底在考察什么? ""请解释随机森林的原理""——这是数据分析岗位面试中的经典问题。但你可能不知道 ...
2025-03-25在数字化浪潮席卷的当下,数据俨然成为企业的命脉,贯穿于业务运作的各个环节。从线上到线下,从平台的交易数据,到门店的运营 ...
2025-03-25在互联网和移动应用领域,DAU(日活跃用户数)是一个耳熟能详的指标。无论是产品经理、运营,还是数据分析师,DAU都是衡量产品 ...
2025-03-24ABtest做的好,产品优化效果差不了!可见ABtest在评估优化策略的效果方面地位还是很高的,那么如何在业务中应用ABtest? 结合企业 ...
2025-03-21在企业数据分析中,指标体系是至关重要的工具。不仅帮助企业统一数据标准、提升数据质量,还能为业务决策提供有力支持。本文将围 ...
2025-03-20