<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentarer till NoSQL &#8211; MySQL och memcached på väg bort</title>
	<atom:link href="http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/feed/" rel="self" type="application/rss+xml" />
	<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/</link>
	<description>En blogg om webbutveckling och entreprenörskap</description>
	<lastBuildDate>Sat, 19 May 2012 09:04:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Av: Marcus Herou</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1752</link>
		<dc:creator>Marcus Herou</dc:creator>
		<pubDate>Wed, 17 Mar 2010 09:28:37 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1752</guid>
		<description>Hej.

Vi utvärderar as we speak Voldemort &amp; Cassandra för vårt bloggdata. Än så länge vinner Cassandra i den utvärderingen av några skäl.

1. Cassandra är en sorterad hash av hashar av hashar, Voldemort är ju en hash
2. Rikare community
3. Lägre latency i lookups och högre throughput
4. Minst sagt skapliga referensimplementationer, Voldemort har ju LinkedIn men FB, Digg &amp; Twitter känns ju tyngre.

Dock ska tilläggas att Voldemort gick snabbare att komma igång med klient-mässigt än Cassandra som java-mässigt har en del att önska. (Hur tex en ColumnPath skapas)

Vi har testat HBase men den är så jäkla fullblown att det är svårt att testa den lokalt på en enda maskin, vilket gör att man blir lite &quot;rädd&quot; för den.

Du behöver:
1 st ZooKeeper (3 i prod)
1 st HBaseMaster
1 st HRegionServer (massor i prod)
1 st HDFS DataNode (massor i prod)
1 st HDFS NameNode (&quot;Brutalt&quot; med minne krävs)

Detta bara för att testa om det överhuvudtaget funkar...

Fast nu när jag skrivit detta så måste jag nog banne mig utvärdera HBase en gång till... Jag gillar ju St.Ack o company.</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/firefox.png" alt="Firefox 3.0.17" title="Firefox 3.0.17"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/gnulinux.png" alt="GNU/Linux " title="GNU/Linux "  height="" width="" /><div id="useragents1752" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.17) Gecko/2010010604 Ubuntu/8.04 (hardy) Firefox/3.0.17</div><p>Hej.</p>
<p>Vi utvärderar as we speak Voldemort &amp; Cassandra för vårt bloggdata. Än så länge vinner Cassandra i den utvärderingen av några skäl.</p>
<p>1. Cassandra är en sorterad hash av hashar av hashar, Voldemort är ju en hash<br />
2. Rikare community<br />
3. Lägre latency i lookups och högre throughput<br />
4. Minst sagt skapliga referensimplementationer, Voldemort har ju LinkedIn men FB, Digg &amp; Twitter känns ju tyngre.</p>
<p>Dock ska tilläggas att Voldemort gick snabbare att komma igång med klient-mässigt än Cassandra som java-mässigt har en del att önska. (Hur tex en ColumnPath skapas)</p>
<p>Vi har testat HBase men den är så jäkla fullblown att det är svårt att testa den lokalt på en enda maskin, vilket gör att man blir lite &#8221;rädd&#8221; för den.</p>
<p>Du behöver:<br />
1 st ZooKeeper (3 i prod)<br />
1 st HBaseMaster<br />
1 st HRegionServer (massor i prod)<br />
1 st HDFS DataNode (massor i prod)<br />
1 st HDFS NameNode (&#8221;Brutalt&#8221; med minne krävs)</p>
<p>Detta bara för att testa om det överhuvudtaget funkar&#8230;</p>
<p>Fast nu när jag skrivit detta så måste jag nog banne mig utvärdera HBase en gång till&#8230; Jag gillar ju St.Ack o company.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Av: Johan Bergström</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1731</link>
		<dc:creator>Johan Bergström</dc:creator>
		<pubDate>Mon, 08 Mar 2010 08:14:46 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1731</guid>
		<description>Memcached är ju en key-value store och är större än någonsin. Det finns en anledning till att en hel uppsjö med mjukvara använder samma protokoll - varför listas den inte bland de andra key-value lagringarna?

Är också intresserad av att höra vilket problem du försöker lösa när du byter bort memcached?</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/chrome.png" alt="Chrome 5.0.342.2" title="Chrome 5.0.342.2"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/windows.png" alt="Windows Vista" title="Windows Vista"  height="" width="" /><div id="useragents1731" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.2 Safari/533.2</div><p>Memcached är ju en key-value store och är större än någonsin. Det finns en anledning till att en hel uppsjö med mjukvara använder samma protokoll &#8211; varför listas den inte bland de andra key-value lagringarna?</p>
<p>Är också intresserad av att höra vilket problem du försöker lösa när du byter bort memcached?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Av: Jonas</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1706</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Mon, 01 Mar 2010 08:38:36 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1706</guid>
		<description>Tack Jens för intressanta kommentarer!

C. Davén: När jag gör sökningar i SQL nu för tiden så söker jag enbart på ID:n för annars så skulle det gå för långsamt. Så därför så är det bara att lagra i KVS på ID och sätta en array där istället exempelvis</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/firefox.png" alt="Firefox 3.6" title="Firefox 3.6"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/windows.png" alt="Windows Vista" title="Windows Vista"  height="" width="" /><div id="useragents1706" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE; rv:1.9.2) Gecko/20100115 Firefox/3.6</div><p>Tack Jens för intressanta kommentarer!</p>
<p>C. Davén: När jag gör sökningar i SQL nu för tiden så söker jag enbart på ID:n för annars så skulle det gå för långsamt. Så därför så är det bara att lagra i KVS på ID och sätta en array där istället exempelvis</p>
]]></content:encoded>
	</item>
	<item>
		<title>Av: Jens</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1705</link>
		<dc:creator>Jens</dc:creator>
		<pubDate>Mon, 01 Mar 2010 07:09:12 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1705</guid>
		<description>Hej igen,

