From 5359a0a291f7f2bd3da175c196ebe4e21b110984 Mon Sep 17 00:00:00 2001 From: Roshan Sumbaly Date: Wed, 13 Jul 2011 20:55:52 -0700 Subject: [PATCH] a) Updated Voldemort logo (b) Added some more information --- fang/images/bg.jpg | Bin 52665 -> 0 bytes fang/index.html | 52 ---------------------- push-javadoc.sh | 9 +++- voldemort/configuration.php | 9 +++- voldemort/design.php | 2 +- voldemort/images/vold-logo-small.png | Bin 4705 -> 0 bytes voldemort/images/voldemort_logo.png | Bin 0 -> 13468 bytes voldemort/images/voldemort_logo_small.png | Bin 0 -> 8927 bytes voldemort/includes/project_info.php | 9 ++-- 9 files changed, 22 insertions(+), 59 deletions(-) delete mode 100644 fang/images/bg.jpg delete mode 100644 fang/index.html delete mode 100644 voldemort/images/vold-logo-small.png create mode 100644 voldemort/images/voldemort_logo.png create mode 100644 voldemort/images/voldemort_logo_small.png diff --git a/fang/images/bg.jpg b/fang/images/bg.jpg deleted file mode 100644 index 66cb5c960eee41abc487a8c83329e54d95fa3893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52665 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

_#x2;{-EClZ^3B`e+c6{ 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�dn*K_ozZ4G_e3X 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 - - - - Congratulations! - - - -

-

Congratulations!

-

For your magical puzzle-solving abilities, you are cordially invited to a fireside chat with Reid Hoffman, founder of LinkedIn.

- » RSVP « -
- - \ No newline at end of file diff --git a/push-javadoc.sh b/push-javadoc.sh index 2e9da13..cfe3147 100755 --- a/push-javadoc.sh +++ b/push-javadoc.sh @@ -1,3 +1,10 @@ #!/bin/bash -rsync -r --progress --cvs-exclude --delete --archive /Users/jkreps/workspace/voldemort/docs/javadoc empathybox@empathybox.com:/home/empathybox/project-voldemort.com/ \ No newline at end of file +if [ $# -lt 1 ]; then + echo $0 location-of-javadoc + exit 1 +fi + +echo Pushing $1... + +rsync -r --progress --cvs-exclude --delete --archive $1 snateam@sna-projects.com:/home/empathybox/sna-projects.com/voldemort/javadoc diff --git a/voldemort/configuration.php b/voldemort/configuration.php index a90a1f5..4e6e6ee 100644 --- a/voldemort/configuration.php +++ b/voldemort/configuration.php @@ -48,10 +48,17 @@ </cluster> +

One thing that is important to understand is that partitions are not static partitions of servers, but rather they are a mechanism for partitioning the key space in such a way that each key is statically mapped to a particular data -partition. What this means is that a particular cluster may support many stores each with different replication factors—the replication factor is not hardcoded in the cluster design. This is important, since some data is more important than other data, and the correct trade-off between performance and consistency for one store may be different from another store. The number of data partitions cannot be changed. Online redistribution of data is not yet supported, but this provides the mechanism by which it will work when it is. Partitions will be moved to the new servers (or rebalanced between servers), but the total number of partitions will always remain the same, as will the mapping of key to partition. This means it is important to give a good number of partitions to start with. The script test/integration/generate_partitions.py will generate this part of the config for you. +partition. What this means is that a particular cluster may support many stores each with different replication factors—the replication factor is not hardcoded in the cluster design. This is important, since some data is more important than other data, and the correct trade-off between performance and consistency for one store may be different from another store. +

+

+Another important point to remember is that the number of data partitions cannot be changed. We do support an online redistribution ( rebalancing ) of partitions. In other words inclusion of new nodes results in moving ownership of partitions, but the total number of partitions will always remain the same, as will the mapping of key to partition. This means it is important to give a good number of partitions to start with. The script here will generate this part of the config for you. +

+

Note that the configuration is currently simple files so it is important that the data in cluster.xml and stores.xml be exactly the same on each server, and that the node ids and partitions not be changed, since that can mean that clients will think their data should be on node X when really it was stored on node Y. This limitation will be removed as the configuration is moved into voldemort itself. +

Store configuration

diff --git a/voldemort/design.php b/voldemort/design.php index c33affc..7fe7f11 100644 --- a/voldemort/design.php +++ b/voldemort/design.php @@ -305,7 +305,7 @@

We use versioning and read-repair. This has a the best availability guarantees, and the highest efficiency (only W writes network roundtrips are required for N replicas where W can be configured to be less than N). 2PC typically requires 2N blocking roundtrips. Paxos variations vary quite a bit but are comparable to 2PC.

-

Many of the specifics are borrowed from the Amazon paper below

+

Another approach to reach consistency is by using Hinted Handoff. In this method during writes if we find that the destination nodes are down we store a "hint" of the updated value on one of the alive nodes. Then when these down nodes come back up the "hints" are pushed to them thereby making the data consistent. Many of the specifics are borrowed from the Amazon paper below

Here are some good write-ups on this subject:

diff --git a/voldemort/images/vold-logo-small.png b/voldemort/images/vold-logo-small.png deleted file mode 100644 index a12a0a7c20be6264b8eee4703216dce8803a963a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4705 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 literal 0 HcmV?d00001 diff --git a/voldemort/images/voldemort_logo_small.png b/voldemort/images/voldemort_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..24143aeac0798e3c4a5e95c9807734d062243da5 GIT binary patch literal 8927 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 literal 0 HcmV?d00001 diff --git a/voldemort/includes/project_info.php b/voldemort/includes/project_info.php index 3544a23..8f3c39d 100644 --- a/voldemort/includes/project_info.php +++ b/voldemort/includes/project_info.php @@ -12,9 +12,12 @@ $PROJ_KEYWORDS = "Project Voldemort, Voldemort, key-value storage, distributed storage, Amazon Dynamo, persistence, scalability"; /* Favicon image file location and type */ - $PROJ_FAVICON_PATH = "http://project-voldemort.com/images/vold-logo-small.png"; + $PROJ_FAVICON_PATH = "images/voldemort_logo_small.png"; $PROJ_FAVICON_MIME = "image/png"; + /* Project icon in header */ + $PROJ_ICON_PATH = "images/voldemort_logo.png"; + /* Navigation links in the sidebar */ $PROJ_NAV_LINKS = array( "quickstart" => "quickstart.php", @@ -24,12 +27,10 @@ "download" => "http://github.com/voldemort/voldemort/downloads", "snapshot build" => "http://test.project-voldemort.com:8080/job/voldemort-master", "configuration" => "configuration.php", - "client javadoc" => "/javadoc/client", - "all javadoc" => "/javadoc/all", + "javadoc" => "/javadoc/all", "developer info" => "developer.php", "fun projects" => "http://wiki.github.com/voldemort/voldemort/fun-projects", "performance" => "performance.php", - "unit tests" => "http://test.project-voldemort.com:8080", "bugs" => "http://code.google.com/p/project-voldemort/issues", "wiki" => "http://wiki.github.com/voldemort/voldemort");