Commit Graph

48 Commits (32c9f9e92948460d6bf21933e0bacb61a1e02cf3)

Author SHA1 Message Date
Anthony Romano 32c9f9e929 pass unused 2017-08-10 22:07:25 -07:00
Anthony Romano e5514a24a6 pass gosimple 2017-08-10 22:07:25 -07:00
Gyu-Ho Lee a30394a020 *: update git paths to 'coreos/bbolt' 2017-07-27 14:58:03 -07:00
Sebastian 4660afd75e hexidecimal -> hexadecimal
Small spelling fix :)
2017-01-28 10:26:39 +01:00
Ben Johnson e72f08ddb5 Merge pull request #561 from zhujun2006/master
task#560 print leaf k/v with right value
2016-09-06 14:09:29 -06:00
Ben Johnson f5d275b537
Minor bolt compact revisions 2016-09-05 15:43:02 -06:00
Ben Johnson 52d0f5e6a9
Merge branch 'compact-db' of https://github.com/vincent-petithory/bolt into vincent-petithory-compact-db 2016-09-01 14:47:06 -06:00
stone1342006 60fbb2c9fa task#560 print leaf k/v with right value 2016-05-18 22:56:05 +08:00
Rodolfo Carvalho 10b100fe0f Fix `bolt stats` output 2015-12-05 19:56:31 +01:00
Vincent Petithory 3279c88f26 compact: allow splitting transactions for large datasets 2015-11-19 19:18:07 +01:00
Vincent Petithory 575904ae85 cli: add compact command
compact rewrites a bolt db, recursively walking its keys
  in byte order.
2015-11-19 19:18:07 +01:00
Artyom Pervukhin 8547e9ef2f Fix invalid fmt.Fprintln/Errorf calls
`go vet` discovered two calls of Fprintln with trailing newline and one
Errorf call without proper format string.
2015-08-11 11:35:43 +03:00
Xiang Li 71f28eaecb cmd/bolt: remove duplicate blockProfile flag 2015-04-22 21:37:22 -07:00
Ben Johnson 73a3aa1ccc Add 'bolt page' command. 2015-04-17 13:28:32 -06:00
Ben Johnson 3ad30436da Add 'bolt dump' command. 2015-04-16 11:13:34 -06:00
Ben Johnson dd542876fa Add improved CLI documentation. 2015-04-15 15:21:50 -06:00
Ben Johnson d0e8a99e30 Refactor bolt CLI. 2015-04-14 16:32:20 -06:00
Ben Johnson 3b449559cf Add --path to bolt bench. 2015-04-12 09:36:45 -06:00
Ben Johnson ea7ace2f62 Remove 'import' and 'export' CLI commands.
The import and export commands are a relic of early Bolt when the file
format was not stable. If the file format changed then users could export
their old data and import it into a new database with a new format.

The Bolt DB file format is stable and will not change so this command is no
longer needed.

Thanks to Alejandro Gaviria for pointing this out.
2015-01-08 15:03:55 -07:00
Ben Johnson 048d3f19b2 Add DB.NoSync option for bulk loading.
This commit adds the DB.NoSync flag to skip fsync() calls on each commit. This should only
be used for bulk loading as it can corrupt your database in the event of a system failure.

Initial tests show it can provide a 2x speed up for sequential inserts.
2014-07-15 07:37:46 -06:00
Ben Johnson 754966bea0 Optimize Tx.Check().
This commit removes several memory allocations occurring on every page and also caches the freelist map used when iterating over the pages. This results in significantly better performance.
2014-05-28 12:50:48 -06:00
Ben Johnson a1873dd6f6 Add option to adjust fill percentage.
This commit adds the ability to adjust the fill percentage for splitting nodes. This
works by setting a threshold that is a percentage of a total page size. When that
threshold is crossed during a split then a new node is created.

This is primarily beneficial for append-only workloads.

