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

  • 时间:
  • 浏览:2

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

并肩,它也应该是能扩展和自动失败切换(Fault-tolerant)的。随着数据量的增长,所需服务器的台数也会增加,能动态的增减服务器则是有另一一六个基本要求。并肩,随着服务器的增多,各种服务器软件意味 网络故障地处的概率也会增大,这完后 失败切换也显得特别要,只能意味 一台机器的失效而意味 整个集群不可工作。

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

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

并肩,部署的容易程度也几乎等于完后 运维的简化程度。

其中,时序列数据不能 定义如下:

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

这是维基百科上的解释:

主我希望该方案采用了哪些地方编程语言,哪些地方地方第三方模块。比如有的用 Java 编写,有的用 Golang;有的用 HBase,有的用其他人的存储方案;有的自带富足的 UI,有的则只提供了简单的调试界面。

一听到时序列数据库,意味 我希望稍有耳闻的人,意味 立刻会联想到运维和监控系统。

主我希望文档的富足性等,不能 在 Google 搜索一下,看看相关的 Blog 与否足够多,不想能 在 StackOverFlow 上看一下相关讨论内容。

还有一些时需注意的是,现在什么都 用户的数据都跑在云主机上,这麼 IOPS 则是有另一一六个你时需要注意的因素,超了 Plan 限制一句话不能自己找出问题 意味 。

还好大每项 TSDB 都提供了 HTTP API,除了简单的文本格式,有什么都 还支持 JSON 格式的输入、输出。

即与否容易部署,特别是作为产品一句话,什么都 企业级产品在安装部署意味 升级所耗费的时间绝对是占了大头的。什么都 与否容易部署就成了有另一一六个重要的指标,比如与否能一键部署、单机部署?与与否额外依赖组件等。

所谓的行态简单,不能 理解为某一度量指标在某一时间点只会有另一一六个值,这麼简化的行态(嵌套、层次等)和关系(关联、主外键等)。

好处是其持续性可期,不想担心过7天 项目这麼人维护了,有了 bug 时需人会专门正确处理。

TSDB 应该天生就要考虑到分布式和分区等行态,将存储和查询埋点到不同的服务器,以支撑大规模的数据埋点和查询请求。

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

敝处我希望你意味 上了贼船下来时需成本较高。比如 ElasticSearch,搭建起 ELK 比较简单,而且一涉及到具体的生产环境部署时时需考虑的权限等问题 ,要么其他人去 hack,要么就得买一些人的产品,这是成本上时需考虑的。

而且什么都 一直出报表的人,意味 更喜欢类事特点了,意味 老板、运营意味 会定期意味 随时找一些人出统计数据。

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

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

关于安全性最基本的需求我希望不须像 ELK 那样,暴露在公网上意味 不设防火墙一句话,谁都能使用,这就带来了很大的安全隐患。

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

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

有商业公司专职开发,意味 是个双刃剑。

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).

意味 这看起来比较酷,不过对我来说这只能与否个加分项而已。意味 一些人只会通过 API 来读写数据,而且查询模式非常固定、数量太满。

说到 TSDB,容易联想到的有另一一六个功能我希望可视化和报警。意味 TSDB 自带了功能强大的可视化组件和报警支持,则意味 会省去什么都 开发的成本,更容易吸引用户。即使开发,不能方便开发过程中进行调试和验证。

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

与与否大规模、大公司真正的生产环境的部署案例?规模有多大,性能何如,与否问题 等,时需重要考察因素。有大公司的信任背书,你在确定上也就多了份安心,少了些纠结。

性心智成熟的句子的句子的句子的句子期期度包括软件两种的性心智成熟的句子的句子的句子的句子期期度和阳态系统的性心智成熟的句子的句子的句子的句子期期度。

这意味 是影响最弱的有另一一六个因素了,而且意味 你想拿来商业化一句话,则又是有另一一六个非常重要甚至致命的因素。

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

类事不能 从 TSDB 项目的提交记录(比如从 GitHub 不能 看过开发情况)、ISSUE 的正确处理情况,Pull Request的merge 情况、以及 Release 的频率来确认。

什么都 说,安全上的最小实现我希望支持基本的用户密码认证功能,而且是在有另一一六个层次支持,一是 UI 层,即管理界面意味 控制面板等,其他人面我希望 API 级别的用户认证。

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

最重要的评论观点我希望在专业社区(比如在 Ops 相关讨论组或社区)中该 TSDB 总出 的频次、一些人的关注程度等。

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

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

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

生态系统主我希望指围绕该软件的附近工具、插件的富足程度,以及相应的社区的活跃程度。

没错,虽然是什么都 运维、监控系统都采用了 TSDB 作为数据库系统来存储海量的、严格按时间递增的、在一定程度来说行态非常简单的各种指标(英文原意味 metric、measurement 意味 类事的一些单词)数据。

自动删除我希望为数据设置 TTL,过了指定的 TTL 则自动删除相关数据,以节省存储空间并肩提高查询性能。

通过前面的说明,一些人也知道 TSDB 99.9% 时需读少写多,而且写入性能时需能跟得上、无延时,而且只能阻塞读操作,且读操作能快速返回最新的数据。

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

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

意味 工作上的关系,最近看过一些关于时序列数据库的东西,当然,我所看的也时需以开源方案为主。趁着这股热劲还没退,希望能埋点一些资料出来。意味 正好你时需这方面的需求,这麼希望类事系列的介绍不能帮助到你。

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

有一些 TSDB 项目甚至提供了 ROADMAP,一些人还不能 通过路线图来了解该软件未来发展方向、行态支持。

虽然每其他人的场景不太一样,不过我虽然以下的大每项因素,都值得一些人好好考量一下。除了功不都能否 满足、性能上撑得住,运(售)维(后)等也是一些人准备长期使用所时需面临的问题 。

数据量大则是另有另一一六个重要特点,这意味 时序列数据由所监控的几瓶数据源来产生、埋点和发送,比如主机、IoT设备、终端或App等。

我其他人总结的评价因素主要有如下几点:

意味 你时需定制,意味 我希望使用 TSDB 做存储,其他人写入数据并通过查询接口进行数据展示,这麼 API 的完善程度将是有另一一六个特别要的评判因素。

请期待本系列文章的一些每项:

意味 能通过类事传统 SQL 的 来查询 metric 一句话,是时需刚接触到 TSDB 的人更容易上手和理解呢?

意味 不删除数据,不想能 对数据进行压缩,意味 再采样(Resampling),比如对最近 1 天的数据一些人意味 时需精确到秒,而查询 1 年的数据时,一些人只时需精确到天,这完后 ,海量的数据一年只时需 365 个点来存储,大大节省了存储空间。

技术栈为哪些地方也是有另一一六个选型时时需考虑的因素呢,这意味 TSDB 所采用的技术,会影响一些人开发和运维的简化程度,此外一定会受到既有资产的影响。比如一些人这麼人熟悉 HBase,又熟透悉 Java 语言,这麼意味 Influxdb 就更适合一些人了。

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

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

主也不希望读和写的性能,在前面 TSDB 的特点中一些人意味 讲过了。