An open source time-series database for fast ingest and SQL queries
APACHE-2.0 License
Bot releases are hidden (Show)
Published by bluestreak01 almost 2 years ago
We introduce an automated system, which removes the concept of commit lag
thus simplifying capacity planning. Developers don't have to compromise between high ingestion speed and data visibility. Data visibility is instant while ingestion performance is always at its peak.
Additionally, there is a number of important bug fixes that improve system performance and stability.
commitLag
keyword in SQLs is no longer supported in this release. We recommend you remove these keywords and "lag" values and let the system handle things automatically.
ltrim()
, rtrim()
and trim()
functions by @klurpicolo in https://github.com/questdb/questdb/pull/2613
LATEST ON
with multiple symbol columns by @puzpuzpuz in https://github.com/questdb/questdb/pull/2783
LogFactory
instances on start-up by @puzpuzpuz in https://github.com/questdb/questdb/pull/2756
long256
could not be parsed by @vgrichina in https://github.com/questdb/questdb/pull/2762
could not mmap
error by @glasstiger in https://github.com/questdb/questdb/pull/2775
text_loader.json
configuration file by @puzpuzpuz in https://github.com/questdb/questdb/pull/2750
WhereClauseParser
when using epoch by @stephenspol in https://github.com/questdb/questdb/pull/2744
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.5.5...6.6
Published by bluestreak01 almost 2 years ago
This release features an improved migration experience when importing CSV files from PostgreSQL and stability improvements for the Core and SQL engine.
U+
- six-digit microsecond format component by @bluestreak01 in https://github.com/questdb/questdb/pull/2688
N+
- nine-digit nanosecond format component by @bluestreak01 in https://github.com/questdb/questdb/pull/2709
insert into table with ...
syntax by @bluestreak01 in https://github.com/questdb/questdb/pull/2724
joins
by @bluestreak01 in https://github.com/questdb/questdb/pull/2685
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.5.4...6.5.5
Published by bluestreak01 almost 2 years ago
This release includes new SQL features from our amazing Hacktoberfest contributors as well as performance and stability improvements.
string functions:
lower()
and upper()
string functions by @blackstar-baba in https://github.com/questdb/questdb/pull/2582
position()
alias for string function strpos()
by @DarthBenro008 in https://github.com/questdb/questdb/pull/2599
starts_with
string function by @akki1306 in https://github.com/questdb/questdb/pull/2608
lpad
and rpad
string functions by @eigengravy in https://github.com/questdb/questdb/pull/2631
split_part()
by @daniel-shuy in https://github.com/questdb/questdb/pull/2644
numeric functions:
ceiling
with double and float arguments by @bsnxsourav in https://github.com/questdb/questdb/pull/2600
log10
math function to calculate base 10 logarithm of double argument by @blackstar-baba in https://github.com/questdb/questdb/pull/2579
log()
to ln()
for natural logarithm function by @Ln11211 in https://github.com/questdb/questdb/pull/2605
others:
CREATE TABLE LIKE
syntax by @akki1306 in https://github.com/questdb/questdb/pull/2580
ALTER DROP
of the last partition by @marregui in https://github.com/questdb/questdb/pull/2606
row_number() over()
and row_number() over(ORDER BY)
by @blackstar-baba in https://github.com/questdb/questdb/pull/2656
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.5.3...6.5.4
Published by bluestreak01 about 2 years ago
This is a maintenance release, which includes important stability fixes and improvements for the SQL engine and core.
DEALLOCATE
statement support for PHP Data Objects by @puzpuzpuz in https://github.com/questdb/questdb/pull/2530
GROUP BY
over empty table by @puzpuzpuz in https://github.com/questdb/questdb/pull/2535
FROM
in SELECT *
by @lookharm in https://github.com/questdb/questdb/pull/2516
SAMPLE BY
with invalid values by @puzpuzpuz in https://github.com/questdb/questdb/pull/2540
rollback()
that may lead to incorrect writes or crashes by @ideoma in https://github.com/questdb/questdb/pull/2512
We want to thank our new contributor:
Full Changelog: https://github.com/questdb/questdb/compare/6.5.2...6.5.3
Published by pswu11 about 2 years ago
This is a maintenance release focusing on important bug fixes for 6.5.1.
min
/max
and regexp_replace
functions for string values by @puzpuzpuz in https://github.com/questdb/questdb/pull/2478
GROUP BY
based on function key by @puzpuzpuz in https://github.com/questdb/questdb/pull/2484
WHERE
execution logic by @glasstiger in #2492ALTER TABLE
syntax error message by @puzpuzpuz in #2493Full Changelog: https://github.com/questdb/questdb/compare/6.5.1...6.5.2
Published by bluestreak01 about 2 years ago
This release adds new SQL statements for detaching and re-attaching partitions to tables, enabling cold storage as a solution to the disk size limitation. In addition, we include several fixes and improvements for the overall reliability of the SQL engine.
ALTER TABLE DETACH PARTITION
as a complement to ATTACH
by @marregui in https://github.com/questdb/questdb/pull/2280
count_distinct()
by @puzpuzpuz in https://github.com/questdb/questdb/pull/2439
table_writer_metrics()
and memory_metrics()
table functions for better observability by @jerrinot https://github.com/questdb/questdb/pull/2318/
ORDER BY
in over clause not accepting direction by @bziobrowski in https://github.com/questdb/questdb/pull/2406
min()
on int/long/date/ts column with max values only by @puzpuzpuz in https://github.com/questdb/questdb/pull/2429
SAMPLE BY
with filter by @puzpuzpuz in https://github.com/questdb/questdb/pull/2448
ORDER BY DESC
with async filter by @bziobrowski in https://github.com/questdb/questdb/pull/2451
Duplicate column
exception in INTERSECT query by @eugenels in https://github.com/questdb/questdb/pull/2472
Full Changelog: https://github.com/questdb/questdb/compare/6.5...6.5.1
Published by bluestreak01 about 2 years ago
This release brings a new algorithm for the SQL COPY
statement [Reference], which is specifically designed to enable fast and easy CSV Import for large and unsorted data files. This feature comes in handy when there's a need to migrate a large amount of data from other databases to QuestDB [Guide: CSV import]. In addition, there are several improvements and fixes for the Influx line protocol, Core, and SQL engine.
No gotchas when you are upgrading from the start or 6.3, as it is just a software update.
If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
hs_err_pid
crash logs into db
directory with Docker package by @bluestreak01 in https://github.com/questdb/questdb/pull/2346
COPY
statement for unordered CSV files by @eugenels, @bziobrowski in https://github.com/questdb/questdb/pull/2155
substring
to extract some characters from a string by @HeZean in https://github.com/questdb/questdb/pull/2251
CREATE TABLE
SQL by @ideoma in https://github.com/questdb/questdb/pull/2335
error
and critical
log messages by @ideoma in https://github.com/questdb/questdb/pull/2345
chown
errors by @mariusgheorghies in https://github.com/questdb/questdb/pull/2354
LIMIT
query with indexed symbol filter by @puzpuzpuz in https://github.com/questdb/questdb/pull/2336
ORDER BY
priority in case of duplicate column names by @jerrinot in https://github.com/questdb/questdb/pull/2339
INSERT
SQL by @bluestreak01 in https://github.com/questdb/questdb/pull/2366
int
column with high cardinality @bziobrowski https://github.com/questdb/questdb/pull/2353
boolean
numeric representation @Zahlii https://github.com/questdb/questdb/pull/2386
Full Changelog: https://github.com/questdb/questdb/compare/6.4.3...6.5
Published by bluestreak01 over 2 years ago
In this released we focused on delivering quality client libraries as well as stability improvements on the database core. Here is the list of client libraries that support both TLS and ILP authentication:
None when you are upgrading from the start or 6.3. It is just software update. If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
questdb
user in docker by @mariusgheorghies in https://github.com/questdb/questdb/pull/2281
DROP INDEX
for dropping symbol column index by @marregui in https://github.com/questdb/questdb/pull/2183
fd
leak in tables() function by @bziobrowski in https://github.com/questdb/questdb/pull/2276
LATEST ON
is combined with a single symbol IN filter by @jerrinot in https://github.com/questdb/questdb/pull/2292
concat
function args are ignored by @HeZean in https://github.com/questdb/questdb/pull/2320
Full Changelog: https://github.com/questdb/questdb/compare/6.4.2...6.4.3
Published by bluestreak01 over 2 years ago
Maintenance release to include important bug fixes and critical features.
None when you are upgrading from the start or 6.3. It is just software update. If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
SAMPLE BY
queries by @puzpuzpuz in https://github.com/questdb/questdb/pull/2277
SAMPLE BY
month over first or last values and indexed column filter @puzpuzpuz in https://github.com/questdb/questdb/pull/2278
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.4.1...6.4.2
Published by bluestreak01 over 2 years ago
Maintenance release to include important bug fixes and critical features. Fixed CVE-2022-21449.
None when you are upgrading from the start or 6.3. It is just software update. If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.4...6.4.1
Published by bluestreak01 over 2 years ago
This is the long-awaited release with UPDATE
functionality. We fully implemented UPDATE syntax, which is compatible with PostgreSQL.
None when you are upgrading from the start or 6.3. It is just software update. If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
UPDATE
SQL statement by @glasstiger and @ideoma in https://github.com/questdb/questdb/pull/1947
REINDEX
to re-index symbol column by @ideoma in https://github.com/questdb/questdb/pull/2142
/exp
endpoint only allow SELECT statements by @MatthewLENG2002 in https://github.com/questdb/questdb/pull/2145
We want to thank our new contributors:
Full Changelog: https://github.com/questdb/questdb/compare/6.3.1...6.4
Published by bluestreak01 over 2 years ago
This is a maintenance release driven by our community with new features. We improved SQL usability with external contributors and also fixed a memory leak for SQL execution.
None when you are upgrading from the start or 6.3. It is just software update. If you're upgrading from 6.2.1 or earlier, please refer to the gotchas of 6.3
stddev_samp()
aggregate function #2099 by @iridessSAMPLE BY
statements #1984 by @KevinChen16extract(part from timestamp)
function #2042 by @bluestreak01, @bziobrowski and @marregui::
keyword #2109 by @HeZeanWe want to thank our new contributors:
Published by bluestreak01 over 2 years ago
The JIT compiler is now enabled by default. The compiler aims at significantly improving execution times for queries with simple arithmetic expressions in where
statements. This feature can be disabled by setting cairo.sql.jit.mode
to off
.
The where
clause is executed concurrently, which include both JIT-based and function framework based filters. Additionally SQL optimiser takes into account limit
values to optimise data passes and optimise memory usage
Database backup
via filesystem snapshot support has been added for cloud environments, e.g. AWS EBS. This enables live
database backups to be inexpensive
both in terms of effect on ingestion and SQL execution performance as well as cloud cost. Snapshotting is a three prong process. First, cloud administrators issue statement SNAPSHOT PREPARE
, which locks all table readers and flushes filesystem caches to disk (through the sync
syscall). Second, administrators can at this point invoke the snapshotting procedure, of their cloud vendor, which can be left to run for however long it needs. Third, statement SNAPSHOT COMPLETE
is called to release the readers and should be issued as soon as possible even as the snapshot is being produced. This feature can be disabled by setting cairo.snapshot.recovery.enabled
to false
.
Configuration settings validation is now strict. Unsupported settings and typos cause startup failure (logs are produced with appropriate instructions on how to migrate).
Add new functionalities in the web console: SQL formatting and autocomplete table names.
where
clause execution results #1732.SNAPSHOT PREPARE|COMPLETE
#1907.cast
function to allow casts from string to boolean, e.g. cast('true' as boolean)
#2041.date_trunc()
function to truncate timestamps, e.g.: date_trunc('week', '2022-05-07T02:09:30.111111Z') -> '2022-05-02 00:00:00.0'
#2017.flush_query_cache()
function to clear all Http and PGWire worker caches explicitly by user request #2028.latest by
on symbol column with no index, preventing in many cases a full table scan #2010.is null
an alias for = null
and is not null
for != null
for null comparisons. This is required to enable integration with 3rd parties, specifically MindsDB #1967.tables()
SQL output. This behaviour is governed by setting telemetry.hide.tables
#1951.sum()
function for type long256
#1982.long256
#1943.line.integer.default.column.type
) when ILP adds a new column automatically #2040.pg.security.readonly
to toggle read-only mode #2021.query
and executeQuery
URL params for inserting and executing queries in web console #1927.text_loader.json
as a file when it cannot be found as a resource #1929.string, symbol -> timestamp
cast to constants to fix expressions like symbol = int
#1977.appendAt
option to appendQuery
#2024.appendQuery
erroneous case #1994.console.log
#1932.java.sql.Timestamp
with micro precision #1995.We want to thank our new contributors:
Published by bluestreak01 over 2 years ago
order by
designated timestamp desc with filter (#1852)drop table if exists <table-name>
(#1839)rnd_str(iiii)
ignores null rate setting (#1899)order by
aliased column positions (#1905)limit
clause; outer query ordering skipping (#1893)Published by bluestreak01 over 2 years ago
WHERE
expressionsLIMIT
queries, specifically around fetching the most recent records of time series and aggregating top recordsLATEST BY
in SQL with more predictable and easy-to-understand behavioursA detailed walk-through of these highlights can be found in this blog post.
LATEST BY
syntax (#1739)IODispatcher
configuration from a single parameter (#1810)(select ...)
filters on a symbol column (#1747)DirectLongList
instances with site of their use (#1722)asyncpg
client (#1751)Published by bluestreak01 almost 3 years ago
This release adds Prometheus Alertmanager support, new counters in the Prometheus endpoint for memory information, automatic query timeout, Monaco as the new SQL editor for QuestDB's web interface, and various UI additions. Alongside new features, this release fixes bugs in binary search and improves stability relating to filesystem sync and crashes when using ILP. These features and fixes enhance the system's usability, flexibility, and stability.
ALTER TABLE
SQL when writer is busy in ILP (#1504)float
infinity
to json (#1622)ALTER TABLE ADD COLUMN
parse error #1612 (#1634) Bolek Ziobrowski
Published by bluestreak01 almost 3 years ago
This release includes bug fixes for cases when tables were locked on concurrent reads, and provides stability fixes on transaction file reads. Also included is a new partition by HOUR
strategy that offers greater granularity when working with larger data volumes.
count(1)
syntax (#1555)HOUR
(#1571)LATEST BY
columns (#1478)truncate()
and addIndex()
(#1567)txn
read on reader reload (#1557)Published by bluestreak01 almost 3 years ago
This release focuses on stability and bug fixes through further testing and error prevention. All known stability issues relating to InfluxDB Line Protocol are resolved, with new functionality provided by SQL additions.
left()
/right()
SQL string function implementations (#1479)ceil()
and floor()
functions (#1526)strpos()
function (#1506)sample by
period (#1519)FanOut.and()
(#1460)mmap
offset page alignment (#1542)latest by
SQLs (#1501)dump_thread_stacks()
(#1546)latest by
SQLs (#1500)count()
in non-keyed vector aggregations (#1457)Published by bluestreak01 almost 3 years ago
Fixed ILP server crash under high rate of new symbol values. Improved ILP performance by throttling reload of symbol tables and reducing number of system calls.
Published by bluestreak01 about 3 years ago
Improved ILP parser based on internal testing and customer feedback. UI improvements to remove query execution pop-ups. Added problem diagnostic methods.