influxdb/Cargo.toml

116 lines
2.5 KiB
TOML
Raw Normal View History

[package]
name = "delorean"
version = "0.1.0"
authors = ["Paul Dix <paul@pauldix.net>"]
edition = "2018"
default-run = "delorean"
[workspace]
members = [
"delorean_generated_types",
"delorean_ingest",
"delorean_line_parser",
2020-05-29 15:06:06 +00:00
"delorean_object_store",
"delorean_parquet",
"delorean_table",
"delorean_table_schema",
"delorean_test_helpers",
"delorean_tsm",
"delorean_wal",
"influxdb2_client",
]
[profile.release]
debug = true
[dependencies]
delorean_generated_types = { path = "delorean_generated_types" }
delorean_ingest = { path = "delorean_ingest" }
delorean_line_parser = { path = "delorean_line_parser" }
delorean_parquet = { path = "delorean_parquet" }
delorean_table = { path = "delorean_table" }
delorean_table_schema = { path = "delorean_table_schema" }
delorean_wal = { path = "delorean_wal" }
2020-05-29 15:06:06 +00:00
delorean_object_store = { path = "delorean_object_store" }
delorean_tsm = { path = "delorean_tsm" }
2020-02-14 18:02:39 +00:00
bytes = "0.5.4"
integer-encoding = "1.0.7"
2020-02-13 18:07:29 +00:00
hyper = "0.13"
tokio = { version = "0.2", features = ["full"] }
async-trait = "0.1.40"
clap = "2.33.1"
2020-02-14 16:32:08 +00:00
dotenv = "0.15.0"
dirs = "2.0.2"
env_logger = "0.7.1"
2020-02-13 18:07:29 +00:00
log = "0.4.8"
futures = "0.3.1"
serde_json = "1.0.44"
serde = { version = "1.0", features = ["derive"] }
csv = "1.1"
byteorder = "1.3.4"
num_cpus = "1.11.1"
2020-04-05 20:35:00 +00:00
tonic = "0.2.0"
2020-02-14 16:39:59 +00:00
prost = "0.6.1"
prost-types = "0.6.1"
tracing = "0.1"
tracing-futures="0.2.4"
crc32fast = "1.2.0"
num = "0.2.1"
# using croaring here because we needed Treemap support for u64
# for series ids and we needed serialization, which the pure Rust
# crate didn't offer.
croaring = "0.4.5"
2020-02-13 18:07:29 +00:00
http = "0.2.0"
serde_urlencoded = "0.6.1"
snafu = "0.6.2"
either = "1.5.3"
2020-04-24 14:36:59 +00:00
flatbuffers = "0.6.1"
libflate = "1.0.0"
feat: Initial prototype of WriteBuffer and WAL (#271) This is the initial prototype of the WriteBuffer and WAL. This does the following: * accepts a slice of ParsedLine into the DB * writes those into an in memory structure with tags represented as u32 dictionaries and all field types supported * persists those writes into the WAL as Flatbuffer blobs (one WAL entry per slice of lines written, or WriteBatch) * has a method to return a table from the buffer as an Arrow RecordBatch * recovers the WAL after the database is closed and opened back up again * has a single test that covers the end-to-end from the DB side * It doesn't include partitioning yet. Although the write_lines method does actually try to do partitions on time. That'll get changed to be something more general defined by a per database configuration. * hooked up to the v2 HTTP write API * hooked up to a read API which will execute a SQL query against the data in the buffer This includes a refactor of the WAL: Refactors the WAL to remove async and threading so that it can be moved higher up. This simplifies the API while keeping just about the same amount of code in ParitionStore to handle the asynchronous writes. This also modifies the WAL to remove the SideFile implementation, which was causing significant performance problems and write amplification. The downside is that WAL writes are no longer guarranteed atomic. Further, this modifies the WAL to keep the active segement file handle open. Appends now don't have to list the directory contents and look for the latest file and open the file handle to do appends, which should also improve performance and reduce iops.
2020-09-08 18:12:16 +00:00
arrow = { git = "https://github.com/apache/arrow.git", rev = "62dfa114d6683172927fab40fa6c4ddabae8fef4"}
string-interner = "0.12.0"
chrono = "0.4"
sqlparser = "0.6.1"
datafusion = { git = "https://github.com/apache/arrow.git", rev = "62dfa114d6683172927fab40fa6c4ddabae8fef4" }
[dev-dependencies]
assert_cmd = "1.0.0"
criterion = "0.3"
delorean_test_helpers = { path = "delorean_test_helpers" }
hex = "0.4.2"
influxdb2_client = { path = "influxdb2_client" }
libflate = "1.0.0"
rand = "0.7.2"
reqwest = "0.10.1"
predicates = "1.0.4"
tempfile = "3.1.0"
[[bench]]
name = "encoders"
2020-02-07 13:26:50 +00:00
harness = false
[[bench]]
name = "line_parser"
harness = false
2020-07-02 16:39:05 +00:00
[[bench]]
name = "mapper"
harness = false
[[bench]]
name = "line_protocol_to_parquet"
harness = false
2020-07-30 11:54:51 +00:00
[[bench]]
name = "packers"
harness = false