Uppföljning: Erlangs databas &quot;Mnesia&quot; stödjer (tillsammans med &quot;fragmentron&quot;) distribuerad lagring/replikering/fragmentering och kan således göra precis det som Cassandra gör.

C. Davén: Idéen med key-value storages (KVS) är att de är väldigt flexibla och därför är det också svårt att säga exakt hur man ska göra. Vanligtvis brukar man i KVS använda sig av prefix, och nån typ av avdelare (:) för att simulera en tabell i en RDBM:s. Han man t.ex. en tabell med namn, ålder och längd på personer så kan man lika gärna spara denna som:
 = 
person:Calle:length = 2.73
person:Calle:age = 43
person:Arnold:length = 1.43
person:Arnold:age = 34
person:list = &quot;Calle&#124;Arnold&quot;

Anledningen att jag lagt till prefixet &quot;person:&quot; är för att jag senare kanske vill lägga in en annan &quot;tabell&quot; i min KVS. Självklart är det dumt i exemplet ovan om en person har ett namn som innehåller ett kolon.

Redis kan även hantera listor och därför kan person:list istället lagras på formen
person:list = [&quot;Calle&quot;, &quot;Arnold&quot;]

Sist men inte minst så kan du t.ex. själv hålla reda på en lista över alla personer över två meter (index):
person:list_all_above_two = [&quot;Calle&quot;]

Några tankar,
Jens</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/firefox.png" alt="Firefox 3.5.8" title="Firefox 3.5.8"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/gnulinux.png" alt="GNU/Linux " title="GNU/Linux "  height="" width="" /><div id="useragents1705" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8</div><p>Hej igen,</p>
<p>Uppföljning: Erlangs databas &#8221;Mnesia&#8221; stödjer (tillsammans med &#8221;fragmentron&#8221;) distribuerad lagring/replikering/fragmentering och kan således göra precis det som Cassandra gör.</p>
<p>C. Davén: Idéen med key-value storages (KVS) är att de är väldigt flexibla och därför är det också svårt att säga exakt hur man ska göra. Vanligtvis brukar man i KVS använda sig av prefix, och nån typ av avdelare (:) för att simulera en tabell i en RDBM:s. Han man t.ex. en tabell med namn, ålder och längd på personer så kan man lika gärna spara denna som:<br />
 =<br />
person:Calle:length = 2.73<br />
person:Calle:age = 43<br />
person:Arnold:length = 1.43<br />
person:Arnold:age = 34<br />
person:list = &#8221;Calle|Arnold&#8221;</p>
<p>Anledningen att jag lagt till prefixet &#8221;person:&#8221; är för att jag senare kanske vill lägga in en annan &#8221;tabell&#8221; i min KVS. Självklart är det dumt i exemplet ovan om en person har ett namn som innehåller ett kolon.</p>
<p>Redis kan även hantera listor och därför kan person:list istället lagras på formen<br />
person:list = ["Calle", "Arnold"]</p>
<p>Sist men inte minst så kan du t.ex. själv hålla reda på en lista över alla personer över två meter (index):<br />
person:list_all_above_two = ["Calle"]</p>
<p>Några tankar,<br />
Jens</p>
]]></content:encoded>
	</item>
	<item>
		<title>Av: C. Davén</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1704</link>
		<dc:creator>C. Davén</dc:creator>
		<pubDate>Mon, 01 Mar 2010 05:10:37 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1704</guid>
		<description>Känner du till någon bra guide till hur man &quot;tänker i&quot; key-value-databaser istället för relationsdatabaser? Det är ju inte bara att byta och jobba på samma sätt.
