Features

  • Column-oriented time-series database.
  • Log-structured append-only B+tree with multiversion concurrency control.
  • Crash safety.
  • Fast aggregation without pre-configured rollups or materialized views.
  • Custom compression algorithm (dictionary + entropy) with small memory overhead (about 2.5 bytes per element on appropriate data).
  • Compressed in-memory storage for recent data.
  • Can be used as a server application or an embedded library.
  • Simple query language based on JSON over HTTP.
  • Query results returned using chunked transfer encoding at rate about 50MB/second (about 1M data points/second) per core.
  • Data ingestion through TCP or UDP (over 1M data points/second).

Akumuli

- - -
主页 https://github.com/Akumuli/akumuli  
编写语言 C++  
License Apache License, Version 2.0  
项目创建时间 2014/12  
最新版 pre-release 2015/10/18
活跃度 活跃  
文档 简单  

Akumuli名称来自accumulate,是一个数值型时间序列数据库,可以存储、处理时序列数据。

它的特点如下:

  • 基于日志结构的存储
  • 支持无序数据
  • 实时压缩
  • 基于HTTP的JSON查询支持
  • 支持面向行和面向列的存储
  • 将最新数据放入内存存储
  • 通过metric和tag组织时序列数据,并且可以通过tag进行join操作。
  • Resampling (PAA transform),滑动窗口
  • 通过基于TCP或UDP的协议接收数据(支持百万数据点每秒)
  • Continuous queries (streaming)

Akumuli由两部分组成:存储引擎和服务程序。目前只有存储引擎被实现了,而且存储引擎可以在没有服务程序的情况下作为嵌入式数据库单独使用(类似sqlite),也就是说,你得通过自己编写程序使用它的API来实现数据读写。

Akumuli的数据协议基于Redis,它的数据格式也和前面看到的不太一样,比如:

 
+balancers.memusage host=machine1 unit=Gb
+20141210T074343.999999999
:31

每条数据由三部分组成,第一部分称为ID,可以是数值型(以“:”开始),或者是字符串(以“+”开始),比如这个例子中,cpu host=machine1 region= europe就是ID,它由两部分组成,cpu是metric,hostregion则被称为key。

数据的第二部分可以是时间戳(:1418224205),这里的格式为ISO 8601(+20141210T074343.999999)

第三部分为值部分。

类似上面的数据结构,它的query也比较容易理解:

 
{
"where": {
"region": [ "europe", "us-east" ]
},
"metric": "cpu",
"range": {
"from": "20160102T123000.000000",
"to": "20160102T123010.000000" }
}

Akumuli目前还处于开发状态,不适合在生产环境下使用。

Akumuli时间序列数据库——列存储,LSM,MVCC的更多相关文章

  1. 时间序列数据库——索引用ES、聚合分析时加载数据用什么?docvalues的列存储貌似更优优势一些

    加载 如何利用索引和主存储,是一种两难的选择. 选择不使用索引,只使用主存储:除非查询的字段就是主存储的排序字段,否则就需要顺序扫描整个主存储. 选择使用索引,然后用找到的row id去主存储加载数据 ...

  2. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储

    原文链接:http://www.jianshu.com/p/0bafd0168647 OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is ...

  3. 时间序列数据库选型——本质是列存储,B-tree索引,抑或是搜索引擎中的倒排索引

    时间序列数据库最多,使用也最广泛.一般人们谈论时间序列数据库的时候指代的就是这一类存储.按照底层技术不同可以划分为三类. 直接基于文件的简单存储:RRD Tool,Graphite Whisper.这 ...

  4. MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析

    文/何登成 导读:   来自网易研究院的MySQL内核技术研究人何登成,把MySQL数据库InnoDB存储引擎的多版本控制(简称:MVCC)实现原理,做了深入的研究与详细的文字图表分析,方便大家理解I ...

  5. 应运而生! 双11当天处理数据5PB—HiStore助力打造全球最大列存储数据库

    阿里巴巴电商业务中历史数据存储与查询相关业务, 大量采用基于列存储技术的HiStore数据库,双11当天HiStore引擎处理数据记录超过6万亿条.原始存储数据量超过5PB.从单日数据处理量上看,该系 ...

  6. [转帖]时间序列数据库 (TSDB)

    时间序列数据库 (TSDB) https://www.jianshu.com/p/31afb8492eff 0.3392019.01.28 10:51:33字数 5598阅读 4030 背景 2017 ...

  7. 时间序列数据库(TSDB)初识与选择

    时间序列数据库(TSDB)初识与选择 本文作者由 MageByte 团队的 「借来方向」编写,关注公众号 给你更多硬核技术 背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工 ...

  8. 时间序列数据库(TSDB)初识与选择(InfluxDB、OpenTSDB、Druid、Elasticsearch对比)

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  9. 时间序列数据库调研之InfluxDB

    基于 Go 语言开发,社区非常活跃,项目更新速度很快,日新月异,关注度高 测试版本 1.0.0_beta2-1 安装部署 wget https://dl.influxdata.com/influxdb ...

随机推荐

  1. varchar(10)与nvarchar(10)有什么区别

    前者是非unicode型,存储字符按1个算(内部空间存储占1字节),存储汉字的话按2个算, 就是可以存10个字符或者5个汉字 后者是unicode型,存储什么都是按1个算(内部空间存储占2字节), 就 ...

  2. Android 自定义列表指示器

    在联系人界面 可以看到这种界面 手指快速滑动右边滑动条时 可以显示相应的字母图标 android里提供了android.widget.SectionIndexer这个接口去实现该效果 可是只能显示字母 ...

  3. ZendStudio的配置导出

    File(文件)->Export(导 出),再弹出Export窗口中点击"General(常规)",选择"Preferences(首选项)" 点击&quo ...

  4. Nginx基本配置备忘

    原文:http://www.open-open.com/lib/view/open1482477873078.html Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件 ...

  5. Three.js 3D特效学习

    一.Three.js基本介绍 Three.js是JavaScript编写的WebGL第三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场 ...

  6. hibernate.properties和hibernate.cfg.xml

    hibernate.properties和hibernate.cfg.xml 博客分类: 框架技术 HibernateXMLSQLOracleJDBC     hibernate配置文件可以有两种方式 ...

  7. De novo 测序基础知识

    名词解释 De novo:拉丁文,从头开始的意思,de nove测序则是指在不需要任何参考序列的情况下对某一物种进行基因组测序,然后将测得的序列进行拼接.组装,从而绘制该物种的全基因组序列图谱. 重测 ...

  8. VB6 GDI+ 入门教程[4] 文字绘制

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[4] 文字绘制 2009 年 6 月 18 日 7条评论 ...

  9. jquery 学习

    地址:http://www.w3school.com.cn/jquery/jquery_dom_add.asp

  10. dx中纹理相关的接口备注

    1.内存中的纹理保存到文件 HRESULT D3DXSaveTextureToFile( __in LPCTSTR pDestFile, __in D3DXIMAGE_FILEFORMAT DestF ...