博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
海量存储系列之一
阅读量:5162 次
发布时间:2019-06-13

本文共 1296 字,大约阅读时间需要 4 分钟。

海量存储系列之一

2011年11月20日 21:08

标签:

​ 海量存储系列之序言

那么 在走进海量存储与检索的世界之前,我们先看一看目前似乎觉得最落伍的数据库系统。丑话先说。。我也没在这个领域沉浸几年,所以其实里面很多的概念也是有可 能模糊的,所以在这里写出来,一是希望我能把以前的积累再次重新的梳理一次,查缺补漏。二也是在这世界留下点记录。。表明我曾经来到过这世界,学到过这些 东西。。

 
之所以从这里开始,一部分的原因是我本身是从这里开始接触存储这个领域的,另外一部分原因是因为,从我的私心来说,我认为数据库是生产力工具的开始,也将是生产力工具最终的归宿。
 
一个数据库,我们可以抽象的认为由下面的一个逻辑结构组成,刨除意义不大的视图,存储过程,外键限制等之后,我们就剩下了下面的这张图:
 
 
从API来说,也就是SQL,结构化查询语言,这个东东我们后面再去细说,先来看看这个关系代数模型。
之所以要从这里开始,主要的原因是因为,这是最受到关注的一个部分,自大从一开始做分布式数据层开始,被人问得最多的问题就是:1. 切分以后如何做join。2.如何进行分布式事务。。
可惜,现在我也没有一个方法能做到100%让您满意。。因为,没有银弹,只有取舍。
取舍的原则,也就是要根据,1) 你能做什么。2)你需要做什么。3)你能放弃什么。来决定上层系统的整体架构。传统的ACID的关系代数模型,在新的环境中,很难复用。但,原理没有变,做法上可以做微调
 
不知道各位在想起关系代数的时候,会想到什么?
 我给大家一些解释(当然我没仔细看过:)
 
不爱看上面解释的童鞋们呢,也不用纠结,给大家一些简单的例子。
1. select * from tab where user = ?
这就是最简单的关系代数的例子,我们对他进行抽象来说,其实就是将大量数据中的一小批数据,按照某个要求查出来的过程。
2. select ename,dname from emp,deptwhere emp.deptno=dept.deptno and emp.deptno=30
这是另外一个例子,本质来说就是个∩的操作。
3. select count(*) from tab.
这是关系代数的第二个主要的用处,就是进行统计和计算,这类的函数有个专用的名字,叫做aggragate function.
 
恩,基本上有这个概念就可以了。
那么这里请联想,你所接触到的什么地方会有碰到有这样的一些计算呢?
数据库?对。不过不是废话么。。
还有就是hadoop的平台也会用到,hive pig.
 
那么,我们对这类关系代数进行一下简单的概念上的小结。
也就是用于处理数据的一类方法的抽象,最主要的作用是,按照某个条件选出一批数据,然后再进行一些简单的统计计算的功能。如是而已:)
 
那么,下面就有个疑问了,下层的数据库或存储,是如何进行这类的计算的呢?
那么请看下一个章节。
我们一起探寻一下,处理这类关系代数计算的方法有哪些

转载于:https://www.cnblogs.com/madonion/articles/2265702.html

你可能感兴趣的文章
js中的事件委托或是事件代理详解
查看>>
如何显示超大图像
查看>>
spring@Resource注解
查看>>
实践语法----文件创建删除读写
查看>>
Linux学习笔记(第六章)
查看>>
Java 泛型编程
查看>>
STL简介
查看>>
Cookie/Session的机制与安全
查看>>
unbound域名解析
查看>>
Leetcode: Wiggle Sort II
查看>>
2019年春季学期第二周作业编程总结
查看>>
hadoop17---RPC和Socket的区别
查看>>
android 27 ListView
查看>>
android 30 下拉列表框:ArrayAdapter和Spinner.
查看>>
HDU 2817 A sequence of numbers
查看>>
CSS开启硬件加速来提高网站性能
查看>>
Log4j配置体验(转)
查看>>
宝马E91318D读写EDC17 C41与KESS V2 DDE8错误
查看>>
KnockOut循环绑定
查看>>
Windows API封装:LoadLibrary/FreeLibrary
查看>>