Internals
search
Table Of Contents
Primer
What is quasardb?
Shall we dance?
Inserting timeseries data
Working with the data
Organizing your data
That demo is nice, but what happens when I go to production?
Going further
Wrap up
Server Administration
1. Installation
1.1. System Requirements
1.1.1. x64 build
1.1.2. Core2 build
1.1.3. ARM64 build
1.2. Installation
1.3. Next steps
2. Configuration
2.1. QuasarDB Daemon
2.1.1. License
2.1.2. Storage
2.1.3. Networking
2.1.4. Clustering
2.1.5. Security
2.1.6. Performance tuning
2.1.7. Observability
2.1.8. Asynchronous Timeseries Inserter
2.2. QuasarDB Rest Server
2.3. Docker
3. Routine maintenance tasks
3.1. Graceful shutdown
3.2. Cluster trimming
3.3. Log rotation
3.4. Backups
4. Observability
4.1. Statistics
4.2. Performance Tracing
5. Security
5.1. Enable access-control
5.2. Key management
5.3. Cluster key generation
5.4. User management
5.5. Authentication
5.6. Authorization
5.6.1. Privileges
5.6.2. Reference
5.7. Encrypted communication
5.8. Access control
User Guide
1. Tools
1.1. quasardb shell
1.1.1. Introduction
1.1.2. Command line options
1.1.3. Interactive mode
1.1.4. Non-interactive mode
1.1.5. Command reference
1.2. quasardb import tool
1.2.1. Introduction
1.2.2. Quick Reference
1.2.3. Configuration file
1.2.4. Parsers
1.2.5. Program Options
1.3. quasardb export tool
1.3.1. Introduction
1.3.2. Quick Reference
1.3.3. Program Options
2. Integrations
2.1. Grafana connector
2.1.1. Introduction
2.1.2. Prerequisites
2.1.3. Installation
2.1.4. Configuration
2.1.5. Usage
2.2. Kafka connector
2.2.1. Introduction
2.2.2. Installation
2.2.3. Configuration
2.2.4. Additional options
2.2.5. Performance Considerations
2.3. Spark connector
2.3.1. Introduction
2.3.2. Querying quasardb
2.3.3. Writing to quasardb
2.3.4. Tests
2.3.5. A note for macOS users
2.4. Excel
2.4.1. Introduction
2.4.2. Installation
2.4.3. First connection
2.4.4. Querying data
2.4.5. Exploring your tables
2.4.6. Editing your dataset
2.5. Prometheus Remote Storage
2.5.1. Introduction
2.5.2. Prerequisites
2.5.3. Configuration
2.5.4. How Prometheus metrics are mapped to QuasarDB
3. APIs
3.1. Tutorial
3.1.1. Requirements
3.1.2. Installing libraries
3.1.3. Importing libraries
3.1.4. Connection management
3.1.5. Creating a table
3.1.6. A word about API types
3.1.7. Row oriented API
3.1.8. Column oriented API
3.1.9. Queries
3.1.10. Dropping a table
3.1.11. Full example
3.2. Reference
4. Best practices
4.1. Managing tables with Tags
4.1.1. Defining your tables
4.1.2. Defining your tags
4.1.3. Querying using tags
Query language
1. Create table
1.1. Synopsis
1.2. Description
1.3. Parameters
1.4. Examples
2. Delete from
2.1. Synopsis
2.2. Description
2.3. Parameters
2.4. Examples
3. Drop table
3.1. Synopsis
3.2. Description
3.3. Parameters
3.4. Examples
4. Alter table
4.1. Synopsis
4.2. Description
4.3. Parameters
4.4. Examples
5. Show tables
5.1. Synopsis
5.2. Description
5.3. Examples
6. Select
6.1. Synopsis
6.2. Description
6.3. Parameters
6.4. Examples
6.5. Advanced examples
6.6. ASOF joins
6.6.1. Examples
7. Insert
7.1. Synopsis
7.2. Description
7.3. Parameters
7.4. Examples
8. Function & Operators
8.1. Aggregate functions
8.2. Comparison operators
8.3. Logical operators
8.4. Arithmetic operator
8.5. Bitwise operators
8.6. Regular expressions
8.7. IP related functions
8.8. Geographical functions
8.9. Lookup function
8.9.1. Example
9. Timestamps
9.1. Absolute
9.2. Durations
9.3. Offsets
10. Key/value lookups
10.1. Examples
11. Grant
11.1. Synopsis
11.2. Description
11.3. Parameters
11.4. Examples
12. Revoke
12.1. Synopsis
12.2. Description
12.3. Parameters
12.4. Examples
13. Show grants
13.1. Synopsis
13.2. Description
13.3. Parameters
13.4. Examples
14. Show disk usage
14.1. Synopsis
14.2. Description
14.3. Parameters
14.4. Examples
Internals
1. Transactions
1.1. Overview
1.2. Characteristics
1.3. Design
1.3.1. Unique Transaction Identifier
1.3.2. Multiple Versions and Garbage Collection
1.4. Batch or transaction
2. Clustering
2.1. What is a Cluster?
2.2. Stabilization
2.3. Adding a Node to a Cluster
2.4. Removing a Node from a Cluster
2.5. Recovering from Node Failure
2.6. Nodes IDs
3. Data Storage
3.1. Where are Entries Stored in the Cluster?
3.2. Where are Entries Stored in a Node?
3.2.1. Transient mode
3.2.2. Persistent read cache
3.3. Data Migration
3.3.1. Migration Process
3.4. Data replication
3.4.1. Principle
3.4.2. How replication works with migration
3.4.3. Conflict resolution
3.4.4. Impact on reliability
3.4.5. Impact on performance
3.4.6. Fault tolerance
3.4.7. Memory Cache and Eviction
3.5. Data trimming
4. Data Transfer
4.1. Designed for Concurrency
4.1.1. Server
4.1.2. Client
4.2. Guarantees
4.3. The Transfer Process
4.4. Failure Cases
4.4.1. Cluster Unstable
4.4.2. Topology Changed
4.4.3. Timeout
4.5. Data Conflicts
4.5.1. A simple data conflict
4.5.2. Resolving the simple conflict
4.5.3. A more complex data conflict
4.5.4. Best Practice: Plan for Concurrency
5. Change Stream
5.1. Purpose
5.2. Recorded information
5.3. Update types
Support
1. Contact
2. Change log
2.1. 3.8.0 - “Crates” - 4/6/2020
2.1.1. Changes in this version
2.2. 3.7.0 - “Apollodorus” - 3/2/2020
2.2.1. Changes in this version
2.3. 3.6.0 - “Antipater” - 2/3/2020
2.3.1. Changes in this version
2.4. 3.5.0 - “Posidonius” - 12/23/2019
2.4.1. Changes in this version
2.5. 3.4.3 - “Mnesarchus” - 10/15/2019
2.5.1. Changes in this version
2.6. 3.4.2 - “Mnesarchus” - 09/17/2019
2.6.1. Changes in this version
2.7. 3.4.1 - “Mnesarchus” - 08/12/2019
2.7.1. Changes in this version
2.8. 3.4.0 - “Mnesarchus” - 07/23/2019
2.8.1. Changes in this version
2.9. 3.3.0 - “Panaetius” - 05/13/2019
2.9.1. Changes in this version
2.10. 3.2.0 - “Hierocles” - 03/29/2019
2.10.1. Changes in this version
2.11. 3.1.0 - “Diodotus ” - 01/08/2019
2.11.1. Changes in this version
2.12. 3.0.0 - “Posidonius” - 11/21/2018
2.12.1. Changes in this version
2.13. 2.7.0 - “Eratosthenes” - 07/02/2018
2.13.1. Changes in this version
2.14. 2.6.0 - “Cleomedes” - 06/01/2018
2.14.1. Changes in this version
2.15. 2.5.0 - “Theodosius” - 04/20/2018
2.15.1. Changes in this version
2.16. 2.4.0 - “Aratus” - 03/11/2018
2.16.1. Changes in this version
2.17. 2.3.0 - “Epictetus” - 02/15/2018
2.17.1. Changes in this version
2.18. 2.2.0 - “Chrysippus” - 12/21/2017
2.18.1. Changes in this version
2.19. 2.1.0 - “Cleanthes” - 11/01/2017
2.19.1. Changes in this version
2.20. 2.0.0 - “Aristotle” - 01/17/2017
2.20.1. Changes in this version
2.20.2. Changes in the version
2.21. 1.2.1 - “Anaximander” - 05/05/2015
2.21.1. Changes in this version
2.22. 1.2.0 - “Anaximander” - 02/09/2015
2.22.1. Changes in this version
2.23. 1.1.5 - “Pythagoras” - 12/15/2014
2.23.1. Changes in this version
2.24. 1.1.4 - “Pythagoras” - 06/30/2014
2.24.1. Changes in this version
2.25. 1.1.3 - “Pythagoras” - 04/29/2014
2.25.1. Changes in this version
2.26. 1.1.2 - “Pythagoras” - 02/03/2014
2.26.1. About
2.26.2. Changes in this version
2.27. 1.1.1 - “Pythagoras” - 01/07/2014
2.27.1. About
2.27.2. Changes in this version
2.28. 1.1.0 - “Pythagoras” - 09/16/2013
2.28.1. About
2.28.2. Changes in this version
2.29. 1.0.1 SR1 - “Zeno” - 09/11/2013
2.29.1. About
2.29.2. Changes in this version
2.30. 1.0.1 - “Zeno” - 07/08/2013
2.30.1. About
2.30.2. Changes in this version
2.31. 1.0.0 - “Zeno” - 06/10/2013
2.31.1. About
2.31.2. Changes in this version
2.32. 0.7.4 - 03/18/2013
2.32.1. Changes in this version
2.33. 0.7.3 - 02/11/2013
2.33.1. Changes in this version
2.34. 0.7.2 - 01/14/2013
2.34.1. Changes in this version
2.35. 0.7.1 - 10/15/2012
2.35.1. Changes in this version
2.36. 0.7.0 - 09/04/2012
2.36.1. Changes in this version
2.37. 0.6.66 - 07/02/2012
2.37.1. Changes in this version
2.38. 0.6.5 - 06/08/2012
2.38.1. Changes in this version
2.39. 0.6.0 - 01/16/2012
2.39.1. Changes in this version
2.40. 0.5.2 - 11/14/2011
2.40.1. Changes in this version
2.41. 0.5.1 - 10/01/2011
2.41.1. Changes in this version
2.42. 0.5.0 - 08/01/2011
2.42.1. Changes in this version
2.43. 0.4.2 - 05/26/2011
2.43.1. Changes in this version
2.44. 0.4.1 - 05/07/2011
2.44.1. Changes in this version
2.45. 0.4.0 - 04/22/2011
2.45.1. Changes in this version
2.46. 0.3.2 - 02/26/2011
2.46.1. Changes in this version
2.47. 0.3.1 - 02/22/2011
2.47.1. Changes in this version
2.48. 0.2.0 - 11/11/2010
2.48.1. Changes in this version
2.49. 0.1.0 - 07/26/2010
2.49.1. Changes in this version
3. Upgrading your QuasarDB installation
3.1. From 3.7 to 3.8
3.1.1. Recommended procedure
3.1.2. Licenses
3.1.3. Client and daemon
3.1.4. Persistence
3.1.5. Network
3.2. From 3.6 to 3.7
3.2.1. Recommended procedure
3.2.2. Client code
3.2.3. Licenses
3.2.4. Persistence
3.2.5. Network
3.3. From 3.5 to 3.6
3.3.1. Recommended procedure
3.3.2. Configuration
3.3.3. Licenses
3.3.4. Persistence
3.3.5. Network
Internals
¶
1. Transactions
1.1. Overview
1.2. Characteristics
1.3. Design
1.4. Batch or transaction
2. Clustering
2.1. What is a Cluster?
2.2. Stabilization
2.3. Adding a Node to a Cluster
2.4. Removing a Node from a Cluster
2.5. Recovering from Node Failure
2.6. Nodes IDs
3. Data Storage
3.1. Where are Entries Stored in the Cluster?
3.2. Where are Entries Stored in a Node?
3.3. Data Migration
3.4. Data replication
3.5. Data trimming
4. Data Transfer
4.1. Designed for Concurrency
4.2. Guarantees
4.3. The Transfer Process
4.4. Failure Cases
4.5. Data Conflicts
5. Change Stream
5.1. Purpose
5.2. Recorded information
5.3. Update types
arrow_back
Previous
14. Show disk usage
Next
arrow_forward
1. Transactions