Fixes #163.
2014-05-15 14:04:57 -06:00
Ben Johnson a6d6d964b6 Merge pull request #162 from Shopify/nested_stats2
Recursive/aggregate bucket stats
2014-05-14 12:20:46 -06:00
Ben Johnson b5ae095a87 Add -work flag to 'bolt bench'.
This commit adds a 'work' flag to the bolt bench utility so that databases
generated by the bench CLI can be saved for analysis.
2014-05-12 15:34:07 -06:00
Martin Kobetic c4ad027df7 aggregate bucket stats recursively and add stats to cmd 2014-05-09 20:50:58 +00:00
Martin Kobetic b9899d09ab first part 2014-05-09 20:50:55 +00:00
Ben Johnson 50e04a29ae Add 'bolt info'. 2014-05-08 08:43:18 -06:00
Ben Johnson c22d2e03bc Remove 'bolt set'.
This commit removes the 'set' command in the Bolt CLI. It proved to not be very useful
so there's no point in keeping the extra code around.
2014-05-05 07:48:45 -06:00
Ben Johnson d48c4a20be Add streaming stats to bolt bench.
This commit adds -stats-interval to the 'bolt bench' utility. By setting this argument
to an interval greater than 0s, the benchmark tool will output stats as streaming JSON.
This data can, in turn, be graphed to understand performance over time.
2014-04-30 12:27:54 -06:00
Ben Johnson 2bfb1b3db5 Merge branch 'bench-batch' into moar_bench
Conflicts:
	cmd/bolt/bench.go
2014-04-30 12:00:39 -06:00
Ben Johnson 6854ca415f Remove bolt bench -stat. 2014-04-30 11:55:08 -06:00
Ben Johnson cabb44e01f Add --batch-size to 'bolt bench'.
This commit adds a --batch-size CLI argument to the 'bolt bench' tool.
This argument will insert into Bolt in smaller batches which is a more
typical use case.

/cc @snormore
2014-04-29 12:36:42 -06:00
Martin Kobetic d9e7e0257b add -stats and -batch-size support to bench cmd 2014-04-24 16:30:39 -04:00
Ben Johnson a42d74da7e Add 'bolt bench'.
This commit adds a flexible benchmarking tool to the 'bolt' CLI. It allows
the user to separately specify the write mode and read mode (e.g. sequential
random, etc). It also allows the user to isolate profiling to either the
read or the writes.

Currently the bench tool only supports "seq" read and write modes. It also
does not support streaming of Bolt counters yet.

Fixes #95.

/cc @snormore
2014-04-18 22:15:31 -05:00
Steven Normore 97bd718b02 add benchmarks using Benchmark framework 2014-04-18 21:44:36 -05:00
Steven Normore fdde1bcb06 moar bench package 2014-04-18 21:44:27 -05:00
Steven Normore 6957c9d534 initial bench and generate command structure 2014-04-18 21:44:27 -05:00
Ben Johnson e6b5fdc30e Add import/export to CLI.
This commit adds two new commands:

    bolt import --input INPUT PATH
    bolt export PATH

This exports the database in a simple, nested, key/value JSON document.
Each node in the document has a "key", a "value", and an optional "type".
The key and value fields are both base64 encoded.
2014-04-11 14:05:58 -06:00
Steven Normore 38b69be680 add ldflags on build with main.commit and main.branch to Makefile 2014-04-09 11:51:43 +00:00
Ben Johnson 7f2de9f17a Add DB.Check(). 2014-03-29 14:22:32 -06:00
Ben Johnson fea388b03d Refactor bolt commands into individual files. 2014-03-27 22:36:05 -06:00
Ben Johnson f8ad21bad3 Make DB/Tx API more consistent.
I consolidated the DB.Tx() and DB.RWTx() calls into a single
DB.Begin(writable bool) call. This is more consistent with the
database/sql library.

I also changed the DB.Do() and DB.With() call to DB.Update() and
DB.View(), respectively. This is more intuitive and more inline with
other database verbiage.
2014-03-24 11:43:06 -06:00
Ben Johnson 4f4e15e6dd Fix print. 2014-03-21 23:07:46 -06:00
Ben Johnson 845a4d47ce Add 'bolt buckets'. 2014-03-21 22:56:17 -06:00
Ben Johnson 64a52452d3 Add 'bolt set'. 2014-03-21 22:51:22 -06:00
Ben Johnson 0e4d77d424 Add 'bolt pages'. 2014-03-21 22:34:54 -06:00
Ben Johnson 8fa6531b1c Add 'bolt keys'. 2014-03-21 22:05:28 -06:00
Ben Johnson e8d3ae6287 Add 'bolt get'. 2014-03-21 22:00:34 -06:00