如果还是2012年的话,我会热切地参与任何关于大数据的讨论。这是一个很流行的词,你必须说“神奇”的词才能让人们听到最新最伟大的技术。但令人失望的是,世界上大多数国家都没有对大数据充分挖掘和应用。相信我,不仅仅是那些坐在象牙塔的CIO/CDO都被大数据困扰。同时,那些精力充沛的开发人员正在寻找简历中寻找“大数据”的人才公司。
这篇文章的催化剂是我和一个三个月前加入我们的顶尖人才的谈话。他很伤心,因为他没有在大数据方面工作过。当被问到“大数据”的含义时,快速的回答是Hadoop和Spark。当面对他正在学习Lagom和事件寻源这一事实时,他并不太相信这将使他能够构建更好的解决方案。
这些技术没有任何问题,事实上,正是这些技术使生态系统广受欢迎。但这些技术只是具有任何商业价值的产品的一部分,有时是很小的一部分。他们解决了一个特定的难题。而且通常情况下,如果你的产品“仅仅”基于这些技术,你肯定会失败!
那么,如果我们不谈论大数据,我们应该朝什么方向发展呢?答案是朝着快速数据发展。如果你和10位CIO交谈,9位会说他们很难接受大数据。一个管理1TB的数据,另一个管理几百个PB的数据,这都无关紧要。我们需要集中精力确保客户获得最佳体验。客户体验(CX)将成为现代应用程序的王者。只关注Spark/Hadoop/Flink,并且认为你可以做大数据,这是一个谬论。
让我们看看这些所谓的大数据技术如何适应宏伟的计划。
如果您要构建一个具有用户交互的产品,那么您需要一个产品的反应式前端,这样您就可以提供出色的客户体验。
当成百上千的用户请求出现时,产品必须在不降低性能的情况下处理它们。它必须有弹性。
将有基于交易的流程——比如某人查询某个东西,添加一个项目,以及查看当天的交易。这些可以由不同的微服务处理。它们将有各自的生命周期,并且应该能够独立扩展。
如果您希望您的系统具有可扩展性,并为当前无法预见的任何未来业务操作进行计划,那么您需要事件源。
您可能希望将写入和读取分离到系统,以确保满足读取和写入SLA,并且您可以单独扩展读取和写入方面。
如果需要将交易数据存储在数据库中,则需要SQL或NoSQL数据库。
现在,您的一些功能还需要对数据进行分析,然后返回分析的数据。现在,根据SLA的不同,您需要在这里加入大数据框架。
您需要为您的产品运行一些机器学习或深度学习算法才能使其脱颖而出。
当然,我们正在大量简化场景。但希望你能理解。仅仅依靠一个大数据框架或者雇佣一些了解Hadoop/Spark的顾问是行不通的。您需要处理所需的全部技术,比如:
-
反应性UI
-
微服务框架
-
异步消息传递系统
-
大数据框架
-
数据库
-
基于容器的托管策略
-
监测和遥测
-
机器学习与人工智能
可是,这上面列举的并不完全。
覆盖所有这些的是有效软件开发的原则、模式和实践。根据“反应宣言”的原则,技术的主要驱动力是:
-
可扩展
-
安全
-
灵活
-
即时的
-
有弹性的
-
到处都是
-
智能
-
敏捷的
总结一下,这是一种可以实现产品愿景的技术方案:
正如您所看到的,大数据框架只是您想要做的事情的一部分。它们不只是海里的一滴水,然而它们还不够大。
文章的结尾,你有什么想法?期待你的留言。
如果你准备入行大数据,关于2019大数据目前的
【发展前景】戳我阅读
【就业岗位】戳我阅读
【大数据薪资待遇】戳我阅读
【完整的学习线路】戳我阅读
关注微信公众号itdaima获取大数据全套开发工具以及入门学习资料