0、Hadoop

hadoop主要是用来对海量数据进行存储和计算的。

它本身是一个分布式系统,核心由分布式文件系统hdfs,和分布式计算框架mapreduce组成,在存储和计算时能够发挥出集群中每台机器的能力。       

所以,当单机文件系统没法存储,或者传统数据处理方式(例如数据库、shell脚本等)显得缓慢、没法忍受时,就可以考虑大数据方面的一些处理方案(例如nosql、hadoop、stormde)。       

当然,并不保证在传统方法处理不好的情况下,大数据相关的处理方案就能处理得好,这时最需要的是进行深入的特性分析,提出最优的解决方案,包括传统方法与大数据处理方案进行融合(例如利用关系型数据库处理公司里大部分结构化数据,利用hadoop处理公司里大部分非结构化数据)。

1、Pentaho

一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件
整合了多个开源项目,目标是和商业BI相抗衡。

2、Mondrian

    Pentaho的一部分

    开放源代码的Rolap服务器

    一个用Java写成的OLAP(在线分析性处理)引擎

    实现了MDX语言、XML解析和JOLAP规范

    用MDX语言实现查询,从关系数据库(RDBMS)中读取数据。然后经过Java API用多维的方式对结果进行展示

    可以不写SQL就能分析存储于SQL数据库的庞大数据集,以及封装JDBC数据源并把数据以多维的方式展现。

    Mondria的元数据仅仅包括了多维逻辑模型,从关系型数据库到多维逻辑模型的映射,存取权限等信息。

官网地址:http://sourceforge.net/projects/mondrian/files/

关键组件下载

mondrian:http://sourceforge.net/projects/mondrian/files/mondrian/

schema workbench 【生成schema/创建cube的工具】
http://sourceforge.net/projects/mondrian/files/schema%20workbench/

三、OLAP (联机分析处理)

    处理数据仓库和商业智能使用的多维数据的流行方法
用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。   按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。

四、ROLAP

    关系型联机分析处理
对存储在关系数据库(而非多维数据库)中的数据作动态多维分析

五、MOLAP

   多维OLAP
数据存储在多维立方体中。也就是说,MOLAP使用多维数组存储数据。
多维数据在存储中将形成“立方块(Cube)”的结构
在MOLAP中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。

六、JOLAP(Java OLAP)

    java开源的olap引擎
一系列的JOLAP API和规范组成

七、XMLA

    XML for Analysis
基于简单对象访问协议 (SOAP) 的 XML 协议
专为对驻留在 Web 上的任何标准多维数据源的通用数据访问而设计
其应用级别的传输协议是SOAP,这使XMLA的服务提供者具有了WebService提供者的角色
从而各种语言编写的客户端都可以轻松访问

八、MDX(Multi-Dimensionale-Xpressions 多维查询表达式)

