经典计算机论文阅读摘录

    很多计算机中有重要价值的思想、观点都需要回到“原本”【original paper 】之中才能真切的体会,但同时由于时代背景的变迁,一些经典论文中所用的术语、所介绍的问题难免过时、费解。所以对于这些“原本”,我们也需要灵活的去摄取其精华。

    在此,将个人的一些paper reading notes做一集中的记录。个人的观点和想法,弄斧于班门,如有不当,万望指正。


1, 《A relational Model of Data for Large shared Data Banks》 E.F.Codd 1970

      【背景:在本科时就学习过数据库原理之类的,但是对于所谓的“关系型数据库”显然还是属于睁眼瞎,不懂其本质的状态。而在最近的工作之中,由于很大一部分的工作内容就是需要设计数据表结构(无论是在MySQL这种数据库还是hive这种数据仓库之中)以及写各种SQL、HQL语句,感觉还是有必要从原理上正本清源的理顺一下的。】

       Codd在这篇paper中提出了关系型数据库的概念,并且就其中的redundancy、consistency等问题加以了讨论。作者所讲的story其实在今天的软件工程开发来看,再正常不过了,就是:解耦 data使用者application user与database的具体内部文件存储之间的关系。作者认为这是当时流行的network model型数据模型的主要问题。在我看来,作者所指出的以tree或network型数据模型的主要问题在于以下两点: (1)tree、network 本身就是具有一定structure的, 而数据库与数据结构的一大不同就在于数据库是要长期存储在disk上的而不是主要的内存RAM中,所以以文件这种较为plain的存储方式想要存储tree、network这些带结构的东西本身就会存在一定的困难,而relation这种structure,如文中所说,当完全的打平(即不存在“表中表”)后是可以直接的表示为二维列表结构的,而这不正好就是文件所最多可以表达的结构了吗?!  “A relation whose domains are all simple can be represented in storage by a two-dimensional column-homogenous array ...”. 

       另外,在使用了relation model之后,而relation还是一个被研究的很成熟了的基本数据概念,那么通用的algebra的一些理论工具就可以很好的应用上了,所以后面说的operation: projection、selection、join就相对比较明白,重要的是作者也验证了基于这些很简单的operation还确实可以解决、express很多的实际需求。








  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值