TimescaleDB 的结构

数据自动按时间和空间分片(chunk)。

1、partition key(分区键)

是由一个表上的一个列或者多个列组成,用于确定某一行特定数据分布在哪个分区上,用create table 语句来定义。

数据库分区分表的定义:https://wenku.baidu.com/view/596d8b6c7e21af45b307a82a.html

2、server  服务器

3、query across time  跨时间查询

4、chunks   分区在TimescaleDB中被称为chunk。

5、query across space  跨查询空间

6、time oldest --latest  时间  旧  新

详解:http://mini.eastday.com/mobile/170411142745879.html

TimescaleDB的结构

TimescaleDB是一个针对时序数据的开源数据库。它的目标是兼具NoSQL数据库的天然扩展能力和传统关系型数据库的可靠性与查询支持。为此,我们已经设计了一个新的数据集群,围绕Postgres核心进行构建,并运行在每个服务器上。

TimescaleDB 支持现代时序数据库的关键特征,如图1中归纳的那样。

Hypertables and Chunks(超表和块)。在一个更高的水平,数据库暴露了一个抽象的连续的表格:一个元表格,横跨所有的空间和时间间隔,这样你就可以通过普通的SQL语句查询它,一个元表格使用标准的带有列名称和类型的模型,在集群部署环境中,一列指定了一个建立在可额外分割的数据集上的分区键。

图1:TimescaleDB的关键特征

在内部,TimescaleDB自动将hypertable分割成块,一个块对应着一个根据指定时间间隔和此分区键的区域确定的二维空间。每个块使用表中数据库表实现,这个表自动地被放置在某一个数据库节点中(或者在多个节点间复制),虽然这个细节很大程度上被隐藏。一个单一的TimescaleDB部署可以存储多个hypertable,每个hypertable可以有不同的表结构。

构建于PostgreSQL之上。选择了构建于PostgreSQL之上,而不是从零构建,TimescaleDB获得的四个直接的收益。

坚如磐石般的可靠性。在其核心,TimescaleDB的可靠性来自于Postgres20余年的开源记录和强大的开发者社区

成熟的生态系统。TimescaleDB用户可以通过标准ODBC、JDBC或者PostgreSQL连接第三方可视化工具、BI工具,接口管理、网络平台和ORM。

标准接口。TimescaleDB用户不需要重新学习一门新的查询预演和管理框架,可以利用现有的SQL语句和PostgreSQL。

操作使用简易。用户可以重用已知的可信赖的方法来备份,快照,活跃复制以及进行其他操作。

实际上,所有的TimescaleDB实现都是在Postgres之上的扩展,而不是一个拷贝。所以,TimescaleDB可以安装在一个标准的Postgres上。

参考:http://mini.eastday.com/mobile/170411142745879.html

关键概念

Hypertables

与你的数据交互的主要点是Hypertable,一个在所有的空间和时间上间隔上连续的抽象的表,可以通过SQL进行查询。

Hypertable是一个由列名称和类型的标准模式定义,至少有一个列指定一个时间值,和一个(可选)列指定一个分区键,在其之上数据集还可以额外分区。

一个timescaledb部署可以存储多个hypertables,各有不同的模式。

在timescaledb创建Hypertable是两个SQL命令:创建表(使用标准的SQL语法),其次选择create_hypertable()。

Chunks

在内部,timescaledb自动将每个Hypertable分块,一个块对应于根据特定的时间间隔和分区键的空间区域的“二维”分裂(例如,使用散列)。

每个块使用一个标准数据库表实现,该数据库表自动地放置在数据库节点上(或在多个节点之间复制),尽管这个细节在很大程度上对用户是不可见的。

块大小合适,确保所有的B-树表的索引可以驻留在内存中,避免在这些树中任意位置修改时发生抖动。

此外,避免过大的块,我们可以避免移除被删除的数据时昂贵的“清理”操作,根据自动保留策略,运行时执行这样的操作,只需删除块(内部表),而不是删除个别行。

Standard SQL

所有数据的查询、插入、更新操作timescaledb可以通过标准的选择、插入、更新等实现,SQL命令。

转自:https://www.toutiao.com/i6422713839900426753/

