复杂性和简单
1.深入复杂性,挖掘其本质
数据工程中的真正极简主义不是一种框架或数据栈工具包,而是一种心态。
这样的态度就是一种哲学,它更偏好简单直接的解决方案,而不是复杂的全面系统。
该哲学包括一些关键原则:
极简主义 :专注于提供最大价值的核心功能,而不是试图适应每个可能的场景或需求。
接受权衡 :为了简单、速度和易于维护,愿意牺牲一些完整性和完美的程度。
实用主义胜于理想主义:优先考虑实际可行的解决方案,高效地解决真实商业问题,而不是追求理论上完美但过于复杂的系统。
减轻认知负荷 :设计易于理解、实施和维护的系统和流程,从而减少在多个工具和技术上的专长需求。
成本效益 :采用通常需要较少计算资源和人力资本的简单解决方案,从而降低成本。
灵活性和适应性 :构建易于修改和演化的系统,以适应业务需求的变化,而不是僵硬且过度工程化的解决方案。
重视成果 :强调最终结果和商业价值,而不是纠结于数据流程本身的复杂性。
这种心态可能与现代数据工程中不断增加工具、流程和层次的做法直接矛盾。因此,准备好为你的观点辩护。
在提出一个更简单、更有效的解决方案前,必须先深入理解问题。这让我想起了下面这句话:
要让某事变得简单,需要付出巨大的努力,真正理解其中的挑战,并找到简洁而优雅的解决方案。
[…] 简洁不仅仅是极简主义或消除杂乱,而是要深入复杂性,挖掘其本质。要真正简单,你必须深入研究。
[…] 你必须深刻理解产品的本质,才能去掉那些不必要部分。
—— 史蒂夫·乔布斯
附注:采用极简风格并不意味着忽视新的工具和技术进步。
实际上,我目前最喜欢的数据仓库解决方案之一是使用一个名为duckDB的新开源数据库。了解一下,它相当不错。
工程师和科学家
学语文和语文好的一样,觉得语文简单而数学复杂的场景类型
Engineers build things; scientists describe reality;
大部分的观点:工程师只是跟随科学家铺设的道路,添加创造力和实际问题解决能力
engineers only follow paths laid down by scientists, adding creativity and practical problem solving.
实际上呢
在实际应用和创新过程中,工程师的实践和创造性工作往往是推动科学发展的重要力量。
工程师通过建造和实验来探索未知,这些实践最终可能为科学理论提供实证基础。
这种观点挑战了那种认为科学总是先于工程,或者科学是工程的唯一指导的观念。
从产品上看
云端的、实时的、协作的、有版本控制的、基于代码的、可扩展的——这些特性Excel 都没有
实时数据的变化不可靠。协作不可靠。限制如何处理数据不可靠;
但当他们可靠的时候呢?
01.把 Excel 看作是数据库与 BI 工具的结合体,全被打包进一个文件里
原始数据以及你对这些数据的操作和展示-一个固定的快照
02.直接性-学习曲线比其他工具要更直观
通过 DuckDB 支持本地和远程查询数据的混合执行引擎。它既是一个沙盒,也是一个同步服务
软件已经被商品化——这是技术进步、成本、复杂性降低以及编程技能普及的结果
软件曾经是武器,现在只是工具
管你喜欢与否,人工智能的进步都已到来,你需要积极做好准备
开发总归有一定目的,不管是做嵌入式系统、iPhone、Web 应用还是微软的服务器端应用
数据-资产的继承和转移
无法确定该数据的最终去向或数据的复制频率
账户接管
调查是了解情况的重要手段,但是调查得到的信息不一定就能反映真实情况
没有调查就没有发言权,没有调查就没有决策权
调查就是解决问题,调查那个问题的现状和它的历史
不根据实际情况进行讨论和审察,一味盲目执行,盲目地表面上完全无异议地执行上级的指示,
这不是真正在执行上级的指示,这是反对上级指示或者对上级指示怠工的最妙方法
社会经济调查
对象的是社会的各阶级,要明了社会各阶级的政治经济情况,各阶级现在的以及历史的盛衰荣辱的情况
解剖各种社会阶级,我们的终极目的是要明了各种阶级的相互关系