一种语言
支持多维对象与数据的定义和操作
是所有OLAP高级分析所采用的核心查询语言 如同SQL查询一样,每个MDX 查询都要求有数据请求(SELECT子句)、起始点(FROM子句)和筛选(WHERE子句)。
这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据特定部分。 MDX还提供了可靠的函数集,用来对所检索的数据进行操作。
同时还具有用户定义函数扩展 MDX的能力。 (1)相关概念: 1)多维数据集
2)度量值(量度)
3)维度
4)维度的层次结构
5)维度的级别
6)成员(Member)
指的是维度树上的一个节点,这里有一点需要指出,量度也是一个特殊的维度,所以对于普通维度上的 Member可以有几下几种表示方法: [Customer]或[Time].[1996]等,对于特殊的维度——量度而言,也可以表示一个 Member,如:[Measures].[unitsales] 等。
标识符:[ ]
7)元组(Tuple)
是由若干个Members组成,CUBE上的一个子集(不断开的子CUBE),每一个维度上最多只能有一个 Member,对于一个Tuple而言至少有一个维度,多则不限,顺序无关,同时对于没有列出来的那就表示为默认的 Member。
标识符:()
示例:
a) ([Regin ].[USA])
b) ([product].[computers],[time].[2008]) 。
8)集(Set)
同一维度上若干个 Members的集合,或者是若干个 Tuples的集合,但这里有一个地方需要注意,那就是如果是若干个 Tuple组成的集合是,各个 Tuple里的 Member之间存在着一定的对应关系。集合的表示方法用大括号“ {} ”,所以可能的表示方法为:
a) {[time].[2008],[time].[2009],[time].[2000]} ,这里 Set是由 同一维度的若干个 Member组成。
b) {([computer],[usa ]),([mobile],[china])} ,这个 Set是由两个 Tuples组成,这里大家可以看到,在第一个 Tuple当中,第一个 Member是名为 computer的产品,所以后面的 Tuple的第一个 Member也必须是一个产品,所以我们这里看到的是 mobile,第一个 Tuple里第二个 Member是一个国家,所以第二个 Tuple的第二个 Member也必须是一个国家名,依次类推。
标识符:{ } (2)语法
一个标准的 MDX查询语句就是由我们前面介绍的 MDX的三个基本对象构成,也就是 Member、 Tuple、 Set。
WHERE子句是可选的
非大小写敏感 1、
SELECT
SET ON COLUMNS,
SET ON ROWS
FROM CUBE
WHERE TUPLE 2、
SELECT
SET ON 0,
SET ON 1
FROM CUBE
WHERE TUPLE (3)举例
想象一个带有时间、销售地点和度量3个维度的多维数据集,该多维数据集的名称为销售额(即SALES)。其中度量包括销售额和成本。假如想查看【2005年前两个季度/时间】【马萨诸塞州/地点】的【销售额与成本/度量】 可以通过下面的MDX获得想要的数据:
SELECT
// 集SET{} 包含行列
{[MEASURES].[DOLLAR SALES],[MEASURES].[UNIT SALES]} ON COLUMNS,//列包含了销售额和成本
{[TIME].[2005].[Q1], [TIME].[2005].[Q2]} ON ROWS//行包含了时间 - 2005年前两个季度
FROM
//成员 Member 从哪个多维数据集查询
[SALES] //- 多为数据集
WHERE
//元组 Tuple 查询条件
([CUSTOMER].[MA]) // 查询条件 - 地点 -马萨诸塞州 查询结果:
本身是一个网格,本质上是另一个多维数据集。也就是是一个子Cube
本查询是一个两行两列的网格数据(行2005第一季度-2005第二季度 列销售额-成本) {[TIME].[2005].[Q1], [TIME].[2005].[Q2]}
该表达式产生一个包含2005年第一季度和第二季度的集。 {[TIME].[2005].[SEP]: [TIME].[2006].[MAR]}
该表达式表示从2005年9月到2006年3月的所有月份。 http://baike.baidu.com/link?url=wmcCEJxV3JW-RtRa22zXHiTEyKn41DEvJTxkbDN0uKh_1UbiS-1wBmwKtikQfskrAnyZ3u2gOIvUD3zgQN7TXK

九、多维数据关键概念

    维度(dimension)
层次(Hierarchies)
级别 (Level)

十、SAIKU

    一个轻量级的OLAP分析引擎

    起初是基于OLAP4J库用GWT包装的一个前端分析工具
通过OLAP,Saiku允许用户选择【指标】和【维度】用来分析,并且可以对数据进行“切块和切片”和钻取到细节中从而揭开其中的关系。 用户可以在非常友好的界面下利用OLAP和内存引擎进行向下钻取,过滤、分类、排序和生成图表。
利用Olap4J库,Saiku成为市场上第一个应用程序提供支持Mondrian的技术解决方案,让用户能够利用Mondrian分析数据。 通过REST API连接OLAP系统 用户界面是用HTML、CSS和Javascript做的,完全可以自定义界面来调用rest

十一、内容仓库

一个用来存储文本和二进制数据(图片,word文档,PDF等等)的数据存储应用程序

十二、JCR

    JAVA内容仓库 - Java Content Repository API
试图建立一套标准的API去访问内容仓库(也就是文本文件或者二进制数据文件)
提供了一套标准的API来访问任何数据仓库。
特点是你不用关心你真正的数据到底存储在什么地方,是关系数据库?是文件系统?还是XML?
通过JSR-170,你开发代码只需要引用 javax.jcr.* 这些类和接口。它适用于任何兼容JSR-170规范的内容仓库。 JCR定义的内容仓库模型是一个树状结构,树上的元素(Item)分为两类:节点(node)和属性(property)。 整棵树具有单根结构。
从根开始,内容元素的定位采用UNIX文件系统风格,例如“/A/B/ccc”(根下面A节点的B子节点的ccc属性),相对定位符(“.”和“..”)也是可用的。、 每个属性有且仅有一个父节点,不能有子元素。 每个节点可以有一个或多个父节点(根节点无父节点),也可以有任意多个子节点或属性。
注意,节点可以有多个父节点,也就是说可以从不同的路径导航获得同一内容,这是网站常见的一个需求(来自不同栏目的两个链接指向同一篇文章)。 除了Node和Property之外,API中还有几个重要的对象。 Repository代表整个内容仓库
Credentials代表一个用户身份
Ticket代表进入该内容仓库的门票。 获得内容根节点的代码大致如下: Repository repository = (Repository)java.rmi.Naming.lookup("MyRepo");
Credentials credentials = new SimpleCredentials("MyName", "MyPassword".toCharArray());
Ticket myTicket = repository.login(credentials, "MyWorkspace");
Node root = myTicket.getRootNode(); 从root节点就可以遍历访问整课内容树。
Ticket对象也支持通过绝对路径或者UUID直接获得某一内容元素(节点或属性)。 系列教程:
http://www.blogjava.net/RongHao/archive/2007/01/23/95547.html
http://www.blogjava.net/RongHao/archive/2007/01/23/95637.html
http://www.blogjava.net/RongHao/archive/2007/01/25/96065.html
http://www.blogjava.net/RongHao/archive/2007/01/28/96417.html

