<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Первый стабильный выпуск отказоустойчивой СУБД CockroachDB]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=39033</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=39033&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Первый стабильный выпуск отказоустойчивой СУБД CockroachDB».]]></description>
		<lastBuildDate>Thu, 11 May 2017 05:50:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Первый стабильный выпуск отказоустойчивой СУБД CockroachDB]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=455061#p455061</link>
			<description><![CDATA[<p><br />&nbsp; &nbsp; Состоялся&nbsp; первый стабильный выпуск распределённой СУБД CockroachDB, позволяющей создавать высоконадёжные горизонтально масштабируемые хранилища. При помощи CockroachDB можно развернуть географически распределённые системы, отличающиеся высокой живучестью и не зависящие от сбоев дисков, узлов и даже выхода из строя целых центров обработки данных. Ситуации сбоев обрабатываются автоматически и работа восстанавливается с минимальными задержками. При этом CockroachDB гарантирует целостность ACID-транзакций, предоставляет возможность использования SQL для&nbsp; манипуляции с данными, позволяет вносить изменения в схему хранения на лету, поддерживает индексы и внешние ключи.&nbsp; &nbsp; &nbsp; CockroachDB разработан под впечатлением от технологий&nbsp; Google Spanner и F1, но в отличие от них является полностью открытым продуктом. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Из наиболее подходящих для&nbsp; CockroachDB применений отмечается организация хранения данных приложений, от которых требуется постоянная доступность и целостность данных, а также гибкая масштабируемость (расширение сводится к добавлению новых узлов, которые автоматически включаются в кластер).&nbsp; &nbsp; &nbsp;CockroachDB предоставляет средства для автоматической репликации, ребалансировки хранилища, обнаружения сбоев и восстановления, при минимальной настройке и обслуживании, что отлично подходит для создания распределённых хранилищ и облачных решений, развёртываемых поверх нескольких центров обработки данных. Система обработки транзакций соответствует требованиям ACID. Обмен данными между узлами производится с использованием шифрования. Аутентификация выполняется на основе SSL-сертификатов. Для клиентов предусмотрена система разделения привилегий. Для приложений предоставляется высокоуровневый SQL API (урезанное подмножество SQL), совместимый с клиентскими драйверами для PostgreSQL.&nbsp; &nbsp; &nbsp; &nbsp;Из ограничений CockroachDB отмечается плохая пригодность для решений, требующих очень низкого времени отклика при выполнении операций записи и чтения. CockroachDB также плохо адаптирован для нагруженных систем обработки аналитической информации (OLAP), манипулирующих сразу большими срезами данных, и&nbsp; плохо оптимизирован для выполнения сложных SQL-запросов со слиянием нескольких таблиц (JOIN). В версии CockroachDB 1.0 разработчики попытались частично решить проблемы со сложными запросами и представили новый движок распределённого выполнения запросов, допускающий выполнение операций JOIN над данными, распределёнными по разным узлам. Новый движок позволяет добиться линейного ускорения аналитических запросов при добавлении новых узлов в кластер. Новая система уже используется в компании Baidu&nbsp; для обработки БД, расширяющейся примерно на 2 миллиардов записей в день.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; На низком уровне данные хранятся в формате&nbsp; RocksDB (вариант LevelDB) в виде связок ключ/значение с разбивкой на сегменты, охватывающие определённый диапазон данных (по умолчанию размер сегмента - 64MB). После заполнения сегмента данные разбиваются на два новых сегмента, каждый из которых охватывает более узкий диапазон значений, и этот процесс разбиения производится непрерывно. При наличии нескольких узлов образуемые новые сегменты автоматически распределяются на узлы, на которых больше свободных ресурсов. Ребалансировка производится с использованием P2P-протокола gossip, который помогает поддерживать информацию о доступных адресах узлов и состоянии их ресурсов.&nbsp; &nbsp; &nbsp;Для обеспечения отказоустойчивости данные реплицируются на несколько узлов, на основе которых строится кластер без единой точки отказа, способный работать в режиме multi-active. Для обеспечения непротиворечивости реплик при записи используется метод достижения консенсуса на основе алгоритма Raft. Для обеспечения непротиворечивости операций чтения используется собственный алгоритм синхронизации на основе временных меток. В рамках одной транзакции могут охватываться данные с разных узлов. При репликации данных учитывается топология кластера - дубликаты создаются с учётом обеспечения резервирования разных серверов, стоек и ЦОД.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; Источник: <strong>http://www.opennet.ru/opennews/art.shtml?num=46529</strong><br />&nbsp; &nbsp; <br /><a href="http://www.opennet.ru/opennews/art.shtml?num=46529">_источник</a></p>]]></description>
			<author><![CDATA[null@example.com (R2-D2)]]></author>
			<pubDate>Thu, 11 May 2017 05:50:38 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=455061#p455061</guid>
		</item>
	</channel>
</rss>
