海量存储系列之一

    xiaoxiao2024-06-04  92

    一个数据库,我们可以抽象的认为由下面的一个逻辑结构组成,刨除意义不大的视图,存储过程,外键限制等之后,我们就剩下了下面的这张图: 从API来说,也就是SQL,结构化查询语言,这个东东我们后面再去细说,先来看看这个关系代数模型。 之所以要从这里开始,主要的原因是因为,这是最受到关注的一个部分,自大从一开始做分布式数据层开始,被人问得最多的问题就是:1. 切分以后如何做join。2.如何进行分布式事务。。 可惜,现在我也没有一个方法能做到100%让您满意。。因为,没有银弹,只有取舍。 取舍的原则,也就是要根据,1) 你能做什么。2)你需要做什么。3)你能放弃什么。来决定上层系统的整体架构。传统的ACID的关系代数模型,在新的环境中,很难复用。但,原理没有变,做法上可以做微调 不知道各位在想起关系代数的时候,会想到什么? http://www.bitscn.com/os/windows/200604/4364.html 我给大家一些解释(当然我没仔细看过:) 不爱看上面解释的童鞋们呢,也不用纠结,给大家一些简单的例子。 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. 那么,我们对这类关系代数进行一下简单的概念上的小结。 也就是用于处理数据的一类方法的抽象,最主要的作用是,按照某个条件选出一批数据,然后再进行一些简单的统计计算的功能。如是而已:) 本文来源于"阿里中间件团队播客",原文发表时间"   2011-12-07" 相关资源:敏捷开发V1.0.pptx
    最新回复(0)