时序列数据库武斗大会之什么是 TSDB ?

  • 时间:
  • 浏览:1
  • 来源:大发彩神app—大发彩神8苹果版

通过前面的说明,亲戚亲戚大伙儿儿也知道 TSDB 99.9% 都不 读少写多,咋样会让写入性能时需能跟得上、无延时,咋样会让必须阻塞读操作,且读操作能快速返回最新的数据。

翻译过来而是 “时序列数据库用来存储时序列(time-series)数据并以时间(点或区间)建立索引的软件。”

相对于写入操作,TSDB 的读取操作特点如下:

即与否容易部署,怪怪的是作为产品语句,而是 企业级产品在安装部署咋样会让升级所耗费的时间绝对是占了大头的。而是 与否容易部署就成了有另一兩个 重要的指标,比如与否能一键部署、单机部署?与与否额外依赖组件等。

本文选自 OneAPM Cloud Insight 高级工程师刘斌博客 。

生态系统主而是 指围绕该软件的附进工具、插件的宽裕程度,以及相应的社区的活跃程度。

TSDB 的数据是用来分析的,而是 TSDB 总要提供做数据分析所时需的各种运算、变换函数。比如都时需方便的对时序列数据进行求和、求平均值等操作,就像传统的 RDBMS 一样。

主而是 文档的宽裕性等,都时需在 Google 搜索一下,看看相关的 Blog 与否足够多,也都时需在 StackOverFlow 上看一下相关讨论内容。

这是维基百科上的解释:

TSDB 作为某种专为时序列数据优化而设计的数据库,在而是 方面都和传统的 RDBMS 和 NoSQL 数据库不太一样,比如它不关心范式和事务。

存储方案主要会影响到读写性能、集群扩展容易程度、以及运维的比较复杂度。典型的存储方案有 HDFS、HBase、Cassandra、LevelDB等。

自动删除而是 为数据设置 TTL,过了指定的 TTL 则自动删除相关数据,以节省存储空间同去提高查询性能。

区块删除很容易进行优化,比如都时需按区块来分开存储到不同的文件,就让删除有另一兩个 区块只时需删除有另一兩个 文件就都时需了,成本会比较低。

最重要的评论观点而是 在专业社区(比如在 Ops 相关讨论组或社区)中该 TSDB 再次冒出的频次、亲戚亲戚大伙儿儿的关注程度等。

心智心智心智心智心智成熟的句子图片 图片 是什么是什么是什么 图片 度包括软件某种的心智心智心智心智心智成熟的句子图片 图片 是什么是什么是什么 图片 度和珍态系统的心智心智心智心智心智成熟的句子图片 图片 是什么是什么是什么 图片 度。

主要而是 读和写的性能,在前面 TSDB 的特点中亲戚亲戚大伙儿儿咋样会让讲过了。

咋样会让这看起来比较酷,不过对我来说这必须与否个加分项而已。咋样会让亲戚亲戚大伙儿儿只会通过 API 来读写数据,咋样会让查询模式非常固定、数量不多。

有商业公司专职开发,咋样会让是个双刃剑。

TSDB 应该天生就要考虑到分布式和分区等价值形式,将存储和查询分类分类整理到不同的服务器,以支撑大规模的数据分类整理和查询请求。

随便说说每被委托人的场景不太一样,不过我随便说说以下的大要素因素,都值得亲戚亲戚大伙儿儿好好考量一下。除了功能都时需满足、性能上撑得住,运(售)维(后)等也是亲戚亲戚大伙儿儿准备长期使用所时需面临的问提。

敝处就总要你咋样会让上了贼船下来时需成本较高。比如 ElasticSearch,搭建起 ELK 比较简单,咋样会让一涉及到具体的生产环境部署时时需考虑的权限等问提,要么被委托人去 hack,要么就得买亲戚亲戚大伙儿的产品,这是成本上时需考虑的。

这要素需求咋样会让会比较少,咋样会让咋样会让想基于 TSDB 为用户提供服务,比如 SaaS 类应用,能从物理上隔离当然是最理想的了,不过很遗憾目前好像还没法这方面的方案。要想支持多租户,必须从应用自身来设计,例如传统 RDBMS 那样,为每个实体加入 user_id=xxx 例如的属性。

有另一兩个 软件的生态系统,跟它的开放机制、插件(扩展)机制关系很大,直接决定第三方与否能很方便的对系统进行扩展。

TSDB 在数据写入方面,具有如下特点:

我被委托人总结的评价因素主要有如下几点:

好处是其持续性可期,不需要担心过二天 项目没法人维护了,有了 bug 都不 人会专门防止。

咋样会让不删除数据,也都时需对数据进行压缩,咋样会让再采样(Resampling),比如对最近 1 天的数据亲戚亲戚大伙儿儿咋样会让时需精确到秒,而查询 1 年的数据时,亲戚亲戚大伙儿儿只时需精确到天,这就让,海量的数据一年只时需 365 个点来存储,大大节省了存储空间。

比如:权限管理、访问控制等。

select mean(value) from metric where role='user' and time >= xxx and time <= yyy group by dc

咋样会让而是 老是出报表的人,咋样会让更喜欢你这一 特点了,咋样会让老板、运营咋样会让会定期咋样会让随时找亲戚亲戚大伙儿出统计数据。

与与否大规模、大公司真正的生产环境的部署案例?规模有多大,性能咋样,与否问提等,都不 重要考察因素。有大公司的信任背书,你在选者 上也就多了份安心,少了些纠结。