.-= C. Davén senaste inl&auml;gg blog ..&lt;a href=&quot;http://www.entreprenord.se/arlighet-varar-langst.html&quot; rel=&quot;nofollow&quot;&gt;Ärlighet varar längst&lt;/a&gt; =-.</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/chrome.png" alt="Chrome 4.0.249.89" title="Chrome 4.0.249.89"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/windows.png" alt="Windows 7" title="Windows 7"  height="" width="" /><div id="useragents1704" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5</div><p>Känner du till någon bra guide till hur man &#8221;tänker i&#8221; key-value-databaser istället för relationsdatabaser? Det är ju inte bara att byta och jobba på samma sätt.<br />
.-= C. Davén senaste inl&amp;auml;gg blog ..<a href="http://www.entreprenord.se/arlighet-varar-langst.html" rel="nofollow">Ärlighet varar längst</a> =-.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Av: Jens</title>
		<link>http://utvbloggen.se/nosql-mysql-och-memcached-pa-vag-bort/comment-page-1/#comment-1703</link>
		<dc:creator>Jens</dc:creator>
		<pubDate>Mon, 01 Mar 2010 04:06:52 +0000</pubDate>
		<guid isPermaLink="false">http://utvbloggen.se/?p=1290#comment-1703</guid>
		<description>Intressant! Tack för länken till rapporten. Den verkar sammanfatta ett mycket spännande område just nu!

Jag och en kollega testade Cassandra för inte särskilt länge sedan. Vi funderade på om det var något att använda skarpt/i produktion. Dock blev vi lite oroade av de stacktraces som Java ibland spottade ur sig ibland, och vi misstänkte att även om Facebook kör det på 600 noder så finns det en anledning varför de samtidigt lagrar informationen på annan plats. Kanske hade vi inte konfigurerat Cassandra korrekt, vad vet jag?

Detta sagt så verkar det upperbarligen som att Cassandra uppfyller Twitters krav - vilket inte är illa(!) - och i annat fall kommer att leda till att Twitter ser till att Cassandra är stabilt som fan. Det verkar ju som att de vill byta ut hela sin MySQL-backend mot det.

För övrigt har jag kikat på det distribuerade programmeringsspråket Erlang de senaste två veckorna och jag tror inte att det verkar väldigt svårt att implementera något likt Cassandra i det... Programmeringsspråket känns nästan som gjort för det. CouchDB, som är skrivet i Erlang, skalar idag inte på bredden men jag såg precis att det ligger i planeringsstadiet: http://wiki.apache.org/couchdb/Partitioning_proposal</description>
		<content:encoded><![CDATA[<img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/net/firefox.png" alt="Firefox 3.5.8" title="Firefox 3.5.8"  height="" width="" /><img src="http://utvbloggen.se/wp-content/plugins/user-agent-displayer/img/24/os/gnulinux.png" alt="GNU/Linux " title="GNU/Linux "  height="" width="" /><div id="useragents1703" style="display:none;direction:rtl;text-align:left;"><b>User Agent:</b> Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8</div><p>Intressant! Tack för länken till rapporten. Den verkar sammanfatta ett mycket spännande område just nu!</p>
<p>Jag och en kollega testade Cassandra för inte särskilt länge sedan. Vi funderade på om det var något att använda skarpt/i produktion. Dock blev vi lite oroade av de stacktraces som Java ibland spottade ur sig ibland, och vi misstänkte att även om Facebook kör det på 600 noder så finns det en anledning varför de samtidigt lagrar informationen på annan plats. Kanske hade vi inte konfigurerat Cassandra korrekt, vad vet jag?</p>
<p>Detta sagt så verkar det upperbarligen som att Cassandra uppfyller Twitters krav &#8211; vilket inte är illa(!) &#8211; och i annat fall kommer att leda till att Twitter ser till att Cassandra är stabilt som fan. Det verkar ju som att de vill byta ut hela sin MySQL-backend mot det.</p>
<p>För övrigt har jag kikat på det distribuerade programmeringsspråket Erlang de senaste två veckorna och jag tror inte att det verkar väldigt svårt att implementera något likt Cassandra i det&#8230; Programmeringsspråket känns nästan som gjort för det. CouchDB, som är skrivet i Erlang, skalar idag inte på bredden men jag såg precis att det ligger i planeringsstadiet: <a href="http://wiki.apache.org/couchdb/Partitioning_proposal" rel="nofollow">http://wiki.apache.org/couchdb/Partitioning_proposal</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

