Bucket (computing)
In computing, the term bucket can have several meanings. It is used both as a live metaphor, and as a generally accepted technical term in some specialised areas. A bucket is most commonly a type of data buffer or a type of document in which data is divided into regions.
Features of a bucket
Various usages relate to different features. There is no usage that is consistent with every one of these features.
- The contents of a bucket are unsorted.
- A bucket has a fixed size, which is determined when it is created.
- A bucket has a limited number of states:
- It may be empty.
- It may be non-empty. Some usages further distinguish:
- It may be partly full.
- It may be full. Some usages further distinguish:
- It may be exactly full.
- It may be overflowing.
Types of bucket
Bit bucket
This is a humorous but common phrase. Something goes into the bit bucket when it is deleted, generally irreversibly and quite often wrongly, such as files or emails that just disappear.
It has been commonly suggested that this usage dates from the days when punched cards and/or punched tape were common. Card and paper-tape punches each had a receptacle for the 'chips' punched from the cards or tape to create the holes (rectangular in a card, round in a paper tape), which often looked like a bucket and was known by this name. By analogy it was jokingly suggested that the CPU, which in those days was an equipment rack of similar size to a large peripheral unit, contained a similar receptacle for lost data.
Documentation bucket
A bucket is a document of no definite size to which information of interest is added with no structure. Many software packages have a README file which is a bucket containing the very latest information. In IBM culture, such a file is known as a bucket and is opened for critical fixes and fix packages.
Bucket (buffer)
Buffers known as buckets are used:
- In the bucket sort algorithm.
- In bucket elimination algorithms.
- In the token bucket (TB) algorithm for network traffic shaping.
- In the leaky bucket (LB) algorithm for network traffic shaping.
- In bucket brigade algorithms.