排序:
默认
按更新时间
按访问量

用 HBase 做高性能键值查询?

最近碰到几家用户在使用 HBase 或者试图使用 HBase 来做高性能查询,场景也比较类似,就是从几十亿甚至上百亿记录中按键值找出相关记录来。按说,这种 key-value 式的数据库很适合用键值查询,HBase 看起来就是个不错的选择。 然而,已经实施过的用户却反映:效果非常差! 其实,这...

2018-10-22 17:30:11

阅读数:6

评论数:0

一些数据压缩手段

我们知道,外存(硬盘)的性能远远低于内存,即使是同样复杂度的运算(CPU 计算量相同),如果能减少外存的访问量,也会大大提高整体性能。甚至有时我们需要用 CPU 换硬盘,即宁可多消耗些 CPU 时也要减少硬盘访问量,一方面 CPU 性能更好,另一方面是 CPU 比硬盘更容易并行,现代计算机的 CP...

2018-10-22 17:29:29

阅读数:6

评论数:0

性能优化是个手艺活

大数据的技术本质就是高性能,性能优化也是程序员们的永恒话题。 这里说的性能优化,主要是指在程序员的努力下能达到某种性能提升效果的过程。只要简单换台机器就能加速的事情,业主方要么早就做过了,要么就是条件不允许这么做。 这时候,优化方案的关键在于算法,具体来讲,就是要设计出低复杂度的计算方案。我们...

2018-10-18 18:38:01

阅读数:9

评论数:0

数据分布背后的逻辑

在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很关键的问题。因为很多运算是数据密集型的,如果数据分布做得不好,就会导致网络传输量变大,从而影响性能。 一般来讲,分布式数据库会提供两种分布策略:对于大表按某个字段(的 HASH 值)去分布,大多数情况会使用主键,这样可以把数据分拆到多台...

2018-10-18 18:36:30

阅读数:10

评论数:0

遍历复用

减少外存(硬盘)访问量一直是提高大数据计算性能的永恒话题,我们也讨论过列存、压缩等直接减少访问量甚至存储量的手段。除了这些存储层面的方法外,在算法和计算实现环节,也可以想办法减少外存的访问量。 遍历是大数据计算中必不可少的环节。有时候,我们会发现在一个计算任务中,会有两次(或更多)涉及针对同一批...

2018-10-10 10:27:16

阅读数:13

评论数:0

怎样生成有关联的测试数据

在向用户推荐新的数据处理技术,特别是涉及性能优化的场景时,经常会碰到生成测试数据的需求。毕竟,新方案要经过验证才能提交,而优化过程也不是一次就做完的,需要多次不断的迭代改进,这就需要有一套好的测试数据才能实施。 用户常常也会提供一些例子数据,但一般不会很多。如果只是验证算法正确性,那用这些少量数...

2018-10-09 14:55:20

阅读数:22

评论数:0

内置的数据无法实现高性能

这里说的“内”, 是指数据库之内。 当数据量变大时,我们常常会感到数据库的性能下降明显,但是,无论怎样优化 SQL(存储过程)都仍然与根据数据量和运算复杂度计算出来的理论性能相差甚远。这主要由如下几方面原因造成: 1. SQL 限制与优化困难 我们已经多次说过,由于关系代数和 SQL 语法的...

2018-10-08 09:50:34

阅读数:11

评论数:0

报表工具的 SQL 植入风险

所有的报表工具都会提供参数功能,主要都是用于根据用户输入的查询条件来选取合适的数据。比如希望查询指定时间段的数据,就可以把时间段作为参数传递给报表,报表在从数据库中取数时将这些参数应用到取数 SQL 的 WHERE 条件上,就可以根据不同参数取出不同数据来呈现了。不过,这样做要求事先把查询条件的规...

2018-09-30 10:56:07

阅读数:32

评论数:0

从一道招聘考题谈起

润乾研发部在招聘时有一个笔试题: 1/2,1/5,1/20,1/64,1/125 都可以写成有限小数,而 1/3,1/7,1/15,1/24 则必须写成无限循环小数。请指出能写成有限小数的分数具有什么样的特征?在什么情况下 1/5 也会被写成无限循环小数? 坦白地说,这个题的通过率并不高,...

2018-09-29 10:10:29

阅读数:16

评论数:0

为什么我们需要 C 程序员

再说一个招聘的话题。 大家可能知道,润乾的软件产品主体都是 Java 写的,几乎没有别的语言。但是,我们在招聘算法程序员时,从来都要求 C 语言背景,会不会 Java 反而无所谓,而如果没有 C 语言功底则免谈。事实上,现在润乾研发部几个做算法的程序员,都是来了公司之后才学习使用 Java 的。...

