主要介绍云的一些基本产品和技术:ECS、VPC、CDN、SLB、LVS、AS、OSS、安全(WAF、云数据安全中心、DDOS)等。
云技术
Mysql-Innodb存储引擎
最近一段时间看完了《MySQL技术内幕-InnoDB存储引擎》这本书,对数据库有了更深入的理解和认识,并做了详细记录。主要内容包括:Innodb存储引擎的运作,比如:后台线程、内存、插入缓存、执行流程分析,还有文件、表、ibd文件格式解析、索引和算法、锁、事务、备份和恢复。并对源码结构进行了简单介绍。
Spark
Apache Spark 是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模的数据进行快速分析查询。主要介绍了运行环境、运行架构、RDD的使用和运算、Spark内核、Spark SQL、SparkStreaming这些方面的内容。
MIT6.830-lab6-Rollback and Recovery(数据库的日志回滚和恢复)
项目的第六部分,主要就是实现日志的事务回滚和崩溃恢复。在该项目中,undo log和redo log统一用一个简单日志来充当,并借助checkpoint进行恢复。
MIT6.830-lab5-B+ Tree Index(数据库的索引B+树的搜索、插入、删除窃取、删除合并)
项目的第五个部分,主要就是实现B+树索引以进行高效查找和范围扫描。主要就是实现B+树的:搜索、插入节点拆分、删除窃取、删除合并。
MIT6.830-lab4-SimpleDB Transactions(数据库的事务LockManager、事务操作、死锁处理)
项目的第四个部分,主要就是实现事务处理和并发相关的功能。我们需要为SimpleDB设计一个二阶段锁的管理器LockManager,并进行事务操作和死锁处理。
MIT6.830-lab3-Query Optimization(数据库的查询优化IntHistogram、TableStats、join代价估计、最佳join order获取)
项目的第三个部分,主要就是实现一个基于cost的查询优化模块,这个模块的主要作用是在SimpleDB处理Join等SQL语句的时候可以对输入的SQL查询进行优化,并且我们这里实现的是最简单的基于cost的查询优化模块,这里的cost会根据SimpleDB中数据表的统计信息计算出来,而这种统计信息就来自于之前实现的存储模块。
MIT6.830-lab2-SimpleDB Operators(数据库的操作算子Filter、Join、Aggregates、Insertion and Deletion,以及页LRU淘汰策略)
项目的第二个部分,主要就是实现常见的SQL语句所需要的数据库操作:Filter(按条件筛选)、Join、Aggregate、Insert和Delete。以及新增一个Buffer中的页淘汰策略LRU。
MIT6.830-lab1-SimpleDB(数据库的基本存储Tuple、TupleDesc、HeapPage、HeapFile、SeqScan、BufferPool)
项目的第一个部分,主要就是实现数据库基本的存储逻辑结构,具体包括:Tuple,TupleDesc,HeapPage,HeapFile,SeqScan, BufferPool等。
Spark实时数仓
该项目主要是基于Spark来做一个实时数仓,通过Flume采集日志数据(该项目简略了),Maxwell采集业务数据,通过Kafka被Spark读取数据进行处理,也是通过Kafka对数据进行一个分层化的存储和处理,最终生成DWS层的宽表并保存到OLAP数据库ES中,以及通过ES来做数据的分析。