TimescaleDB的结构初识相关推荐

  1. aso优化_您的关键字策略在App Store优化(ASO)中不起作用的5个原因

    aso优化 App Store Optimization (ASO) is in many ways dependent on keywords or search optimization. It ...

  2. HTML初识:网页结构、标签、特殊符号、列表

    HTML初识 一.网页结构初识 二.标签 1.文章标题标签 2.段落标签 3.倾斜标签 4.加粗标签 5.删除线 6.下滑线 7.上/下标签 8.强制换行标签 9.水平线标签 三.特殊符号 四.列表 ...

  3. 7.Java基础之集合框架+JDK8新特性

    1.集合概述 1.1 为什么学集合 思考:数组有什么缺点? 长度一旦定义,不能改变!定义大了,浪费空间:小了,可能不够 ---->动态的数组 对于增删,需要移动位置 ->有人帮我们做这个事 ...

  4. 计算机网络笔记整理(一)

    计算机网络:概论 初识Internet 什么是网络 计算机网络和互联网 互联网的发展史 1969年 1972年-1980年 1980年-1990年 1990年-21世纪初 2005年-至今 计算机网络 ...

  5. PHP工程师零基础入门到就业班

    ├─01.PHP小白零基础入门 │  ├─01.步骤一:网页搭建入门 │  │  ├─01 html │  │  │      1-1 html准备工作.mp4 │  │  │      1-2 选择 ...

  6. 三、初识Socket套接字结构体

    一.初识Socket套接字结构体 1.通用套接字结构体类型 struct sockaddr{sa_family_t sa_family; //协议簇char sa_data[14]; //协议簇数据} ...

  7. c 结构体在声明时赋值_Java基础知识 初识Java 循环结构进阶 数组 数据类型 各种运算符...

    今天给大家带来的是初级Java基础部分的知识:包括初始Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!最后还有****循环结构的进阶****,步骤超详细, ...

  8. C++阶段01笔记汇总【C++软件安装、C++初识、数据类型、运算符、程序流程结构、数组、函数、指针、结构体】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 C++课程安排 1 C++初识 1.1 第一个C++程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1. ...

  9. Java 结构体之 JavaStruct 使用教程一 初识 JavaStruct

    Javastruct 是什么 简而言之,Javastruct 是一个第三方库,用于像处理 C 或者 C++ 结构体那样处理 java 对象.也即利用 Javastruct 可以在 java 上实现类似 ...

最新文章

  1. Android开发--图形图像与动画(一)--Paint和Canvas类
  2. 一次向svn中增加所有新增文件 svn add all new files【转】
  3. 利用python进行统计及分析第7章,构建电影分类的dummies
  4. 【渝粤教育】广东开放大学 社会调查与方法 形成性考核 (35)
  5. C++(4)--初识变量、数据类型
  6. 基于heartbeatV2版本的ha-gui工具对httpd做高可用集群(1)
  7. python怎么画长方体_将长方体绘制为图像
  8. sqli注入前置知识
  9. exists hive中如何使用_07045.16.2如何使用Hive合并小文件
  10. 深度学习2.0-13.神经网络与全连接层之张量实战
  11. linux 档案类型s,深入了解Linuxs归档和压缩命令 | MOS86
  12. js获取html中type属性,JavaScript获取节点类型、节点名称和节点值
  13. 记一次服务器故障及解决办法
  14. matlab多种显示格式一起用,[转载]MATLAB支持的几种图像文件格式
  15. Block insecure private network requests
  16. 《Python编程从入门到实践》笔记吐血整理
  17. iOS解析新浪微博的@##以及URL链接并展示
  18. 无法嵌入互操作类型“Application Class”请改用适用的接口
  19. ☀️光天化日学C语言☀️(31)- break 关键字 | 当断则断!
  20. git命令提交代码/vscode提交代码

热门文章

  1. IC验证工程师高效战斗手册---提问之道(上篇)
  2. 公司股权分配协议范文
  3. 基于pyqt的图像处理界面设计
  4. 驰网独家英特尔i913900K处理器性能参数一览!Steam游戏专用i913900k服务器!!
  5. 【直播回顾】昇思MindSpore易用性SIG2022上半年回顾总结
  6. hyper-v虚拟化和游戏冲突
  7. ios App支付宝开放平台申请支付宝支付具体步骤
  8. Android 对接 dropbox Chooser
  9. wps里面函数怎么使用_WPS中函数的使用方法 - 卡饭网
  10. 如何在Cisco Packet Tracer中创建多个路由器虚拟局域网(方法一)