2018-09-28 13:35:58

阅读数:14

评论数:0

列式存储的另一面

列存是常见的数据存储技术,在许多场景下也确实很有效,因而也被不少数据仓库类产品采用,在业内列存也常常就意味着高性能。可是,列存真有这么好吗?搜索一下,容易找到的列存缺点一般是针对数据修改的,而对于只读的分析计算任务,却很少能见到较详细的讨论。我们在这里来研究一下这个问题。对内存计算意义不大列存的原...

2018-04-23 15:32:03

阅读数:31

评论数:0

硬盘的性能特征

我们都知道内存比硬盘要快得多,大概能快出一两个数量级(价格也要贵这么多)。不过,硬盘的问题并不只是访问速度慢。硬盘不适合做频繁小量访问所谓频繁小量访问,是指运算过程中每次获取的数据量很小,而读取的次数很多。对于内存,每次取10字节、取1000万次、总共访问1亿字节;和每次取1000万字段、取10次...

2018-04-23 15:30:22

阅读数:109

评论数:0

我们需要怎样的OLAP?

被狭义化的OLAPOLAP是商业智能应用中重要的组成部分,这个词从字面上理解是在线分析的意思,也就是由用户,特别是业务人员,面对数据进行各种分析操作。但是,现在的OLAP概念被严重狭义化了。说到OLAP,基本上仅指多维分析,也就是针对一个事先建设好的数据立方体,按指定维度层次进行汇总并呈现成表格或...

2018-04-18 18:13:30

阅读数:29

评论数:0

1T数据到底有多大?

一英里不是个很长的距离,一立方英里相对于地球也不会让人觉得是个很大的空间。然后我说,这个空间内能装下全世界所有人,你会不会觉到很惊讶?不过这话不是我说的,是美国作家房龙在一本书里写的。业内有个著名的数据仓库产品,叫Teradata,20多年前起这个名字,显然是想给人能处理海量数据的感觉。可现在,论...

2018-04-18 18:09:04

阅读数:891

评论数:0

索引的本质是排序

索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也不尽人意。那么到底什么时候该用索引以及该怎么用?我们来分析索引清理背后的技术原理就知道了。基本原理索引技术的初衷是为了快速从一个大数据集中找出某个字段等于确定值(比如按身份证号找出某个人)的...

2018-04-17 09:46:57

阅读数:36

评论数:0

功夫都在报表外-漫谈报表性能优化

应用系统中的报表,作为面向业务用户的窗口,其性能一直被高度关注。用户输入参数后都希望立即就能看到统计查询结果,等个十几二十秒还能接受,等到三五分钟的用户体验就非常恶劣了。那么,报表为什么会慢,又应当从哪里入手进行性能调优呢?数据准备当前应用中的报表大都用报表工具开发,当报表响应太慢时,不明就里的用...

2018-04-17 09:45:57

阅读数:26

评论数:0

索引的本质是排序

索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也不尽人意。那么到底什么时候该用索引以及该怎么用?我们来分析索引清理背后的技术原理就知道了。基本原理索引技术的初衷是为了快速从一个大数据集中找出某个字段等于确定值(比如按身份证号找出某个人)的...

2018-04-17 09:43:33

阅读数:256

评论数:0

功夫都在报表外-漫谈报表性能优化

应用系统中的报表,作为面向业务用户的窗口,其性能一直被高度关注。用户输入参数后都希望立即就能看到统计查询结果,等个十几二十秒还能接受,等到三五分钟的用户体验就非常恶劣了。那么,报表为什么会慢,又应当从哪里入手进行性能调优呢?数据准备当前应用中的报表大都用报表工具开发,当报表响应太慢时,不明就里的用...

2018-04-17 09:39:53

阅读数:162

评论数:0

非结构化数据分析技术是忽悠

大数据概念兴起的同时也带热了非结构化数据分析。传说一个企业中80%的数据都是非结构化数据,如果按占据空间来算,这个比例大体不假,毕竟音视频这类数据真地很大。有这么大的数据量,需要进行分析是很自然的事了,而要分析当然就要有相应的技术手段了。那为什么说非结构化数据分析技术是忽悠呢?不存在通用的非结构化...

2018-04-11 20:26:44

阅读数:1171

评论数:0

多维分析的后台性能优化手段

多维分析就是针对一个事先准备好的数据立方体实施旋转、切片(切块)、钻取等交互操作的过程,经常也被直接称为OLAP。它的后台运算在结构上很简单,如果用SQL语法描述,大体形式为:SELECT D,…, SUM(M), … FROM C WHERE D’=d’ AND … GROUP BY D,…即对...

2018-04-11 20:24:50

阅读数:38

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