yilan

  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

数据结构与算法-02-如何抓住重点,系统高效地学习数据结构与算法

发表于 2019-02-26 | 评论数:

本系列是阅读极客时间专栏《数据结构与算法》的读书笔记,希望能够记录自己学习过程中的感想和所学,努力提升自己。

在02篇中,作者主要讲解了在本专栏中,学什么?怎么学?的问题。

阅读全文 »

Column-Stores vs. Row-Stores: How Different Are They Really

发表于 2019-02-21 | 评论数:

概述

从论文的标题可以看出这篇论文不是陈述一种新的技术、架构,而更偏议论文一点,它主要的目的在于搞清楚对于分析类的查询为什么Column-Store比Row-Store好那么多?好在哪里?一般认为原因是:

分析类查询往往只查询一个表里面很少的几个字段,Column-Store只需要从磁盘读取用户查询的Column,而Row-Store读取每一条记录的时候你会把所有Column的数据读出来,在IO上Column-Store比Row-Store效率高很多,因此性能更好。

而本文的目的是要告诉你Column-Store在存储格式优势只是一方面,如果没有查询引擎上其它几个优化措施的配合,性能也不会太好的,这篇论文认为Column-Store在查询引擎层有以下几种大的优化手段:

  • 块遍历(Block Iteration)
  • 压缩(Compression)
  • 延迟物化(Late Materialization)
  • Invisible Join

其中前三点是前人就已经总结过的、在现有Column-Store上实现过了的,而最后一点是本论文的创新。下面我们一一看一下这几种优化手段的细节,最后再看看它们优化效果的对比。

阅读全文 »

Linux/UNIX 系统中的find命令

发表于 2019-02-18 | 评论数:

The Linux find command comes in handy when looking for files directly from the command line. The find command is given search criteria such as permissions, ownership, modification, size, time, and date among others to locate the file or directory in question.

The find command is available in all Linux distros by default, therefore, there’s no need of installing special packages to use it. Due to its significance, the find command is an essential command to learn if you want to know more about the command line navigations on any Linux distribution.

We will highlight some of the find command examples and explain the various options that you can use.

Syntax

1
$ find location  comparison-criteria  search-term
阅读全文 »

Java中的定时任务-ScheduledExecutorService的坑

发表于 2019-01-17 | 更新于 2019-01-18 | 评论数:

在做码农的日子里面,如果不跟线程打交道,那真的连入门都算不上了,如果你还仅仅是简单的new Thread,那么你就是跟我一样的小白了;怎么也得弄点高大上的线程池吧,
用线程池肯定就少不了java concurrent包中的ExecutorService了;这里面的学问还是挺大的。以后有机会慢慢品读;在你的任务中,肯定也有定时任务的吧,如果你的定时还用Timer的化,
那么你真的就跟我一样out了,具体原因请google下;说到Java的定时任务,肯定是非ScheduledExecutorService莫属了。这个用法是相当简单的。。。

阅读全文 »

Golang-goland导入k8s源码

发表于 2018-10-15 | 更新于 2019-11-29 | 分类于 k8s | 评论数:

前言

最近在调研 Google kubernetes 开源的容器编排平台,刚好也在学习 Go 语言,
所以想看看 Google 这样的大厂是怎么撸 Go 语言的,
本文简单介绍如何下载 k8s 源代码,导入 Idea GoLand(对,我是搞 Java的~),
对于这么庞大的项目,没有 IDE 看起来还是很费劲的,当然牛人除外。

阅读全文 »

Kubernetes Controllers 窥探

发表于 2018-10-12 | 更新于 2019-01-12 | 分类于 k8s | 评论数:

存储计算分离

发表于 2018-08-08 | 更新于 2019-01-12 | 分类于 存储计算分离 | 评论数:

一句话:学术界往往要比工业界提前,就像google永远比其他公司提前一样。

在本人的硕士毕设中,标题是“面向存储计算分离的云化大规模数据库缓存系统”,故整理如下内容。

其实早在2009年,就有人提出针对Hadoop提出了SuperDataNode的概念,提出了计算分离的想法。具体请参考论文Decoupling Storage and Computation in Hadoop with SuperDataNodes。往往学术界要比工业界提前好几年,等到真正技术成熟的时候,就是工业界开始尝试的时候。最近炒的火热的存储计算分离也开始在工业界中使用了。这篇论文提出9年后的今天,hadoop 3.0 正式提出了存储计算分离的概念。Hadoop 3.0 and the Decoupling of Hadoop Compute from Storage

Alluxio技术内幕:高性能的异步读缓存

发表于 2018-08-08 | 更新于 2019-01-12 | 分类于 分布式存储 | 评论数:

概览

Alluxio服务通过连接底层持久化存储并按需将数据缓存至内存中,为不同的应用作业提供了一个可以高速并发访问的数据层。在Alluxio中,每一个文件根据其大小在逻辑上被划分成不同的“块”(默认512MB)。块在Alluxio中是缓存的最小单位。当Alluxio客户端用从Alluxio服务中读取文件时,如果被请求的数据块并未缓存在Alluxio中,则会触发缓存操作。将数据缓存在Alluxio空间后可以极大地提高后续分析作业的性能。

阅读全文 »

预取技术-prefetching

发表于 2018-04-27 | 更新于 2019-01-12 | 评论数:

并行编程有那么难吗?-计数(Counting)

发表于 2018-04-24 | 更新于 2019-01-12 | 分类于 并行编程 | 评论数:

计数可以说是比较常见也是并发的书本中最开始讲述的例子,本章将会讲述简单的计数需要面临的问题。

阅读全文 »

1…567…9
伊蓝

伊蓝

记录点滴

90 日志
20 分类
141 标签
GitHub
© 2023 伊蓝
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Mist v6.7.0