В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Оригинальный автор(ы) | Спенсер Кимбалл , Питер Мэттис , Бен Дарнелл |
---|---|
Разработчик(и) | Лаборатории по исследованию тараканов |
Первоначальный выпуск | 2017 ( 2017 ) |
Стабильный релиз | 24.1.0 / 20 мая 2024 г. ( 2024-05-20 ) |
Репозиторий |
|
Написано в | Идти |
Доступно в | Английский |
Тип | СУРБД |
Лицензия | Запатентованная [1] |
Тип компании | Частный |
---|---|
Промышленность | Программное обеспечение |
Основан | 2015 ( 2015 ) |
Основатель | Спенсер Кимбалл , Питер Мэттис , Бен Дарнелл |
Штаб-квартира | Нью-Йорк Сити |
Ключевые люди | Спенсер Кимбалл (генеральный директор) Питер Мэттис (вице-президент по инжинирингу) Бен Дарнелл (технический директор) Нейт Стюарт (директор по продукции) Линдси Гренауолт (директор по кадрам) |
Услуги | Коммерческие системы управления базами данных |
Веб-сайт | cockroachlabs.com |
CockroachDB — это распределенная система управления базами данных SQL с исходным кодом, разработанная Cockroach Labs. [2] [3] Реляционная функциональность построена на основе распределенного, транзакционного, согласованного хранилища ключей и значений, которое может выдерживать различные сбои базовой инфраструктуры и совместимо с PostgreSQL , что означает, что пользователи могут воспользоваться широким спектром драйверов и инструментов из обширной экосистемы PostgreSQL. Кластер CockroachDB состоит из ряда узлов, которые могут быть распределены по доменам сбоев, таким как центры обработки данных или регионы публичного облака. Кластер можно масштабировать как горизонтально [4] (путем добавления узлов), так и вертикально (путем увеличения ресурсов, выделяемых существующим узлам). Он может обеспечивать высокий уровень устойчивости и доступности и может работать в различных средах, таких как «голое железо», виртуальные машины , контейнеры и Kubernetes , как в частных центрах обработки данных, так и в облаке. CockroachDB получил свое название от тараканов, поскольку они известны своей устойчивостью к катастрофам. [5]
Cockroach Labs была основана в 2015 году бывшими сотрудниками Google Спенсером Кимбаллом , Питером Мэттисом и Беном Дарнеллом . Кимбалл и Мэттис были ключевыми членами команды Google File System , [6] в то время как Дарнелл был ключевым членом команды Google Reader . [7]
Работая в Google, все трое использовали принадлежащую Google СУБД Bigtable и ее преемника Spanner . [3] После ухода из Google они захотели разработать и построить что-то похожее. [8] Спенсер Кимбалл написал первую итерацию дизайна в январе 2014 года и начал проект с открытым исходным кодом на GitHub в феврале 2014 года, разрешив внешний доступ и вклад. [9]
Разработка на GitHub привлекла значительные взносы, благодаря которым проект получил награду Open Source Rookie of the Year от Black Duck Software. [10]
Соучредители поддержали проект посредством конференций, налаживания связей, встреч и раундов финансирования.
В июне 2019 года Cockroach Labs объявила, что CockroachDB изменит свою лицензию с лицензии свободного программного обеспечения Apache License 2.0 на свою лицензию с доступом к исходному коду , известную как Business Source License (BuSL) , которая запрещает «предлагать коммерческую версию CockroachDB в качестве услуги без покупки лицензии», при этом оставаясь бесплатной для использования сообществом. [11] [12]
CockroachDB хранит копии данных в нескольких местах для обеспечения быстрого доступа. [8] [13]
Он описывается как масштабируемое, последовательно реплицируемое , транзакционное хранилище данных . [14] Один экземпляр может масштабироваться от одного ноутбука до тысяч серверов. [3]
CockroachDB разработан для работы в облаке и имеет высокую отказоустойчивость . Согласно популярным новостным каналам, его описывают как «практически невозможно» отключить. [15] [16] [13]
CockroachDB имеет модель согласованности, которая разработана так, чтобы максимально соответствовать возможностям Google Spanner , но без зависимости от специализированного оборудования для синхронизации времени. «Никаких устаревших чтений» — это самый простой способ описать эту модель согласованности, которая намеренно пошла на компромисс с наличием нелинеаризуемых историй транзакций. [17] Транзакции, содержащие перекрывающиеся ключи, гарантированно имеют внешнюю согласованность. И поэтому на практике системы, полагающиеся на CockroachDB, вряд ли будут воспроизводить проблемы согласованности, поскольку узлы с высокими вариациями в перекосе часов могут быть удалены из кластеров, приложения могут полагаться на внешнюю согласованность, обеспечиваемую перекрывающимися ключами и записью в тот же диапазон, а записи распространяют изменения на кэши временных меток последователей. [18]