Download the PHP package p3k/quartz-db without Composer
On this page you can find all versions of the php package p3k/quartz-db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download p3k/quartz-db
More information about p3k/quartz-db
Files in p3k/quartz-db
Package quartz-db
Short Description A flat-file database optimized to hold time-series data.
License Apache-2.0
Informations about the package quartz-db
QuartzDB
A flat-file database optimized to hold time-series data.
When should I use this?
Some great uses for QuartzDB:
- Storing GPS logs (just store your records as GeoJSON!)
- Storing chat logs from IRC, Slack, SMS or iMessage, etc
- Storing sensor logs from IoT devices, such as in-house environment sensors
You should use this if...
- ... you believe text files are easier to back up and keep multiple copies of
- ... you believe text files are more likely than binary database files to last long-term
API
Adding Records
This will add the entry always to the end of the appropriate file, since it is expected that data will be inserted in order. If you need to insert out of order, you can run the maintenance task to re-sort the date's file when needed.
Querying
Range
Last n records
Single Record
Maintenance
Filesystem
One file per day.
The base path of the database contains a "data" folder and "index" folder.
Files contain one record per line, separated by newlines. The first 26 characters are the date with microsecond precision, followed by a space, followed by the JSON record.
The ".meta" files are for storing information about the data file. Currently the only thing in the meta file is line 1 contains the number of lines in the data file.
There is also a file in the root of the data folder containing the date of the last date seen. This is for quickly retrieving the last n records in the database without having to search the filesystem for all files.
License
Copyright 2015-2017 by Aaron Parecki
QuartzDB is licensed under the Apache 2.0 license