Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 74 lines (57 sloc) 2.602 kB
fbd0f95 @jkreps Initial import
jkreps authored
1 Getting Started
2
9bb13d7 @jkreps Add page for swapping data files for read only stores.
jkreps authored
3 For the most up-to-date information see http://project-voldemort.com
4
fbd0f95 @jkreps Initial import
jkreps authored
5 ## checkout and build
6 jkreps@jkreps-md:/tmp > svn co svn+ssh://cm01.corp/lirepo/voldemort/trunk voldemort
7 jkreps@jkreps-md:/tmp > cd voldemort
8 jkreps@jkreps-md:/tmp/voldemort > ant
9
10 ## start single node cluster and connect to table named ÒtestÓ
11 jkreps@jkreps-md:/tmp/voldemort > ./bin/voldemort-server.sh config/single_node_cluster &
12 jkreps@jkreps-md:/tmp/voldemort> ./bin/voldemort-shell.sh test tcp://localhost:6666
13
14 ## run some random commands to put and get strings
15 > help
16 Commands:
17 put key value -- Associate the given value with the key.
18 get key -- Retrieve the value associated with the key.
19 delete key -- Remove all values associated with the key.
20 locate key -- Determine which servers host the give key.
21 help -- Print this message.
22 exit -- Exit from this shell.
23 > put "hello" "there"
24 > get "hello"
25 version(0:1): "there"
26 > locate "hello"
27 Node 0
28 host: localhost
29 port: 6666
30 available: yes
31 last checked: 4614 ms ago
32
33 Example usage in example/java/voldemort/example/VoldemortExample.java.
34 Example configurations in config/
35
36
37 Code layout
38
39 annotations - Helper annotations
40 client - Code specific to the client
41 cluster - domain model for a voldemort cluster
42 routing - Code specific to routing requests
43 serialization - Code for turning bytes into objects and vice versa
44 server - Code for handling client requests
45 store - All the store implementations used by both client and server
46 utils - Helpers!
47 versioning - Vector clock stuff
48 xml - Code for serializing the configuration data...should probably be move to serialization
49
50
51 Background Resources
52
53 - Amazon Dynamo Paper -- http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf
54 - http://www.allthingsdistributed.com/2007/12/eventually_consistent.html
55 - OpenDHT and Bamboo papers
56 - BDB Performance: http://www.oracle.com/technology/products/berkeley-db/pdf/berkeley-db-perf.pdf
57 - Origin of vector clocks: http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf
9bb13d7 @jkreps Add page for swapping data files for read only stores.
jkreps authored
58 - Brewer's conjecture: http://citeseer.ist.psu.edu/544596.html
59
c49df1b @jkreps Add support for protocol buffers based network format. Add new client…
jkreps authored
60 Current build is from r19
61
62
63 Supporting other clients
64 - Each store is available via all protcols, they are seperated by port
65 - Wire format vs. protocol (HTTP vs. Tcp/IP), protocol buffers
66 - How to abstract wire format?
67 - A given serialization type may or may not be supported by the client language
68
69 Socket servers share threadpool?
70
71 A WireProtocol takes bytes and creates a voldemort request, and takes objects to create a voldemort response.
72 Likewise the client does the opposite
73
74 Connector.handleRequest()
Something went wrong with that request. Please try again.