十三、ETL

  英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
常见ETL工具:http://blog.csdn.net/hfxl1108/article/details/8564941

十四、Kettle

    一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。
http://www.oschina.net/p/kettle/

十五、ACL

    Access Control List 访问控制列表
ACL - files 配置访问控制列表的文件

[BI基础] 一些不得不了解的概念的更多相关文章

  1. (spring-第16回【AOP基础篇】)基本概念

    AOP(Aspect Oriented Programing),面向切面方程.介绍具体定义前,先看一个例子: package com.baobaotao.concept; public class F ...

  2. Java 多线程基础(一)基本概念

    Java 多线程基础(一)基本概念 一.并发与并行 1.并发:指两个或多个事件在同一个时间段内发生. 2.并行:指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,安装了多个程序,并发指的是在 ...

  3. [BI基础] ( 商务智能 ) 简介

    一.什么是BI BI(商务智能)通过给海量云数据制定“游戏规则”(对不同主题进行不同分析),将分散的数据进行搜集.整合.清理和诊断,借助一定的分析手段,进而将数据转化为信息和知识,快速准确的提供报表并 ...

  4. python基础(八)面向对象的基本概念

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...

  5. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  6. 【javascript基础】1、基本概念

    前言 最近迷茫了一段时间,不知道应该从何处开始学习前端知识,好像这种状态已经持续了一年了,天天也在看前端的东西,但是记住的多少或者说在脑中一团糟,没有什么清晰的概念.最近加入了jQuery源码交流群( ...

  7. Python基础08 面向对象的基本概念

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...

  8. c++ 基础学习: 左值 概念cocos2d-x3.0的实际应用

    左值:概念baidu 1.2.6.2 与Cocos2d-x内存管理的结合 在2.x的使用场景中,CCArray和CCDictionary通常被分配在堆上,我们不得不需要考虑在适当的地方释放其内存.新的 ...

  9. BI数据分析中KPI,KGI,CSF概念

    1. 行为产生数据 先来谈一谈,自己对数据基础概念的思考.我认为首先要建立的核心观点是:行为产生数据. 翻译一下这个核心观点.意思就是,当我们在思考或描述数据相关需求的时候,必然要包含这样的语素:&q ...

随机推荐

  1. Centos6.6上安装mysql5.6中的一些典型问题

    经过两天的摸索,终于成功在CentOS6.6系统上成功安装了mysql5.6,现整理如下. (1)安装时的问题: 最小化安装后,安装rpm包时经常会遇到 linux/centos Header V3 ...

  2. Linux 运维工程师的十个基本技能点

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问 ...

  3. 未能加载文件或程序集“CefSharp, Version=1.25.XXXX”或它的某一个依赖项。试图加载格式不正确的程序。

    在使用CefSharp的过程中遇到一个坑爹的错误. 从GitHub的项目主页:https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-qu ...

  4. Quartz:ERROR threw an unhandled Exception

    详细的错误信息如下: -- ::] ERROR org.quartz.core.JobRunShell: - Job group1.job1 threw an unhandled Exception: ...

  5. CUBRID学习笔记 22 插入数据

    CREATE TABLE auto_tbl(id INT AUTO_INCREMENT, name VARCHAR); 自增长的列可以插入null, 同时一次可以插入多条记录.别的和其他的sql数据库 ...

  6. xml读写文件实例

    在某个通讯中需要向服务器发送请求xml,格式例子如下: <?xml version="1.0" encoding="UTF-8"?> <ROO ...

  7. 用iconv指令解决utf8和gb18030编码间转换

    Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.  解决方案:  在终端中,进入到 ...

  8. hdu 0-1背包

    题目地址http://acm.hdu.edu.cn/showproblem.php?pid=2602 #include <stdio.h> #include <string.h> ...

  9. git学习笔记05-从远程库克隆

    现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this reposit ...

  10. sessionKey

    许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL) ...