<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Иван Бегтин &#187; couchdb</title>
	<atom:link href="http://ivan.begtin.name/category/couchdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://ivan.begtin.name</link>
	<description>Открытые данные, открытое государство</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:32:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ссылки на 13.08.2009: Безсхемные базы данных (schema-less)</title>
		<link>http://ivan.begtin.name/2009/08/13/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-13-08-2009-%d0%b1%d0%b5%d0%b7%d1%81%d1%85%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-schema-less/</link>
		<comments>http://ivan.begtin.name/2009/08/13/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-13-08-2009-%d0%b1%d0%b5%d0%b7%d1%81%d1%85%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-schema-less/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 09:39:37 +0000</pubDate>
		<dc:creator>ivbeg</dc:creator>
				<category><![CDATA[couchdb]]></category>
		<category><![CDATA[links]]></category>

		<guid isPermaLink="false">http://ivan.begtin.name/?p=2113</guid>
		<description><![CDATA[<a href="http://couchdb.apache.org">CouchDb</a> &#8212; это document-based база данных ориентированное на хранение данных как документов с иерархией структур и использования JavaScript для написание запросов. Из плюсов: поддержка IBM, один из проектов в составе Apache Foundation, удобство работы с данными. Из минусов: низкая производительность, недостаточно подробная документация. Написано полностью на языке Erlang <a href="http://www.mongodb.org/">MongoDb</a> &#8212; альтернатива Couchdb написанная [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://couchdb.apache.org">CouchDb</a> &#8212; это document-based база данных ориентированное на хранение данных как документов с иерархией структур и использования JavaScript для написание запросов. Из плюсов: поддержка IBM, один из проектов в составе Apache Foundation, удобство работы с данными. Из минусов: низкая производительность, недостаточно подробная документация. Написано полностью на языке Erlang</li>
<li><a href="http://www.mongodb.org/">MongoDb</a> &#8212; альтернатива Couchdb написанная на C++. Отличается лучшей производительностью, возможностью строить ad-hoc запросы, сохранением данных in-place и хорошо подготовленной документацией. К тому имеет коммерческую поддержку от компании 10gen. Ключевой минус: на 32-битных системах не позволяет создать базы размером более чем 2.5 гигабайта.</li>
<li><a href="http://tokyocabinet.sourceforge.net/">TokyoCabinet </a>- база данных создававшаяся как современная замена dbm обладающая массой полезных возможностей в части маштабирования, устойчивости к сбоям, меньшего размера и так далее.</li>
<li><a href="http://code.google.com/p/pykesto/">pykesto</a> &#8212; безсхемная и транзакционная база для Python на базе TokyoCabinet.</li>
<li><a href="http://code.google.com/p/thrudb/">ThruDb</a> &#8212; ещё одна безсхемная база на Java</li>
<li><a href="http://rddb.rubyforge.org/">RDDb</a> &#8212; безсхемная document-based база на Ruby</li>
<li><a href="http://www.oracle.com/technology/products/berkeley-db/index.html">Oracle Berkeley Db</a> &#8212; при определённой сноровке может использоваться для хранения безсхемных данных плюс есть редакция которая поддерживает работу с XML данными</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ivan.begtin.name/2009/08/13/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-13-08-2009-%d0%b1%d0%b5%d0%b7%d1%81%d1%85%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-schema-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ссылки на 14.02.2009. Не-реляционные базы данных</title>
		<link>http://ivan.begtin.name/2009/02/14/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-14022009-%d0%bd%d0%b5-%d1%80%d0%b5%d0%bb%d1%8f%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b/</link>
		<comments>http://ivan.begtin.name/2009/02/14/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-14022009-%d0%bd%d0%b5-%d1%80%d0%b5%d0%bb%d1%8f%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 09:55:15 +0000</pubDate>
		<dc:creator>ivbeg</dc:creator>
				<category><![CDATA[couchdb]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://ivan.begtin.name/?p=1344</guid>
		<description><![CDATA[<p>Базы данных</p> <a href="http://couchdb.apache.org/">CouchDb</a> &#8212; бесплатная документо-ориентированная система управления данными с открытым исходным кодом и входящая в состав проектов Apache Foundation <a href="http://project-voldemort.com/">Project Voldemort</a> &#8212; совсем недавно появившаяся система ориентированная на горозонтальную расширяемость <a href="http://www.mongodb.org/">Mongo</a> &#8212; система очень похожая на CouchDb, но приближающаяся к хранению объектов <a href="https://launchpad.net/drizzle">Drizzle</a> &#8212; движок на базе MySQL 6.0 и [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Базы данных</strong></p>
<ul>
<li><a href="http://couchdb.apache.org/">CouchDb</a> &#8212; бесплатная документо-ориентированная система управления данными с открытым исходным кодом и входящая в состав проектов Apache Foundation</li>
<li><a href="http://project-voldemort.com/">Project Voldemort</a> &#8212; совсем недавно появившаяся система ориентированная на горозонтальную расширяемость</li>
<li><a href="http://www.mongodb.org/">Mongo</a> &#8212; система очень похожая на CouchDb, но приближающаяся к хранению объектов</li>
<li><a href="https://launchpad.net/drizzle">Drizzle</a> &#8212; движок на базе MySQL 6.0 и с сохранением возможности хранения реляционных данных</li>
<li><a href="http://www.memcachedb.org">MemcacheDB</a> &#8212; движок на принципах key/value (ключ/значение) на базе Memcached.  Подкупает простотой реализации и тем что его используют в digg.com</li>
</ul>
<p><strong>Статьи</strong></p>
<ul>
<li><a href="http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php">Is relations databases doomed? &#8212; ReadWriteWeb</a> - отличная обзорная статья по технологиям key/value баз данных</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ivan.begtin.name/2009/02/14/%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-%d0%bd%d0%b0-14022009-%d0%bd%d0%b5-%d1%80%d0%b5%d0%bb%d1%8f%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b1%d0%b0%d0%b7%d1%8b-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Техническое: CouchDB и его применимость</title>
		<link>http://ivan.begtin.name/2008/09/08/%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-couchdb-%d0%b8-%d0%b5%d0%b3%d0%be-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d0%bd%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c/</link>
		<comments>http://ivan.begtin.name/2008/09/08/%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-couchdb-%d0%b8-%d0%b5%d0%b3%d0%be-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d0%bd%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 09:28:54 +0000</pubDate>
		<dc:creator>ivbeg</dc:creator>
				<category><![CDATA[couchdb]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[информация]]></category>

		<guid isPermaLink="false">http://ivan.begtin.name/?p=654</guid>
		<description><![CDATA[<p>В эти выходные мне сравнительно немного удалось поработать за компьютером, была уйма других дел, а вот краулеры и нагрузочные тесты на CouchDb как раз смогли отработать полностью.</p> <p>За пару дней на мой небольшой домашний сервер удалось собрать информацию по доменам в зоне SU, корневые страницы, данные whois и так далее и теперь могу говорить о [...]]]></description>
			<content:encoded><![CDATA[<p>В эти выходные мне сравнительно немного удалось поработать за компьютером, была уйма других дел, а вот краулеры и нагрузочные тесты на CouchDb как раз смогли отработать полностью.</p>
<p>За пару дней на мой небольшой домашний сервер удалось собрать информацию по доменам в зоне SU, корневые страницы, данные whois и так далее и теперь могу говорить о CouchDb с большей однозначностью.</p>
<p>Основное, пожалуй, то что движок позволяет делать очень быстрые запросы на добавление и получение отдельных документов по ключу. Для систем со стратегией работы с данными по CRD (Create, Read, Delete) движок весьма удобен, например, у него есть хороший потенциал в качестве использования как хранилища логов. А вот для CRUD в классическом понимании будут свои особенности, в частности то как CouchDb работает с версиями будет отрицательно сказываться на объёмах хранимых данных.</p>
<p><span id="more-654"></span></p>
<p>Открытый вопрос в том можно ли использовать CouchDb для хранения документов в виде версий. Сейчас CouchDb всегда создаёт новый экземпляр документа при любом изменении, но при запуске команды compact все старые версии удаляет.</p>
<p>Открытый вопрос тут в том какую стратегию использовать при хранении документов с версиями &#8212; использовать ли механизм ревизий CouchDb или нет. Вариант &#8212; это, например, изменение логики движка с возможностью указания постоянства хранения (флаг persist) для новый версий в тех случаях когда есть желание не потерять их при последующих запусках compact.</p>
<p>Для чего движок использовать точно неправильно, так это для хранения файлов. Корневые страницы примерно 30 000 сайтов у меня занимают 0.9 гигабайта, большая часть этого объёма создаётся за счёт необходимости их кодирования в base64.</p>
<p>А вот <strong>хранение метаданных</strong> обеспечивается очень удобно &#8212; за счёт того что всё в JSON можно использовать любые иерархии вложенных объектов, а также их списки. Например, это позволяет хранить ссылки в распакованном формате &#8212; с разделёнными префиксами и суффиксами доменов, элементов пути, параметров и так далее. Точно также HTTP заголовки можно хранить не отдельной SQL таблицей, а в виде перечня объектов (структур) вложенных в описание выгруженной страницы и, несмотря на то что можно реализовать схожее на SQL, тем не менее подобный механизм хранения вложенных структур очень удобен. При семантическом/онтологическом связывании данных &#8212; то чем я занимаюсь, это особенно важно, так как иной раз на один объект может приходится до десятка меток и хранение их в отдельной SQL таблице убивает производительность.</p>
<p>Точно также удобно использование механизма <strong>View</strong> &#8212; которые являются аналогом &#171;материализованных вью&#187; в SQL базах данных, с той лишь разницей что могут формироваться двумя функциями map/reduce и обслуживаться внешними серверами. Последнее особенно интересно и хотя я механизм ViewServer ещё не пробовал, но возможностей у его использования множество. К примеру, ViewServer с использованием реплик данных может позволить решить проблемы долгого выполнения запросов.</p>
<p>В совокупности как дешёвая и удобная альтернатива HBase  продукт очень интересен, я скорее всего большую часть своих исследовательских проектов &#8212; выявление новостей (Скиур), геотаггинг, выявление SEO-ссылок, Социоранк буду переводить на CouchDB.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.begtin.name/2008/09/08/%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-couchdb-%d0%b8-%d0%b5%d0%b3%d0%be-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d0%bd%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

