Skip to content

Update GridFS docs#814

Merged
dr-dimitru merged 4 commits intoveliovgroup:devfrom
Prinzhorn:patch-1
Jun 8, 2022
Merged

Update GridFS docs#814
dr-dimitru merged 4 commits intoveliovgroup:devfrom
Prinzhorn:patch-1

Conversation

@Prinzhorn
Copy link
Copy Markdown
Contributor

As far as I understand the following statement is incorrect and does not make sense:

In a larger app we will need lots of buckets in order to horizontally scale.

The number of buckets has nothing to do with scaling per se. If you store images you need an image bucket. If you store documents as well you can have a second bucket for documents. This is just the way files are organized (e.g. S3 also calls the highest level a bucket, which has keys of files). Or you could have a bucket per user or domain I guess. That's just the way files are organized. Even if you throw every file in a single bucket scaling via sharding is unaffected.

Or am I missing something? I'm just getting started with Meteor-Files and found this part of the GridFS docs confusing.

dr-dimitru and others added 4 commits February 5, 2021 00:16
v2.0.0

Major update is out 🎉

__Major changes__:

- ⚠️ __[Deprecated]__ `streams` of `.insert()` method;
- ☝️ `http` module raplcaed with `fetch` — *As suggested* in `meteor@2.0.0` release and `http` package being deprecated;
- ☝️ `request-libcurl` replaced with `fetch` — As a fix for veliovgroup#781 and similar issues;
- ⚠️ __[removed]__ `file-type` library used to detect file-type (*file's mime-type*) based on "magic numbers". Now mime-type detected from data supplied by browser. __Regresion possible *upgrade with care* if your app rely on mime-type detected after file is fully uploaded to server, this change won't affect mime-type detected on the *Client* before file fully loaded to server__.

__Improved__:

- Pause/Resume logic when connection with server is interrupted (*no more missed chunks*);
- Chunks deliverability, including retries if chunk was sent only partially.

__Other changes__:

- 🤝 Compatibility with `meteor@2.0.0`;
- 📦 `ostrio:cookies@2.7.0`, *was `v2.6.1`*;
- 📦 `fs-extra@9.1.0`, *was `v9.0.1`*;
- 🖥 Update, refactor, and refine [demo app](https://github.com/veliovgroup/meteor-files-website);
- 👨‍💻 Update [`meteor-files-autoform`](https://github.com/VeliovGroup/meteor-autoform-file) package;
- 📋 Documentation refactoring.
v2.0.1

__New:__
- ✨ `config.disableSetTokenCookie` see veliovgroup#776 and veliovgroup#778 for details, thanks to @Kaczkazniszczenia

__Changed:__
- 👨‍💻 Abort http-fetch requests when calling `.abort()`;
- 👨‍💻 Make sure no other/delayed requests/responses executed;
@jankapunkt
Copy link
Copy Markdown
Collaborator

I totally agree with your comment, that buckets are rather used to organize than to scale but then please add this to your PR because otherwise nobody knows why they should use buckets at all

@Prinzhorn
Copy link
Copy Markdown
Contributor Author

because otherwise nobody knows why they should use buckets at all

I think the first section explains what a bucket is quite well and links to the GridFSBucket docs

This example shows how to handle (store, serve, remove) uploaded files via GridFS. The Javascript Mongo driver (the one that Meteor uses under the hood) allows to define so called "Buckets".

The Buckets are basically named collections for storing the file's metadata and chunkdata. This allows to horizontally scale your files the same way you do with your document collections.

@dr-dimitru dr-dimitru merged commit 1e59c2b into veliovgroup:dev Jun 8, 2022
@Prinzhorn Prinzhorn deleted the patch-1 branch June 9, 2022 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants