Skip to content

Commit

Permalink
Dependency packages updated
Browse files Browse the repository at this point in the history
  • Loading branch information
grantcarthew committed Feb 26, 2018
1 parent 4990708 commit bbc8f52
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 80 deletions.
149 changes: 75 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,27 @@ Please __Star__ on GitHub / NPM and __Watch__ for updates.

## Topics

- [Quick Start](#quick-start)
- [Promise API Example](#promise-api-example)
- [Callback API Example](#callback-api-example)
- [Rationale](#rationale)
- [Function](#function)
- [Performance](#performance)
- [Installation](#installation)
- [API](#api)
- [create](#create)
- [createWriteStream](#createWriteStream)
- [createReadStream](#createReadStream)
- [remove](#remove)
- [stat](#stat)
- [exists](#exists)
- [Known Issues](#known-issues)
- [Testing](#testing)
- [About the Owner](#about-the-owner)
- [Contributing](#contributing)
- [History](#history)
- [Credits](#credits)
- [License](#license)
- [Quick Start](#quick-start)
- [Promise API Example](#promise-api-example)
- [Callback API Example](#callback-api-example)
- [Rationale](#rationale)
- [Function](#function)
- [Performance](#performance)
- [Installation](#installation)
- [API](#api)
- [create](#create)
- [createWriteStream](#createWriteStream)
- [createReadStream](#createReadStream)
- [remove](#remove)
- [stat](#stat)
- [exists](#exists)
- [Known Issues](#known-issues)
- [Testing](#testing)
- [About the Owner](#about-the-owner)
- [Contributing](#contributing)
- [History](#history)
- [Credits](#credits)
- [License](#license)

## Quick Start

Expand Down Expand Up @@ -236,31 +236,31 @@ Example with UUID directory and file names:

Other operational points of interest:

- Files are only stored at the bottom of the directory tree.
- The directory used for writing files is determined by the latest creation time (file system birthtime attribute).
- Once the number of files in a directory reaches the `dirWidth` value, the next directory is created.
- Once the number of directories in any directory reaches the `dirWidth` value, the next parent directory is created.
- If the number of directories in the highest directory, being the blob store root, has reached the `dirWidth` value, the `dirWidth` value is ignored.
- Files are only stored at the bottom of the directory tree.
- The directory used for writing files is determined by the latest creation time (file system birthtime attribute).
- Once the number of files in a directory reaches the `dirWidth` value, the next directory is created.
- Once the number of directories in any directory reaches the `dirWidth` value, the next parent directory is created.
- If the number of directories in the highest directory, being the blob store root, has reached the `dirWidth` value, the `dirWidth` value is ignored.

## Performance

### Write

This is an unscientific measurement, however just to get some idea of the write performance I ran a test with the following configuration:

- Virtual Machine with Debian GNU/Linux running on an SSD disk
- File Content: "The quick brown fox jumped over the lazy dog"
- dirDepth: 3
- dirWidth: 1000
- Repeat: 10,000
- Virtual Machine with Debian GNU/Linux running on an SSD disk
- File Content: "The quick brown fox jumped over the lazy dog"
- dirDepth: 3
- dirWidth: 1000
- Repeat: 10,000

With this configuration the following performance was observed:

- Files Created: 10,000
- Total File Size: 40MB
- Total Size on Disk: 9.76GB (ext4 file system)
- Total Time CUID: 115123 milliseconds (115 seconds)
- Total Time UUID: 115743 milliseconds (116 seconds)
- Files Created: 10,000
- Total File Size: 40MB
- Total Size on Disk: 9.76GB (ext4 file system)
- Total Time CUID: 115123 milliseconds (115 seconds)
- Total Time UUID: 115743 milliseconds (116 seconds)

Not surprisingly, this configuration created one top tier directory, one second tier directory, and ten third tier directories.

Expand Down Expand Up @@ -579,8 +579,8 @@ There is an issue in `scalable-blob-store` that I have no work around for as of

There are two possible solutions for this problem:

- A maintenance task to remove empty directories and migrate low numbered directories into other directories. This is not something that `scalable-blob-store` can do and the developer needs to build this.
- A better solution would be to replace the cached blob path (`this.currentBlobPath`) on the 'blobStore' object with a valid path that is not full.
- A maintenance task to remove empty directories and migrate low numbered directories into other directories. This is not something that `scalable-blob-store` can do and the developer needs to build this.
- A better solution would be to replace the cached blob path (`this.currentBlobPath`) on the 'blobStore' object with a valid path that is not full.

For my use case, removal of large numbers of files is unlikely to occur, so my motivation to build a solution for this issue is quite low.

Expand Down Expand Up @@ -659,47 +659,48 @@ See my [other projects on NPM](https://www.npmjs.com/~grantcarthew).

## History

- v3.0.8 [2017-12-22]: Dependency packages updated.
- v3.0.7 [2017-07-28]: Fixed test. Removed mock-fs (now uses /tmp). Dependency packages updated.
- v3.0.6 [2017-05-17]: Dependency packages updated.
- v3.0.5 [2017-03-20]: Dependency packages updated to support Node.js v7.7.3 and mock-fs v4.2.0.
- v3.0.4 [2016-12-05]: Dependency packages updated.
- v3.0.3 [2016-10-10]: Replaced `node-uuid` with `uuid`.
- v3.0.2 [2016-09-20]: Dependency packages updated.
- v3.0.1 [2016-05-05]: Packages updated and minor refactor.
- v3.0.0 [2016-03-07]: Callback support added. createReadStream API changed.
- v2.1.2 [2016-03-05]: Missed duplicate function in tests, removed.
- v2.1.1 [2016-03-05]: Refactored duplicate function in tests.
- v2.1.0 [2016-03-05]: Switched to using the `ES5` build code. Removed Nodejs engine requirements.
- v2.0.10 [2016-03-03]: Dependency packages updated.
- v2.0.9 [2016-02-09]: Added promisifyAll to the fsBlobStore instance. More `return null` statements.
- v2.0.8 [2016-02-09]: Added `return null` after resolve/reject calls to prevent Bluebird warnings.
- v2.0.7 [2016-02-09]: Added `es5dist` for older versions of node. Packages updated.
- v2.0.6 [2016-01-28]: Added failure unit tests.
- v2.0.5 [2016-01-26]: Refactor blob-store.js for minor performance improvement.
- v2.0.4 [2016-01-24]: Minor performance improvements and bug fixes.
- v2.0.3 [2016-01-22]: Added unit tests and minor fix.
- v2.0.2 [2016-01-19]: Added [standard][js-standard-url] to package.json.
- v2.0.1 [2016-01-12]: Minor performance improvements and bug fixes.
- v2.0.0 [2016-01-08]: Added support for [CUID][cuid-url] or [UUID][uuid-url] directory and file names.
- v1.0.1 [2016-01-07]: Last release of v1. Work on v2.0.0 to support cuid.
- v1.0.0 [2016-01-05]: Minor delint and README updates. Bump to v1.0 for future changes.
- v0.4.1 [2015-08-20]: Fix reference error.
- v0.4.0 [2015-08-16]: Changed read and write to createReadStream and createWriteStream.
- v0.3.1 [2015-08-16]: Fix write stream event order.
- v0.3.0 [2015-08-16]: Removed file path function, change of plans.
- v0.2.0 [2015-08-16]: Added file path function.
- v0.1.0 [2015-09-30]: Initial release.
- v3.0.9 [2018-02-26]: Dependency packages updated.
- v3.0.8 [2017-12-22]: Dependency packages updated.
- v3.0.7 [2017-07-28]: Fixed test. Removed mock-fs (now uses /tmp). Dependency packages updated.
- v3.0.6 [2017-05-17]: Dependency packages updated.
- v3.0.5 [2017-03-20]: Dependency packages updated to support Node.js v7.7.3 and mock-fs v4.2.0.
- v3.0.4 [2016-12-05]: Dependency packages updated.
- v3.0.3 [2016-10-10]: Replaced `node-uuid` with `uuid`.
- v3.0.2 [2016-09-20]: Dependency packages updated.
- v3.0.1 [2016-05-05]: Packages updated and minor refactor.
- v3.0.0 [2016-03-07]: Callback support added. createReadStream API changed.
- v2.1.2 [2016-03-05]: Missed duplicate function in tests, removed.
- v2.1.1 [2016-03-05]: Refactored duplicate function in tests.
- v2.1.0 [2016-03-05]: Switched to using the `ES5` build code. Removed Nodejs engine requirements.
- v2.0.10 [2016-03-03]: Dependency packages updated.
- v2.0.9 [2016-02-09]: Added promisifyAll to the fsBlobStore instance. More `return null` statements.
- v2.0.8 [2016-02-09]: Added `return null` after resolve/reject calls to prevent Bluebird warnings.
- v2.0.7 [2016-02-09]: Added `es5dist` for older versions of node. Packages updated.
- v2.0.6 [2016-01-28]: Added failure unit tests.
- v2.0.5 [2016-01-26]: Refactor blob-store.js for minor performance improvement.
- v2.0.4 [2016-01-24]: Minor performance improvements and bug fixes.
- v2.0.3 [2016-01-22]: Added unit tests and minor fix.
- v2.0.2 [2016-01-19]: Added [standard][js-standard-url] to package.json.
- v2.0.1 [2016-01-12]: Minor performance improvements and bug fixes.
- v2.0.0 [2016-01-08]: Added support for [CUID][cuid-url] or [UUID][uuid-url] directory and file names.
- v1.0.1 [2016-01-07]: Last release of v1. Work on v2.0.0 to support cuid.
- v1.0.0 [2016-01-05]: Minor delint and README updates. Bump to v1.0 for future changes.
- v0.4.1 [2015-08-20]: Fix reference error.
- v0.4.0 [2015-08-16]: Changed read and write to createReadStream and createWriteStream.
- v0.3.1 [2015-08-16]: Fix write stream event order.
- v0.3.0 [2015-08-16]: Removed file path function, change of plans.
- v0.2.0 [2015-08-16]: Added file path function.
- v0.1.0 [2015-09-30]: Initial release.

## Credits

Thanks to the following marvelous people for their hard work:

- [Petka Antonov][petka-url] for [bluebird][bluebird-url]
- [Roman Shtylman][defunctzombie-url] for [uuid][uuid-url]
- [Eric Elliot][ericelliott-url] for [cuid][cuid-url]
- [James Halliday][substack-url] for [mkdirp][mkdirp-url]
- [Mathias Buus][mathiasbuus-url] for [fs-blob-store][fsblobstore-url]
- [Petka Antonov][petka-url] for [bluebird][bluebird-url]
- [Roman Shtylman][defunctzombie-url] for [uuid][uuid-url]
- [Eric Elliot][ericelliott-url] for [cuid][cuid-url]
- [James Halliday][substack-url] for [mkdirp][mkdirp-url]
- [Mathias Buus][mathiasbuus-url] for [fs-blob-store][fsblobstore-url]

This list could go on...

Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "scalable-blob-store",
"version": "3.0.8",
"version": "3.0.9",
"description": "A simple local file system blob store that is designed to prevent conflicts when used with a distributed or replicated file system.",
"homepage": "https://github.com/grantcarthew/node-scalable-blob-store",
"author": "Grant Carthew <dev@carthew.net> (http://uglygizmo.blogspot.com.au/)",
Expand Down Expand Up @@ -47,22 +47,22 @@
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-eslint": "^8.0.3",
"babel-eslint": "^8.2.2",
"babel-preset-es2015": "^6.24.1",
"crispy-stream": "^0.1.2",
"del": "^3.0.0",
"moment": "^2.20.1",
"node-dir": "^0.1.17",
"npm-check-updates": "^2.14.0",
"standard": "^10.0.3",
"standard": "^11.0.0",
"tap-spec": "^4.1.1",
"tape": "^4.8.0"
"tape": "^4.9.0"
},
"dependencies": {
"bluebird": "^3.5.1",
"cuid": "^1.3.8",
"cuid": "^2.1.0",
"fs-blob-store": "^5.2.1",
"mkdirp": "^0.5.1",
"uuid": "^3.1.0"
"uuid": "^3.2.1"
}
}

0 comments on commit bbc8f52

Please sign in to comment.