首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenTSDB简介

OpenTSDB(Open time series data base),开发时间序列数据库。DB这个词很有误导性,其实并不是一个db,单独一个OpenTSDB无法存储任何数据,它只是一层数据读写的服务,更准确的说它只是建立在Hbase上的一层数据读写服务。行业内各种db都很多了,为什么还会出现它?它到底有什么好?它做了什么?别着急,我们来一一分析下。   其实OpenTSDB不是一个通用的数据存储服务,看名字就知道,它主要针对于时序数据。什么是时序数据,股票的变化趋势、温度的变化趋势、系统某个指标的变化趋势……其实都是时序数据,就是每个时间点上纪录一条数据。 关于数据的存储,我们最熟悉的就是mysql了,但是想想看,每5分钟存储一个点,一天288个点,一年就10万+,这还是单个维度,往往在实际应用中维度会非常多,比如股票交易所,成千上万支股票,每天所有股票数据就可能超过百万条,如果还得支持历史数据查询,mysql是远远扛不住的,必然要考虑分布式存储,最好的选择就是Hbase了,事实上业内基本上也是这么做的。(我对其他分布式存储不了解,就不对比了)。   了解Hbase的人都知道,它可以通过加机器的水平扩展迅速增加读写能力,非常适合存储海量的数据,但是它并不是关系数据库,无法进行类似mysql那种select、join等操作。 取而代之的只有非常简单的Get和Scan两种数据查询方式。这里不讨论Hbase的相关细节,总之,你可以通过Get获取到hbase里的一行数据,通过Scan来查询其中RowKey在某个范围里的一批数据。如此简单的查询方式虽然让hbase变得简单易用, 但也限制了它的使用场景。针对时序数据,只有get和scan远远满足不了你的需求。   这个时候OpenTSDB就应运而生。 首先它做了数据存储的优化,可以大幅度提升数据查询的效率和减少存储空间的使用。其次它基于hbase做了常用时序数据查询的API,比如数据的聚合、过滤等。另外它也针对数据热度倾斜做了优化。接下来挨个说下它分别是怎么做的。

01
您找到你想要的搜索结果了吗?
是的
没有找到

技术阅读-《MySQL 必知必会》

第一章 了解SQL第二章 MySQL 介绍第三章 使用 MySQL第四章 检索数据第五章 排序检索数据第六章 过滤数据第七章 数据过滤第八章 通配符过滤第九章 正则搜索第十章 创建计算字段第十一章 数据处理函数第十二章 汇总数据第十三章 数据分组第十四章 使用子查询第十五章 联结表第十六章 高级联结第十七章 组合查询第十八章 全文本搜索第十九章 插入数据第二十章 更新和删除数据第二十一章 表的增删改第二十二章 视图第二十三章 存储过程第二十四章 游标第二十五章 使用触发器第二十六章 事务处理第二十七章 全球化和本地化第二十八章 安全管理第二十九 数据库维护第三十章 改善性能

02

Python建立数据库

所谓数据库,即存储数据的仓库。每一个数据库可以存放若干个数据表,这里的数据表就是我们通常所说的二维表,分为行和列,每一行称为一条记录,每一列称为一个字段。表中的列是固定的,可变的是行。要注意,我们通常在列中指定数据的类型,在行中添加数据,即我们每次添加一条记录,就添加一行,而不是添加一列。对数据库的操作可以概括为就是向数据库中添加、删除、修改和查询数据,其中查询功能最为复杂。 检查数据库是否存在 你可以通过使用“SHOW DATABASES”语句列出系统中所有数据库,检查数据库是否存在: 实例 返回系统中数据库列表: import mysql.connector mydb = mysql.connector.connect( host = “local host”, user = “your user name”, passwd = “your pass word” ) mycursor = mydb.cursor( ) mycursor.execute(“SHOW DATABASES”) for x in mycursor: print(x) 或者你可以在建立连接时尝试访问数据库: 实例 尝试连接数据库”mydatabase”: import mysql.connector mydb = mysql.connector.connect( host = “local host”, user = “your user name”, passwd = “your pass word”, database = “mydatabase” ) 如果数据库不存在,会收到错误。

02
领券