![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QuestDB
文章平均质量分 66
QuestDB
馥凝儒雅
编程之久除了算法和数据结构,什么也不属于我们。
展开
-
通过二进制文件安装和使用QuestDB
这个页面描述了如何通过二进制文件安装和使用QuestDB。QuestDB提供了一个用于Linux/FreeBSD的脚本 questdb.sh 和一个用于Windows的可执行的questdb.exe。如果您正在寻找macOS,请检查我们的自制软件部分。下载您可以在Get QuestDB页面上找到最新的二进制文件。发布说明在我们的GitHub发布页面。前期准备“Any (no JVM)”版本该文件名为:questdb-6.1.2-no-jre-bin.tar.gz 这个二进制文件大原创 2021-12-10 10:31:03 · 1435 阅读 · 0 评论 -
通过Docker开始使用QuestDB
QuestDB在Docker Hub上有Linux/macOS和Windows的镜像。安装Docker在我们开始之前,您需要安装Docker。您可以在官方文档中找到有关平台的指南。QuestDB镜像一旦安装了Docker,你需要从Docker Hub中提取QuestDB的镜像并创建一个容器。你可以使用docker run在一个命令中完成这两个操作:docker run -p 9000:9000 \ -p 9009:9009 \ -p 8812:8812 \ -p 9003:900原创 2021-12-09 17:02:35 · 2107 阅读 · 3 评论 -
根目录结构 Root directory structure
QuestDB在其 root_directory 下创建如下文件结构:questdb├── conf├── db├── log└── publicconf 目录包含QuestDB的配置文件:├── conf│ ├── date.formats│ ├── mime.types│ └── server.conffile description date.formats A list of date formats in plain text....原创 2021-12-09 15:28:32 · 499 阅读 · 0 评论 -
地理空间数据 Geospatial data
QuestDB增加了通过geohash类型处理地理空间数据的支持。本页面描述了如何使用geohash,并概述了语法,包括关于从纬度和经度转换、通过SQL、fluxdb协议插入和通过Java API插入的提示。为了方便处理这种数据类型,添加了 spatial 和 operators 来帮助过滤和生成数据。Geohash 描述geohash是一种使用短字母数字字符串表示位置的方便方法,使用较长的字符串可以获得更高的精度。其基本思想是,地球被划分成定义大小的网格,每个区域被分配一个独特的id,称为..原创 2021-12-09 14:55:54 · 674 阅读 · 0 评论 -
索引 Indexes
索引存储目标列的每个值的行位置,以便提供更快的读访问。它允许您在使用 WHERE 条件进行查询时直接访问相关行,从而绕过全表扫描。索引对 symbol 类型是可用的。对其他类型的索引支持将随着时间的推移而增加。有两种方法可以创建索引:在创建表时使用 CREATE table 使用 ALTER TABLE索引是如何工作的索引为目标 symbol 类型的每个不同值创建一个行位置表。一旦创建了索引,向表中插入数据将更新索引。对索引值的查找将直接在索引表中执行,这将提供项的内存位置,从而避免不必原创 2021-12-08 14:19:26 · 264 阅读 · 0 评论 -
数据类型 Symbol
QuestDB引入了一个名为 SYMBOL 的数据类型;一种用于存储重复字符串的数据结构。在内部,SYMBOL 类型被存储为一个整数表及其对应的字符串值。symbol类型的优势大大提高了查询性能,因为字符串操作比较和写入int类型而不是字符串。 由于int映射到字符串类型,大大提高了存储效率。 对用户来说是不显眼的,因为SQL执行的结果与处理字符串值的结果相同。 通过消除对显式附加表或连接的需要,降低了数据库模式的复杂性。使用 symbols在创建表时,列可以被指定为SYMBOL,类似于其原创 2021-12-08 11:25:47 · 539 阅读 · 0 评论 -
分区 Partitions
QuestDB提供了按时间间隔分区表的选项。每个时间间隔的数据存储在单独的文件集中。数据列文件的关系图,以及如何对它们进行分区以形成一个表属性分区间隔包括 NONE、YEAR、MONTH、DAY 和 HOUR。 默认行为是分区由 NONE 。 分区在创建表时定义。要了解更多信息,请参考 CREATE TABLE 部分。分区只能在具有指定时间戳的表上进行。有关指定时间戳的更多信息,请参阅指定 时间戳部分。优点减少时间戳间隔搜索的磁盘IO。这是因为我们的SQL优化器利用了分区。原创 2021-12-08 11:18:23 · 348 阅读 · 0 评论 -
SQL拓展 SQL extensions
QuestDB试图实现标准的ANSI SQL。我们也试图与PostgreSQL兼容,尽管部分工作还在进行中。这个页面展示了我们为SQL带来的主要扩展,以及人们可能在SQL中发现而在QuestDB中没有发现的主要差异。SQL扩展我们扩展了SQL以支持我们的数据存储模型,并简化了时间序列分析的语义。LATEST BYLATEST BY是一个子句,用于帮助根据时间戳查找作为 SELECT 语句一部分的给定键或键组合的最新条目。LATEST BY customer ID and curre.原创 2021-12-08 11:01:20 · 672 阅读 · 0 评论 -
基于时间戳的设计 Designated timestamp
QuestDB提供了选择一列作为指定时间戳的选项。这允许您指定索引表的列,以便利用面向时间的语言特性和高性能功能。检查表是否包含指定的时间戳列可以通过在元函数文档页面中描述的tables()和table_columns()函数来完成。属性只有timestamp类型的列可以被选为指定的时间戳。 对于一个给定的表,只能选择一个列。 一个指定的时间戳被选出: (1)在表创建 (2)在查询中使用时间戳函数无序策略从6.0.0版本开始,QuestDB支持摄入无序(O3)的记录。通过提交延..原创 2021-12-08 10:45:24 · 287 阅读 · 0 评论 -
存储模型 Storage model
存储模型QuestDB使用基于列的存储模型。数据存储在表中,每一列存储在自己的文件和自己的原生格式中。新数据被附加到每个列的底部,以允许按照吸收数据的相同顺序有机地检索数据。添加模型QuestDB每次附加一个列,并使用相同的方法更新每个列。列文件的尾部被映射到RAM中的内存页中,列追加实际上是对一个地址的内存写入。一旦耗尽内存页,将取消映射,并映射一个新页。此方法确保最小的资源流失和一致的追加延迟。存储列的文件的架构读模型表列是随机访问的。通过简单的位移位将记录号转换.原创 2021-12-08 10:39:30 · 626 阅读 · 0 评论 -
介绍 Introduction
介绍QuestDB是一个面向关系列的数据库,专为时间序列和事件数据设计。它使用带有时间序列扩展的SQL来辅助实时分析。这些页面涵盖了QuestDB的核心概念,包括设置步骤、使用指南以及语法、api和配置的参考文档。概念本节描述QuestDB的架构,它如何存储和查询数据,并介绍系统特有的特性和功能。指定时间戳是一个核心特性,它支持面向时间的语言功能和分区 符号类型使得存储和检索重复字符串的效率更高 存储模型描述了QuestDB如何在表中存储记录和分区 索引可以用于对特定列进行更快的读取.原创 2021-12-08 09:58:55 · 2014 阅读 · 0 评论