/[storm]/storm/README
ViewVC logotype

Diff of /storm/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by tuukkah, Fri May 2 16:21:52 2003 UTC revision 1.3 by benja, Sun May 4 19:57:26 2003 UTC
# Line 1  Line 1 
1    =========================
2  Storm - permanent storage  Storm - permanent storage
3    =========================
4    
5    
6    The Storm (STORage Module) library provides an alternative
7    to traditional file-based storage. Storm stores data
8    in *blocks*. A block is like a file but it cannot be changed,
9    and instead of a file name it is identified by a
10    cryptographic content hash, like this::
11    
12        nkownd7c3yvtk2ll7b3c7m2abg25etb3.3ghrsnouwddhjm4uh6vv4qk6yvdaw46o2jvsmxq
13    
14    A content hash is a number computed from the content
15    of a block. In practice it's impossible to find two blocks
16    with the same hash (as long as the algorithm isn't broken).
17    
18    Don't worry about the 'cannot be changed' part. You can create
19    a *reference* that can point to different blocks over time.
20    (However, while we used to have an implementation of this,
21    this is unimplemented currently; stay tuned.)
22    
23    Here are a few reasons why you would want to use this
24    instead of files:
25    
26    - When you make a new version of something, the old one
27      doesn't get overwritten. The new version has a new
28      'name' (content hash).
29    - You can check whether the content of a block matches
30      its id. If you download a block from somewhere, you
31      can check you got the correct data.
32    - Thus, it doesn't matter where you find a block. No matter
33      if it's on your harddisk, sent to you by e-mail, stored
34      in your Web cache, or downloaded from the Web.
35    - You don't have to store a block twice, even if you
36      use it in different places. For example, an image used
37      in many different documents would only need to be
38      stored once.
39    - Network transparency: When you have a block locally,
40      your computer can use it; when you don't, your computer
41      can go find it on the 'net. (Or on another one of your
42      machines, if the computer you're currently using
43      is connected to them.)
44    - When you're offline, any blocks stored on your computer--
45      or a computer connected to it-- can be used just as if
46      you were online.
47    
48    We are building a P2P system that allows you to find and
49    download a block if *anybody* on the 'net publishes it.
50    So when the original site is down, or the content
51    was removed from it, you can still download
52    
53  Storm (STORage Module) system provides a permanent data store. Data is  Don't worry that accidentally, there may be two *different*
54  stored in immutable blocks, which can be retrieved by an identifier based  blocks with the *same* hash floating around on the Internet.
55  on the content of the block. Unlike files, blocks don't have names and their  In theory it *could* happen. In practice, the number of
56  location doesn't affect their identity.  possible hashes is about an octillion times larger than the
57    estimated number of atoms in the universe. We suggest that
58    you worry about something more likely instead, like, say,
59    the destruction of Earth through an asteroid ;-)
60    
61  Storm software can:  Storm software can:
62  - import files as Storm blocks  - import files as Storm blocks

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26