社区
Power Linux
帖子详情
nosql适合OLAP吗 ?
开发运营者
2016-08-25 09:50:26
求指教:nosql适合OLAP吗 ?谢谢!
...全文
1416
1
打赏
收藏
nosql适合OLAP吗 ?
求指教:nosql适合OLAP吗 ?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dingybin
2016-09-12
打赏
举报
回复
使用OLAP有三个过程。一是定义一个立方体(定义CUBE),然后填充数据(打CUBE),最后查询数据(使用MDX或其他语言)。 定义立方体的时候可以设计一个XML的配置文件,通过这个文件来定义一个CUBE。需要的要素包括CUBE的名称,存储的HBASE的表名,维度信息,度量信息等,完善点的话可能还有权限信息和其他管理性内容。 然后就是打CUBE了。需要从关系数据库中将包含维度和度量的笛卡尔宽表通过SQOOP软件或者其他数据库提供的接口导入到HDFS上,并通过PIG或者HIVE来完成立方体的棱的计算。原始信息和计算后的信息填充到HBASE的表中供访问。当然另外一种可能的方法是计算不要放在Hadoop中,而是在数据库中做好,具体那种方式更加高效低成本也许需要放到实际的项目中才知道,但是我直观上认为在Hadoop上做更好,因为简单嘛。 最后是查询CUBE了。通过一个解释器将前台发来的MDX或其他查询语言进行翻译,然后通过API去HBASE数据库中取得对应的结果,最后返回。这个方式看起来简单,其实还是有一些需要考虑的。那就是是否所有的查询在之前都预先计算过了,如果是,那直接取得那一个单元格即可,如果没有,还需要将对应的维度的数据全部取出来,重新预计算一次,再返回。这个时候或许可以考虑将计算后的结果写会HBASE,供下次查询的时候使用。其实Mondrian的方法类似于此。到底哪些要预计算,哪些不要,则取决于需求,可以在设计立方体的时候制定,或者系统自动调整。 以最简单的两个维度一个度量来举例。具体的打CUBE的流程可能如下: 1、在事实表中,可能有如下数据: 时间 地域 收入 2009 北京 1W 2009 上海 2W 2010 北京 3W 2010 上海 4W 2、这些数据被按照代码的方式抽取到HDFS上,然后进行预先计算,第一层预计算添加了如下行 2009 ALL 3W 2010 ALL 7W ALL 北京 4W ALL 上海 6W 3、第二层预计算添加了如下行 ALL ALL 10W 4、由于只有两个维度,预计算结束,然后原始数据和两次预先计算后的数据一并录入到HBASE中,KEY为时间+地区,VALUE为收入。 在查询的时候按照进行返回,没有在WHERE条件中的维度用ALL代替就可以了,很简单的不是。如果没有预计算的,那么就需要返回所有满足条件的度量,然后自己聚合起来。 通过这样的方式将需要大量聚合的查询通过预计算的方式转移成了几乎单条的查询,可以充分利用HBASE低时延和高吞吐的能力。而预计算本省则通过Hadoop的MapReduce来实现高效处理,自己实现MR如果困难的话,也可以用PIG嘛,那个简单,搞个脚本就行,上面指出的一个开源软件似乎就是使用的PIG脚本生成器然后解释执行的。 只不过这是最简单的方法而已,如果需要考虑动态维度的话,恐怕是将共性维度作为KEY,然后再用一个COLUMN FAMILY来存动态的维度,对于动态维度的预计算也需要考虑,因为查询语言的翻译可能会根据CUBE的定义而变得复杂一些。具体的我还没有进行过仔细的思考。 最后在设计上,有一个细节需要考虑,我们可能会面临很多的度量,我们系统中的指标可能有成百上千。这些指标可能本身就是“稀疏”的。所以我们应该设计一个指标维度的维度,而仅保留两个度量即可,一可以累加的,二不可累加的。也就是增加一个KPI_NAME的维度,其中的值就是KPI_ID。这样可能更加简单一些。 通过上述的方法,在NOSQL数据库上可以构建一个提供指标库访问服务的OLAP系统。既可以直接为指标库服务,也可以提供标准的MDX服务,为原来那些前台软件的多维分析服务。
大数据云计算技术系列
NoSQL
数据库学习教程(共71页).pdf
1 序 2 思想篇 2 CAP 2 最终一致性 2 变体 2 BASE 2 其他 2 I/O的五分钟法则 2 不要删除数据 2 RAM是硬盘,硬盘是磁带 2 Amdahl定律和Gustafson定律 2 万兆以太网 3 手段篇 3 一致性哈希 3 亚马逊的现状 3 算法的选择 3 Quorum NRW 3 Vector clock 3 Virtual node 3 gossip 3 Gossip (State Transfer Model) 3 Gossip (Operation Transfer Model) 3 Merkle tree 3 Paxos 3 背景 3 DHT 3 Map Reduce Execution 3 Handling Deletes 3 存储实现 3 节点变化 3 列存 3 描述 3 特点 4 软件篇 4 亚数据库 4 MemCached 4 特点 4 内存分配 4 缓存策略 4 缓存数据库查询 4 数据冗余与故障预防 4 Memcached客户端(mc) 4 缓存式的Web应用程序架构 4 性能测试 4 dbcached 4 Memcached 和 dbcached 在功能上一样吗? 4 列存系列 4 Hadoop之Hbase 4 耶鲁大学之HadoopDB 4 GreenPlum 4 FaceBook之Cassandra 4 Cassandra特点 4 Keyspace 4 Column family(CF) 4 Key 4 Column 4 Super column 4 Sorting 4 存储 4 API 4 Google之BigTable 4 Yahoo之PNUTS 4 特点 4 PNUTS实现 4 Record-level mastering 记录级别主节点 4 PNUTS的结构 4 Tablets寻址与切分 4 Write调用示意图 4 PNUTS感悟 4 微软之SQL数据服务 4 非云服务竞争者 4 文档存储 4 CouchDB 4 特性 4 Riak 4 MongoDB 4 Terrastore 4 ThruDB 4 Key Value / Tuple 存储 4 Amazon之SimpleDB 4 Chordless 4 Redis 4 Scalaris 4 Tokyo cabinet / Tyrant 4 CT.M 4 Scalien 4 Berkley DB 4 MemcacheDB 4 Mnesia 4 LightCloud 4 HamsterDB 4 Flare 4 最终一致性Key Value存储 4 Amazon之Dynamo 4 功能特色 4 架构特色 4 BeansDB 4 简介 4 更新 4 特性 4 性能 4 Nuclear 4 两个设计上的Tips 4 Voldemort 4 Dynomite 4 Kai 4 未分类 4 Skynet 4 Drizzle 4 比较 4 可扩展性 4 数据和查询模型 4 持久化设计 5 应用篇 5 eBay 架构经验 5 淘宝架构经验 5 Flickr架构经验 5 Twitter运维经验 5 运维经验 5 Metrics 5 配置管理 5 Darkmode 5 进程管理 5 硬件 5 代码协同经验 5 Review制度 5 部署管理 5 团队沟通 5 Cache 5 云计算架构 5 反模式 5 单点失败(Single Point of Failure) 5 同步调用 5 不具备回滚能力 5 不记录日志 5 无切分的数据库 5 无切分的应用 5 将伸缩性依赖于第三方厂商 5
OLAP
5
OLAP
报表产品最大的难点在哪里? 5
NOSQL
们背后的共有原则 5 假设失效是必然发生的 5 对数据进行分区 5 保存同一数据的多个副本 5 动态伸缩 5 查询支持 5 使用 Map/Reduce 处理汇聚 5 基于磁盘的和内存中的实现 5 仅仅是炒作? 6 附 6 感谢 6 版本志 6 引用
sybil:列存储+
NoSQL
OLAP
引擎| https
Sybil是仅附加的分析数据存储,无任何前期表架构要求。 只需将JSON记录记录到表中并运行查询即可。 sybil用Go语言编写,旨在在一台或多台计算机上对多维数据进行快速的全表扫描。 和提供更多文档。 如果sybil本身并不有趣(反正谁想运行命令行查询?),则sybil是的受支持后端 好处 易于设置并在sybil中获取数据-只需将stdin上的JSON传递给sybil 支持直方图(和百分位数),标准偏差和时间序列汇总 运行快速的全表查询() 通过按列压缩方案降低磁盘使用率 无服务器设计,内存使用受控制 每个表的保留策略(指定表的最大使用期限和/或大小) 耐时间戳的查询缓存(可选),可避免重新计算 劣势 不支持联接 没有对数据的UPDATE操作-仅写入 安装 go get github.com/logv/sybil 建置状态 附加信息
TiDB数据库--部署单机集群
由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、
NoSQL
和 NewSQL 的优缺点比较 )数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅
适合
OLTP 场景还
适合
OLAP
场景的混合数据库。下面是对有关资料的整理还有一些扩展内容以链接的方式展示,有兴趣可以点击了解一下。 非常
适合
小白,让你部署不迷路!
flexmonster-mongodb-connector:MongoDB数据透视表:使用现成的MongoDB连接器可视化
NoSQL
数据库中的数据
适用于MongoDB的Flexmonster连接器 网站: Flexmonster数据透视表和图表 Flexmonster Pivot是用于交互式Web报表的功能强大JavaScript工具。 它使您可以快速方便地可视化和分析JSON,CSV,SQL,
NoSQL
,Elasticsearch和
OLAP
数据源中的数据。 Flexmonster旨在与任何客户端框架无缝集成,并且可以轻松地嵌入到您的应用程序中。 该存储库包含用于应用程序的Flexmonster Connector的源代码。 是一种特殊的服务器端工具,旨在帮助您将MongoDB数据库中的数据检索到Flexmonster Pivot。 它必须嵌入到服务器中,该服务器接受来自Flexmonster的数据请求并将它们传递给连接器。 目录: 用法 有关Flexmonster MongoDB连接器用法的详细信息,请参阅。 要了解连接器API,请查看以下部分: 。 样例项目 请参阅的。 执照 这是。 我们有30天免费试用! 用于MongoDB的Flexmonster连接器模块作为Flexmonster Pivot的MIT许可
greenplum-db-6.10.0-rhel6-x86_64.rpm
greenplum-db-6.10 安装包linux6,开源版 如果想在数据仓库中快速查询结果,可以使用greenplum。 Greenplum数据库也简称GPDB。它拥有丰富的特性: 第一,完善的标准支持:GPDB完全支持ANSI SQL 2008标准和SQL
OLAP
2003 扩展;从应用编程接口上讲,它支持ODBC和JDBC。完善的标准支持使得系统开发、维护和管理都大为方便。而现在的
NoSQL
,NewSQL和Hadoop 对 SQL 的支持都不完善,不同的系统需要单独开发和管理,且移植性不好。 第二,支持分布式事务,支持ACID。保证数据的强一致性。 第三,做为分布式数
Power Linux
742
社区成员
901
社区内容
发帖
与我相关
我的任务
Power Linux
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
复制链接
扫一扫
分享
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章