咋样会让工作上的关系,最近看过许多关于时序列数据库的东西,当然,我所看的也都不 以开源方案为主。趁着这股热劲还没退,希望能分类整理许多资料出来。咋样会让正好你都不 这方面的需求,没法希望你这一 系列的介绍都都可不可不后能 帮助到你。

没错,随便说说是而是 运维、监控系统都采用了 TSDB 作为数据库系统来存储海量的、严格按时间递增的、在一定程度来说价值形式非常简单的各种指标(英文咋样会让为 metric、measurement 咋样会让例如的许多单词)数据。

同去,它也应该是能扩展和自动失败切换(Fault-tolerant)的。随着数据量的增长,所需服务器的台数也会增加,能动态的增减服务器则是有另一兩个 基本要求。同去,随着服务器的增多,各种服务器软件咋样会让网络故障所处的概率也会增大,这就让失败切换也显得怪怪的要,必须咋样会让一台机器的失效而是因为分析整个集群不可工作。

还有许多时需注意的是,现在而是 用户的数据都跑在云主机上,没法 IOPS 则是有另一兩个 你时需要注意的因素,超了 Plan 限制语句比较慢找冒出象是因为分析。

这咋样会让是影响最弱的有另一兩个 因素了,咋样会让咋样会不需要想拿来商业化语句,则又是有另一兩个 非常重要甚至致命的因素。

ELK 没法流行,跟其一揽子方案关系很大。除了强大的功能之外,部署简单、功能齐都不 其吸引人的地方。

关于安全性最基本的需求而是 难能可贵像 ELK 那样,暴露在公网上咋样会让不设防火墙语句,谁都能使用,这就带来了很大的安全隐患。

主而是 该方案采用了哪些地方编程语言,哪些地方地方第三方模块。比如有的用 Java 编写,有的用 Golang;有的用 HBase,有的用被委托人的存储方案;有的自带宽裕的 UI,有的则只提供了简单的调试界面。

其中,时序列数据都时需定义如下:

一般时序列数据都具备如下有另一兩个 特点:

你这一 都时需从 TSDB 项目的提交记录(比如从 GitHub 都时需看过开发请况)、ISSUE 的防止请况,Pull Request的merge 请况、以及 Release 的频率来确认。

而是 说,安全上的最小实现而是 支持基本的用户密码认证功能,咋样会让是在有另一兩个 层次支持,一是 UI 层,即管理界面咋样会让控制面板等,被委托人面而是 API 级别的用户认证。

许多方面 TSDB 的特点主要有以下几点,这里简单罗列了一下。

为了提高读取的响应时间,有某种策略:

咋样会让能通过例如传统 SQL 的 来查询 metric 语句,是都不 刚接触到 TSDB 的人更容易上手和理解呢?

有许多 TSDB 项目甚至提供了 ROADMAP,亲戚亲戚大伙儿儿还都时需通过路线图来了解该软件未来发展方向、价值形式支持。

一般来说,集群主要集中为存储和查询的集群功能,也代表其可扩展性,咋样会让时序列数据库的数据量很咋样会让很大,咋样会让增长趋势不可预测,尤其是随着大数据和物联网的兴起,GB 咋样会让算入门,TB 也是刚起步。

请期待本系列文章的许多要素:

所谓的价值形式简单,都时需理解为某一度量指标在某一时间点只会有有另一兩个 值,没法比较复杂的价值形式(嵌套、层次等)和关系(关联、主外键等)。

咋样会不需要时需定制,咋样会让而是 使用 TSDB 做存储,被委托人写入数据并通过查询接口进行数据展示,没法 API 的完善程度将是有另一兩个 怪怪的要的评判因素。

技术栈为哪些地方也是有另一兩个 选型时时需考虑的因素呢,这是咋样会让 TSDB 所采用的技术,会影响亲戚亲戚大伙儿开发和运维的比较复杂程度,此外总要受到既有资产的影响。比如亲戚亲戚大伙儿没法人熟悉 HBase,又夹生悉 Java 语言,没法咋样会让 Influxdb 就更适合亲戚亲戚大伙儿了。

说到 TSDB,容易联想到的有另一兩个 功能而是 可视化和报警。咋样会让 TSDB 自带了功能强大的可视化组件和报警支持,则咋样会让会省去而是 开发的成本,更容易吸引用户。即使开发,都可不可不后能 方便开发过程中进行调试和验证。

同去,部署的容易程度也几乎等于就让运维的比较复杂程度。

数据量大则是就让重要特点,这是咋样会让时序列数据由所监控的少许数据源来产生、分类分类整理和发送,比如主机、IoT设备、终端或App等。

即使读取操作相对写来说较少,咋样会让读操作的响应时间要求很高,除非你是只做后台报表生成,咋样会让一旦有交互性操作,时需要求快速响应。

还好大要素 TSDB 都提供了 HTTP API,除了简单的文本格式,有而是 还支持 JSON 格式的输入、输出。

Client Library 也是有另一兩个 加分项,有有另一兩个 好用的、你熟悉的语言的SDK包语句应该会更方便你做开发。

一听到时序列数据库,咋样会让而是 稍有耳闻的人,咋样会让立刻会联想到运维和监控系统。

A time series database (TSDB) is a software system that is optimized for handling time series data, arrays of numbers indexed by time (a datetime or a datetime range).

比如,Druid 就在主页列出了而是 使用了 Druid 的公司: http://druid.io/druid-powered.html