说到大数据,我们首先会想到3V,即数据量大、业务复杂、速度快。对于开发人员来说,我们不需要关心大数据及其影响。开发人员的日常工作主要是解决哪些业务问题,通过哪些技术手段来增加企业的业务价值,进一步提高用户体验。但是,如果我们能够充分了解大数据的现状和未来,我们可以使开发工作变得方便。
许多开发人员知道,要构建一个更酷的解决方案,他们需要专注于最重要的业务问题,并与所有部门一起完成它。然而,开发人员不明白的是,许多流行的大数据技术只满足特定的用例。我们需要根据具体的应用场景选择合适的解决方案。因此,在构建大数据解决方案时,我们需要充分理解数据逻辑,构建数据提取规则,考虑数据遵从性和安全性要求,并考虑如何与其他软件无缝集成。
如果我们只使用开发人员或解决方案架构师的思维来思考问题,那么我们的最终解决方案肯定不全面。如何让我们的解决方案覆盖更多的领域,解决尽可能多的问题,实际上是一个需要遵循的规则。首先,要正常考虑数据源;其次,我是否与业务数据负责人建立了合作关系;第三,我的业务处理结果如何,业务人员是否能看到价值
如果从事零售业,应从发展的角度进一步提高零售经验;如果从事油气行业,应思考如何通过技术手段有效地从地下开采石油。总之,作为一个开发者,我们应该关注如何为一个特定的业务提供价值,进而影响到一个特定的行业,而不是花大量的时间在横向功能扩展上。
从头开始构建端到端的数据管道。虽然刚开始有成就感,但随着后期企业业务的拓展,需要建设10条、100条甚至1000条数据管道,这些数据管道会被大数据耗尽。因为原始代码限制了数据管道的可伸缩性。因此,自动化基本流程将使我们有更多的时间专注于专业的业务功能。
对于大规模的数据,有些人感到害怕,而另一些人则认为提供更多的存储空间来存储所有的数据并不奇怪。事实上,过分担心或不担心是不可取的。
虽然大数据并不是一个新物种,但随着数据量的增加,数据安全、数据访问等问题也将随之而来。一旦出现问题,大数据带来的惩罚将被放大很多倍。事实上,大规模数据不仅体现在容量上,还体现在类型和使用方式上。我们需要通过自助服务改变传统的大数据管理模式。此外,开发人员无法想象随意构建大数据解决方案,需要通过大量的测试用例来避免一些性能、安全性和可伸缩性问题。
无论是静态数据还是动态数据,当数据返回数据中心时,请确保有足够的保护措施和服务器空间。特别是对于静态数据,我们更应该注意其安全性。必要时,开发人员应接受专业的数据保护培训。
此外,开发人员不仅要有数据保护的能力,还要让整个企业有提高数据安全的意识。
从数据库的选择上,要远离关系型数据库。关系数据库非常擅长处理事务的更新操作,尤其是更新过程中复杂的一致性问题。但是,关系型数据库不善于处理大数据管理中的一些关键操作,如:无法大规模扩展、无法动态创建新的集群、不善于处理非结构化数据等,即使一些关系型数据库能够构建大数据解决方案,但代价非常昂贵。而且,在SQL和关系数据库的结合模式下,很难实现对某些类型语句的简单查询。
NoSQL是大数据解决方案的最销售等不等于营销大赢家。这种数据库结构可以应用于微服务体系结构。另外,在不同的大数据用例下使用不同的编码工具,因此kubernetes(K8)变得越来越重要,成为Devops解决方案的最终应用。
在硅谷,如果你掌握了卡夫卡和斯帕克等主流大数据技术,你就能找到一份非常好的工作。这表明,采用新技术是大势所趋。但这并不意味着这些大数据技术无所不能。我们需要通过更有效的方法和更成熟的经验不断优化它们,使企业能够构建合适的大数据平台。
总之,构建一个全面、灵活的大数据平台并非易事。对于开发人员来说,如果只关注一个数据模型,可能会陷入大数据的“坑”,未来大数据的扩展将成为一个问题。如果你想建立一个完全原创和干净的数据平台,你所建立的数据平台在实践中是行不通的。(文章来源/IT168)