INFS5710 Final 复习 视频内容
1. 考试信息 2. 知识点总结
• 8月17日周三1:30pm–5:30pm(悉尼时间) • 时长为4小时(3小时答题+1小时收尾提交)
必须提前准备提交,以免有技术问题! 迟交减分! Final 只有一次提交机会。 4:30 pm 点就准备收尾, 计划提交。全程掌握好时间。
Copyright By PowCoder代写 加微信 powcoder
Take Home Exam(开卷)
教材和课程 PPT 可直接引用, 不需要 reference • 直接大段引用的机会很少
• 多用自己的话总结,不要整段复制粘贴 不需要引用外部资料。
画图的部分,可手画拍照放入 word 文档中,也可用其他做图工具。 下载 Moodle 上的 answer sheet, 在里面中答题并提交
• 提交前检查题号是否清晰
• 必须提交 word 文件(zID_INFS5710.doc,不要提交其他格式)
整个学期所有的内容 (Lecture + Tutorial):
• 要清楚知道每一周讲了什么内容,并且理解其中的重点难点。
• 定义不考,不用去背定义。重点在理解和应用。
• 一定会考 SQL 的语法,需要掌握。但考试不会要求运行 Enterprise Guide。
• ER 图,normalization 的具体转换步骤也是考试重点,重点复习。
1.4 考试题型 这学期没有给明确的题型。以下仅为经验之谈,学校是有可能改这学期的题目类型的。
一般有题目中给出一个案例,里面描述了一个公司的运作和需要使用的数据,需要我们自己总结 出里面的数据结构和 business rules。一个案例可以有多个小问,第一问定位 case 中的 entity 和 primary key(需要写明 assumption),第二问将第一问中定义出来的 entity 做 normalization,第 三问画 ER 图,第四问写 SQL 去检索需要的信息,做数据分析。第五问会问数据分析 findings 或者 给出的建议,或者关于数据的其他的讨论。
简答题一般是针对 W7-W9 中的理论知识和例子的提问。
比如关于 W7 Database Security 可能给出一个商业情景,让我们讨论其中的数据安全问题,并给出 相应的建议(从 security control 的角度去答题)。
3. SQL 代码题
和 quiz 类似,要求根据要求写出或者修改相应的 SQL 代码。
2. 知识点总结 W8 Big Data
这周的主要内容是观看 Big Data 的纪录片“Big Data Revolution”。有 5 个重点话题。 https://www.youtube.com/watch?v=bIY3LUZ7i8Y
话题 1: Digitizing Ourselves
Collecting data about oneself! 收集关于我们自己的数据
Pattern recognition algorithm – change the way as a society 归纳规律的算法改变着我们的社会
• Personal devices, such as , Samsung Watch, and Fitbit, contain apps and sensors used to collect data about your health (as an example). 收集数据的仪器
• If you have such personal devices, the question here is can these devices influence on how you behave. Examples can include do you pay attention to the output (such as graph or numbers) from these apps, or do you have a goal of burning number of calories per day. 这些收据数据的 仪器也在改变我们的生活方式 (当我们看到关于我们自己的数据时候,会有新的想法)
话题 2: Building a Global Brain + Creating Intelligence System Collecting data about oneself! 收集关于我们自己的数据
Data is collected from you via devices. You react based on the data presented to you, and the action you have taken becomes another data point in this Big Data system. This becomes a cycle where the Big Data has an impact on you, and then your action becomes a datapoint in the Big Data.
从每个人身上提取到的数据会形成一个 Big Data system,我们只是这个 system 中的 data point。
In the video, it discusses about scheduling of buses. One of the suggestions is to be more proactive based on the needs of bus, i.e. instead of ten buses regularly travelling on one route. The bus can be diverted to another route if the demand for this particular route is reduced but a higher demand for the other route. Some would call this as building a smart city from Big Data. Thus, the city like Boston could be functioned more efficiently based on the data, i.e. “responsive to our needs”.
比如在公交系统中,我们可以分析人流量,根据人们出行的需要而制定出来更有效的公交路线。
话题 3: Mapping the Cost of Justice 从大数据的分析中,我们可以发现更多的社会问题。比如观察一下的地图数据,我们会观察非裔
社群和有入狱记录的人口的分布,会发现两者的联系,从而探索社会中的问题。
话题 4: Targeting You
对于企业,通过大数据分析可以研究客户数据,理解客户喜好需求,购买习惯,制定相应的 marketing plan 和 loyalty program 等。 Google 根据我们的搜索习惯研究我们的数据,推送给我们 相应的广告,这样的广告有效很多。这些科技公司通过大数据获取了很多利益。
话题 5: The Dark Side
主要讨论了 facebook 的例子。有报道指出 facebook 在用户没有完全之情的情况下,收集了用户信
息。这样的公司可能拥有大量的个人信息和数据,有时候会造成对个人权益的侵犯。
W9 Hadoop + NoSQL
1.1 Hadoop 定义
Java-based framework for distributing and processing very large data sets across clusters of computers. Hadoop 是一个分布式系统基础架构。
De facto standard for most Big Data storage and processing
主要解决,海量数据的 存储 和海量数据的 分析计算 问题。
Hadoop 有两个组成部分
• Hadoop Distributed File System (HDFS):
o Low-level distributed file processing system that can be used directly for data storage. o 负责数据存储
• MapReduce:
o Programming model that supports processing large data sets. o 负责计算+资源调度
1.2 Hadoop Distributed File System (HDFS)
简称 HDFS 是一个分布式文件系统, 用计算机中的 node 储存数据。
• Data Node: 在本地文件系统 存储文件块数据 。
• Name Node: 存储文件的 元数据 ,如文件名,文件目录结构,文件属性 (生成时间、副本
数、文件权限),以及每个文件的 块列表 和 块所在的 Data Node 等。
• Client Node: 用于生成指令读取数据,多余支持用户的应用程序。
Data Node 会与 Name Node 定期进行“交流”, 交流的内容有
• Block Reports:data node 里面的文件块数据报告
• Hearbeats:data node 的状态
简单的说就是 Name Node 就相当于一个目录,一个索引,负责标记每一个 Data Node 的存放位置 而 Data Node 才是真正存放数据的。
HDFS 有如下的 4 个 assumption:
1. High volume – Default block sizes is 64 MB and can be configured to even larger values 容量大
2. Write-once, read-many – Model simplifies concurrency issues and improves data throughput
o 一次存储,多次读取(数据存进HDFS中就不转移了)
o 目的是防止fragmentation(数据碎片化)
3. Streaming access – Hadoop is optimized for batch processing of entire files as a continuous
stream of data 由头到尾按顺序储存(非随机)
4. Fault tolerance – HDFS is designed to replicate data across many different devices so that when
one fails, data is still available from another device 数据在多部设备中的有备份,以防错误
1.3 Map Reduce
MapReduce 将计算过程分为两个阶段: Map 和 Reduce (1 ) Map 阶段并行处理输入数据
(2 ) Reduce 阶段对 Map 结果进行汇总
Key-value pairs
Map Reduce 是用于计算海量的数据的,做法是会将一个复杂的问题,先划分为很多个简单的小问 题,再一个一个计算(如上图)。
一个 MapReduce 程序在 HDFS 运行时有 2 类实例进程:
• Jobtracker:只有一个,管理所有作业,任务/作业的监控,错误处理等,将任务分解成一 系列任务,并分派给 Tasktracker。
• Tacktracker:运行 Map task 和 Reduce task;并与 Jobtracker 交互,汇报任务状态。 MapReduce 使用 batch processing 去执行计算的任务,计算期间不需要人为干涉。
截图为 Map Reduce 过程举例
1.4 Hadoop Ecosystem
Hadoop 生态群的其他组件 (理解组件的名称和作用) MapReduce Simplification Applications 简化 MapReduce 过程的工具:
• Hive is a data warehousing system that sites on top of HDFS and supports its own SQL-like language (基于 Hadoop 的数据仓库)
• Pig compiles a high-level scripting language (Pig Latin) into MapReduce jobs for executing in Hadoop (基于 Hadoop 的编码工具)
Data Ingestion Applications 数据同步工具:
• Flume is a component for ingesting data in Hadoop
• Sqoop is a tool for converting data back and forth between a relational database and the HDFS Direct query applications 数据检索工具
• HBase: column-oriented NoSQL database designed to sit on top of the HDFS that quickly processes sparse datasets
• Impala: the first SQL on Hadoop application
意思是 not only sql (仍然可能是支持 SQL 的)
non-relational database technologies developed to address Big Data challenges
我们学了 4 个 NoSQL 的数据库
2.1 Key Value Database
在这种数据结构中,数据表中的每一个实际行只具有行键(Key)和数值(Value)两个基本内容。值 可以看做一个单独的存储区域,可能是任何类型,甚至是数组。
2.2 Document Database
2.3 Column-oriented Database
Column-centric storage: Data stored in blocks which hold data from a single column across many rows Row-centric storage: Data stored in block which hold data from all columns of a given set of rows
特点:可以称为面向列的存储模式,以区别于关系型数据中面向行的存储模式,这种存储模式主 要用在 OLAP,数据仓库等场合。面向行的存储模式中,数据以行(或记录)的方式整合到一起, 数据行中的每一个字段都在一起存储。但在面向列的存储模式中,属于不同列或列族的数据在不 同的文件中,这些文件能分布在不同的位置上,甚至是不同的节点上。
文档数据库一般用类似 json 的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建
立索引,实现关系数据库的某些功能。
2.4 Graph Database
Graph databases store data on relationship-rich data as a collection of nodes and edges
• Properties are the attributes of a node or edge of interest to a user
• Traversal is a query in a graph database
特点:图存储模式来源于图论中的拓扑学。图存储模式是一种专门存储 节点和边以及节点之间的 连线关系的拓扑存储方法。节点和边都存在描述参数,边是矢量,即有方向的,可能是单向或双 向的。拓扑图中般需要记录如下内容: 节点(或称顶点)的 ID 和属性,节点之间的连线(或称边、关 系),边的 ID、方向和属性(例如转移函数等)。常见的点线拓扑关系有网页之间的链接关系,社交网 络中的关注与转发关系等。
2.5 Aggregate Awareness & Aggregate Ignorant
Aggregate Awareness: data is collected or aggregated around a central topic or entity
• Examples include KV, document, and column family databases
• Aggregate aware database models achieve clustering efficiency by making each piece of data
relatively independent
Aggregate Ignorant: Do not organize the data into collections based on a central entity
• Examples include graph databases.
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com