本节书摘来华章计算机《数据驱动安全:数据安全分析、可视化和仪表盘》一书中的第1章 ,第1.2.3节,[美]杰·雅克布(Jay Jacobs)鲍布·鲁迪斯(Bob Rudis) 著 薛杰 王占一 张卓 胡开勇 蒋梦飏 赵爽 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2.3 数据管理
如果某种技能可以推迟学习,那就是数据管理,但你也仅仅将其短时间推迟。在信息安全(或者大多数其他行业)中,数据将会快速成倍地增加。如果你不学习怎么管理它,它不断扩大会影响工作的效率和效果。正如我们提到的,你可以利用电子表格来处理简单的分析任务。你需要尽快摆脱这个阶段,使用编程语言来解析数据,处理简单格式的数据文件,例如逗号分隔数值(CSV)格式。到了这一步,你可能会看到一些将数据迁移到数据库中的好处,但是目前不是必需的。
随着数据仓库的增长,你会到达一个数据复杂性或者数量级的临界点,将数据迁移到一个更健壮的数据管理解决方案势在必行。这里存在一个误解,将昔日大型的关系型数据库留给量级最大的项目,这个观念是不好的。将在第8章讨论的大多数数据库系统都可以安装到个人电脑上,这样可使数据分析更加有效,更具可扩展性。一旦你的数据管理技能变得得心应手,就连小的项目也会受益于此。我们已经安装了一个本地数据库,并且就连小的一次性项目的数据也一并导入了。
每当讨论到数据管理技能时,我们很自然地就会想到数据库,你期望有足够的知识来安装一个关系型数据库或者NoSQL数据库,以便导入数据,并用来做数据分析。但是,数据管理可不止数据库的使用,前者还包括如何控制数据的质量和保证数据的完整性。你需要保证处理的数据没有被无意识地修改或损坏。经常性地检测数据质量和完整性无伤大雅,特别是针对长期的数据分析任务。它有点像软件开发过程中的单元测试过程,将应用中可测试的最小片的功能代码和整体代码隔离,并检测这小片代码是否如预期一样。在导入新数据或者做了数据转换之后,你需要做一些自动的数据完整性检查,特别是数据分析有了一定的效果,能进行定期的度量或者可用作控制的指标的时候。
最后,我们是关注信息安全的,如果我们没有谈到一点儿数据安全的话,就是我们的疏忽了。首先我们回头看看上边的内容,我们似乎重复强调了一些特点:一些出色的人员被他们的激情驱使决心要生成一个优雅的解决方案,但是系统安全并不是他们主要关注的问题,满足功能需求才是主要的关注点。举个例子,当UNIX平台系统最开始被开发出来的时候,其本意是为用户提供共享的平台(同时也是封闭的平台)。其结果是大多数的认证和权限校验只是防止系统受到程序中无意识的错误产生的危害,而并没有防止恶意的用户。这里的观点是,一般“新生的”技术会特别强调功能性,而不是那么关注安全性。
由于当前来势汹汹的数据革命的快节奏推动,我们肯定要更多地强调功能性,而不是安全性。一些新的数据管理平台如Hadoop以及NoSQL,最开始都是被设计用来解决数据问题,而不能满足很多企业的安全策略和合规性需求(虽然他们学习起来很快),而结果就是,分布式计算平台面临着不同的安全挑战。现在UNIX的认证和安全特性比早期好太多了,他们通常不对安装较多的关系型数据库的安全性和功能特性进行比较,我们也不会在这个问题上关注太多。但是,不管选择什么数据管理平台,千万别假想其已经考虑了安全问题。