questdb | open source time-series database | Time Series Database library

 by   questdb Java Version: 7.3.7 License: Apache-2.0

kandi X-RAY | questdb Summary

kandi X-RAY | questdb Summary

questdb is a Java library typically used in Database, Time Series Database applications. questdb has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has medium support. You can install using 'pip install questdb' or download it from GitHub, PyPI.

QuestDB is a high-performance, open-source SQL database for applications in financial services, IoT, machine learning, DevOps and observability. It includes endpoints for PostgreSQL wire protocol, high-throughput schema-agnostic ingestion using InfluxDB Line Protocol, and a REST API for queries, bulk imports, and exports. QuestDB implements ANSI SQL with native extensions for time-oriented language features. These extensions make it simple to correlate data from multiple sources using relational and time series joins. QuestDB achieves high performance from a column-oriented storage model, massively-parallelized vector execution, SIMD instructions, and various low-latency techniques. The entire codebase was built from the ground up in Java and C++, with no dependencies, and is 100% free from garbage collection.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              questdb has a medium active ecosystem.
              It has 11579 star(s) with 792 fork(s). There are 123 watchers for this library.
              There were 8 major release(s) in the last 12 months.
              There are 338 open issues and 928 have been closed. On average issues are closed in 30 days. There are 16 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of questdb is 7.3.7

            kandi-Quality Quality

              questdb has 0 bugs and 0 code smells.

            kandi-Security Security

              questdb has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              questdb code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              questdb is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              questdb releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              It has 327483 lines of code, 25136 functions and 2229 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed questdb and discovered the below as its top functions. This is intended to give you an instant insight into questdb implemented functionality, and help decide if they suit your requirements.
            • Returns the initial seed value .
            • Assemble the parse method invocation .
            • Generate table query .
            • assembles a RecordToRowCopier
            • Publish multiple copy tasks .
            • Sorts the elements in sorted sequence .
            • Commit o3 .
            • Rewrite select clause .
            • Format time in milliseconds .
            • Create a function .
            Get all kandi verified functions for this library.

            questdb Key Features

            No Key Features are available at this moment for questdb.

            questdb Examples and Code Snippets

            questdb - Auth Tls Example
            Javadot img1Lines of Code : 22dot img1License : Non-SPDX (Apache License 2.0)
            copy iconCopy
            package com.example.sender;
            
            import io.questdb.client.Sender;
            
            public class AuthTlsExample {
                public static void main(String[] args) {
                    try (Sender sender = Sender.builder()
                            .address("clever-black-363-c1213c97.ilp.b04c.quest  
            questdb - Auth Example
            Javadot img2Lines of Code : 21dot img2License : Non-SPDX (Apache License 2.0)
            copy iconCopy
            package com.example.sender;
            
            import io.questdb.client.Sender;
            
            public class AuthExample {
                public static void main(String[] args) {
                    // Replace:
                    // 1. "localhost:9000" with a host and port of your QuestDB server
                    // 2. "testU  
            questdb - Basic Example
            Javadot img3Lines of Code : 18dot img3License : Non-SPDX (Apache License 2.0)
            copy iconCopy
            package com.example.sender;
            
            import io.questdb.client.Sender;
            
            public class BasicExample {
                public static void main(String[] args) {
                    try (Sender sender = Sender.builder().address("localhost:9009").build()) {
                        sender.table("inven  

            Community Discussions

            QUESTION

            What is a equivalent of a merge query(insert/update/delete) is present in the QuestDB?
            Asked 2022-Feb-11 at 09:52

            What is a equivalent of a merge query(insert/update/delete) is present in the QuestDB?

            Below is an example for tsql. I would like to understand how to implement the same logic in QuestDB - insert rows for new data and update rows for existing data (if they changed)

            https://www.sqlshack.com/understanding-the-sql-merge-statement/ USE SqlShackMergeDemo GO

            ...

            ANSWER

            Answered 2022-Feb-11 at 09:52

            QuestDB (current v6.2) does not support any form UPDATE or DELETE statements at the moment. The only way to delete data is to drop a partition or truncate table. There is no equivalent for MERGE either.

            This is going to change soon.

            Source https://stackoverflow.com/questions/71077841

            QUESTION

            How do I aggregate open and close values in QuestDB using SAMPLE BY
            Asked 2022-Jan-05 at 00:11

            I'm working on a price data project, trying to store OHLC 1 minute data and then sampling it over various intervals. I decided to try QuestDB for its neat time-series features such as SAMPLE BY but am running into a wall.

            I want to use SAMPLE BY to query my data, which looks like this:

            timestamp open high low close "2021-09-10T19:43:21.657672Z" 2.0 4.0 1.0 3.0 "2021-09-15T06:12:42.267416Z" 3.0 6.0 3.0 6.0

            For example, for the two rows above, which are in the same month, I would like to run SAMPLE BY 1M and aggregate the values for the month.

            For high and low values the aggregate functions are min(low) and max(high), but I can't figure out what to do for open and close values.

            I tried retrofitting this approach but got as far as the following without errors:

            ...

            ANSWER

            Answered 2022-Jan-05 at 00:11

            It will be first() and last() to get open and close.

            Source https://stackoverflow.com/questions/70586302

            QUESTION

            How to generate a monthly report filling missing days of the month with zero
            Asked 2021-Dec-16 at 12:50

            Let's imagine that I have the following data on a QuestDB table:

            ...

            ANSWER

            Answered 2021-Dec-10 at 21:14

            You can do with left join

            Source https://stackoverflow.com/questions/70308080

            QUESTION

            Quest DB failed to run tutorial data insertion using Java with line protocol
            Asked 2021-Oct-26 at 09:40

            OS: Ubuntu 20.04.3 LTS Java: openjdk version "17" 2021-09-14 | OpenJDK Runtime Environment (build 17+35-2724) Library: implementation group: 'org.questdb', name: 'questdb', version: '6.0.9'

            Whenever I am trying to run the sample it produces this error:

            ...

            ANSWER

            Answered 2021-Oct-26 at 09:40

            QuestDB v6.0.9 (and previous) does not run on Java 17. Only Java 11 or 8 supported

            Source https://stackoverflow.com/questions/69720294

            QUESTION

            QuestDB : difference between table_columns() and tables()
            Asked 2021-Oct-22 at 12:21

            I am new to questdb. To check if tables contain designated timestamp column we can either use tables() or table_columns(). If this is the case then what is the difference between both.

            ...

            ANSWER

            Answered 2021-Oct-22 at 12:21

            To query column you can use either

            Source https://stackoverflow.com/questions/69568389

            QUESTION

            Did the Quesdb performance change with the implementation of the new geohash type?
            Asked 2021-Oct-22 at 11:31

            With the new addition of the geohash type in update 6.0.5, has the performance improved? Specifically, will this improve performance for weather / geospatial data ingestion relative to previous Questdb iterations?

            ...

            ANSWER

            Answered 2021-Oct-22 at 11:31

            Addition of geohashes means that there is a new type for this kind of data. If you are using existing types for weather data, there will be no change in performance. There are internal improvements which make working with the geohash type more efficient than storing these values as strings of symbols, for example.

            For more info, see the geohash documentation at https://questdb.io/docs/concept/geohashes/

            Source https://stackoverflow.com/questions/69608711

            QUESTION

            QuestDB invalid metadata version
            Asked 2021-Oct-07 at 10:24

            When I run QuestDB selects for few tables I started see the error

            Invalid metadata version at fd=34. Metadata version does not match runtime version

            I am running QuestDB docker image questdb/questdb:6.0.4 and I believe I created the table when I used questdb/questdb:6.0.5. Is it possible to downgrade tables in QuestDB or any other way to fix the error?

            ...

            ANSWER

            Answered 2021-Oct-07 at 10:24

            It is possible to downgrade from some version to others, but not always.

            In particular 6.0.5 can be downgraded to 6.0.4. To do it, in every table directory upgrade process leaves file _meta.v419. You need to stop questdb, delete _meta and rename _meta.v419 into _meta. Then you delete dbroot/upgrade.d and start QuestDB.

            Source https://stackoverflow.com/questions/69399566

            QUESTION

            Is there an NPM package for QuestDB?
            Asked 2021-Oct-07 at 08:55

            I’m new to QuestDB, and I‘m wondering if there’s an npm package for it. I can see an npmjs.com/questdb package, but it doesn’t seem to have any data in it. Please tell me if there is. Thanks!

            ...

            ANSWER

            Answered 2021-Oct-07 at 08:55

            This is an empty placeholder package added by one of QuestDB team members.

            As of now QuestDB does not have dedicated JS client (as in fact no dedicated clients in any other programming language). It relies mostly on compatibility with Postgres Driver as well as well as platform specific REST clients with CSV, JSON serialisations.

            QuestDB also accepts messages in Influx Line Protocol serialisation format but unlike InfluxDB itself instead of HTTP it uses TCP transport. It makes sense to add NodeJS client with ILP serialisation and TCP transport and that will be QuestDB JS client then.

            Source https://stackoverflow.com/questions/69477574

            QUESTION

            When working with QuestDB, are symbol columns good for performance for huge amounts of rows each?
            Asked 2021-Sep-22 at 15:55

            When working with regular SQL databases, indexes are useful for fetching a few rows, but not so useful when you are fetching a large amount of data from a table. For example, imagine you have a table with stock valuations of 10 stocks over time:

            ...

            ANSWER

            Answered 2021-Sep-22 at 15:55

            A column per stock is not easy to achieve in QuestDB. If you create table like this

            Source https://stackoverflow.com/questions/69261459

            QUESTION

            How can I store MQTT data into QuestDB?
            Asked 2021-Aug-30 at 12:50

            I am building a solution that uses Mosquitto for brokering IoT sensor data. The IoT sensors are publishing to MQTT topics and I would like to store the payload data in QuestDB for analysis, what are some options for using this as storage.

            ...

            ANSWER

            Answered 2021-Aug-30 at 12:50

            One of the easiest and fastest ways of ingesting data from MQTT topics into QuestDB is to use Telegraf to stream records via InfluxDB line protocol. The configuration for Telegraf would look something like the following:

            Source https://stackoverflow.com/questions/68983976

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install questdb

            You can install using 'pip install questdb' or download it from GitHub, PyPI.
            You can use questdb like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the questdb component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            Community Slack: join technical discussions, ask questions, and meet other users!GitHub issues: report bugs or issues with QuestDB.GitHub discussions: propose new features or show what you've built.Stack Overflow: look for common troubleshooting solutions.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
            Maven
            Gradle
            CLONE
          • HTTPS

            https://github.com/questdb/questdb.git

          • CLI

            gh repo clone questdb/questdb

          • sshUrl

            git@github.com:questdb/questdb.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link