The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

10.06.2017 10:12  Компания Bloomberg открыла код распределённой СУБД Comdb2

Компания Bloomberg перевела СУБД Comdb2 в разряд открытых проектов. Comdb2 относится к категории реляционных кластерных СУБД, позволяющих развернуть БД поверх нескольких узлов кластера и обеспечивающих высокий уровень отказоустойчивости и производительности. Ключевой задачей Comdb2 является предоставление простой и надёжной распределённой системы, позволяющей обратиться к данным или внести изменение, подключившись к любому узлу, и получить автоматическую синхронизацию изменений на всех остальных узлах кластера, в том числе территориально разделённых. Разработка СУБД Comdb2 ведётся компанией Bloomberg c 2004 года. Код написан на языке Си и распространяется под лицензией Apache 2.0.

Comdb2 предоставляет достаточно простую и ясную логику организации работы кластера: достаточно запустить Comdb2 на одном узле, создать БД и определить в настройках (простой файл со списком хостов) на каких ещё узлах обеспечить хранение данной БД. После чего можно запустить дополнительные узлы, при помощи команды copycomdb2 перенести на них данные и включить их в распределённое хранилище. В дальнейшем, для взаимодействия с БД можно обращаться к любому из узлов кластера, при этом изменения будут реплицированы на остальные узлы.

Узлы могут группироваться и связываться с другими группами узлов, размещённых в других центрах обработки данных. В каждой группе узлов автоматически выбирается главный узел репликации, который берёт на себя функции распределения потоков данных для синхронизации состояния остальных узлов. Репликация по умолчанию выполнятся в синхронном режиме, т.е. до получения подтверждения, что все узлы получили изменения, транзакция не закрывается, но если операция INSERT успешно завершена, то изменения сразу становятся видны для запросов в любых частях кластера.

Для обеспечения непротиворечивости изменения данных в Comdb2 применяется техника обеспечения параллелизма OCC (Optimistic Concurrency Control), предоставляющая несколько уровней изоляции транзакций, включая снапшоты и сериализируемые транзакции. Транзакции, осуществляющие чтение и запись данных, могут выполняться на всех узлах, при этом клиентская библиотека обеспечивает свободу выбора узла для подключения (клиент подключается к ближайшему доступному узлу, а в случае проблем может в прозрачном режиме переподключиться к другому узлу).

Comdb2 обеспечивает гарантированную целостность и высокую доступность данных, но ценой ограниченной масштабируемости при выполнении операций записи (Comdb2 практически линейно масштабируется на чтение, но скорость выполнения операций записи сильно зависит от числа узлов). Тесты производительности демонстрируют для 6-узлового кластера способность обработать около 2000 операций записи в секунду и 2 млн операций чтения в секунду.

Comdb2 поддерживает диалект языка SQL очень похожий на SQLite так как для разбора и планирования запросов применяются оригинальные парсер и планировщик от проекта SQLite. На дисковом уровне данные таблиц хранятся в сильно модифицированном представлении BerkeleyDB 4.2. Возможно создание хранимых процедур на языке Lua. Помимо реляционной модели доступа к данным СУБД также поддерживает и модель "публикация/подписка" (publish/subscribe), которая может комбинироваться с триггерами.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Компания Bloomberg представила открытый оптимизирующий компилятор BuckleScript
  3. OpenNews: Доступна открытая СУБД CrateDB 1.0
  4. OpenNews: Выпуск СУБД PouchDB 6.1, реализации CouchDB на JavaScript
  5. OpenNews: Первый стабильный выпуск отказоустойчивой СУБД CockroachDB
  6. OpenNews: Открыт код СУБД MapD Core, использующей GPU для хранения и обработки данных
Лицензия: CC-BY
Тип: Программы
Ключевые слова: comdb2, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, кверти, 11:43, 10/06/2017 [ответить] [смотреть все]
  • –6 +/
    Подытожим, компания создала sqlite кластер.
     
     
  • 2.2, Аноним, 11:46, 10/06/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +2 +/
    Нет, но некоторые части уже явно надо менять. Например BerkeleyDB на RocksDB
     
     
  • 3.33, funny.falcon, 12:43, 11/06/2017 [^] [ответить] [смотреть все]
  • +6 +/
    Да ты что! Вот так новость прочитал, и сразу понял, что нужно менять!

    А бедные программисты одной из крупнейших компаний мира, имеющие опыт разработки в десятки лет, в том числе разработки этой самой базы данных (которая разрабатывается с начала 2000х) - они, несчастные, не догадываются :-(

    ИМ СРОЧНО НУЖЕН ТЫ!!!

    Сейчас же иди, и потряси их на собеседовании! Пусть сразу тебе отдельный кабинет на вершине небоскреба в центре Лондона выделяют.

     
     
  • 4.46, Аноним, 22:01, 11/06/2017 [^] [ответить] [смотреть все]
  • +5 +/
    не приходит в голову, что потому и открыли, что проекту 13 лет ... весь текст скрыт [показать]
     
  • 3.54, adolfus, 15:10, 12/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    RocksDB уже умеет secondary databases Чтобы быть базой данных, а не только назы... весь текст скрыт [показать]
     
     
  • 4.55, Аноним, 16:16, 12/06/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    по теории СУБД-строения - нет Этот список не требуется СУБД обязана предостави... весь текст скрыт [показать]
     
  • 2.23, kleem_head, 02:40, 11/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > компания создала sqlite кластер.

    Господа, я идею заберу, ни кто не против?

     
     
  • 3.32, Аноним, 10:31, 11/06/2017 [^] [ответить] [смотреть все]  
  • +6 +/
    Только верни, когда наиграешься.
     
  • 3.38, нах, 14:09, 11/06/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    бери, бери - только сделай уже нормально В 2004м году возможно у гениев блумбер... весь текст скрыт [показать]
     
  • 1.3, Crazy Alex, 14:45, 10/06/2017 [ответить] [смотреть все]  
  • +6 +/
    В кои-то веки реляционка с тривиально разворачиваемым кластером, реально работающая в продакшне и без своего странного диалекта? По-моему отлично. Лучше могла бы быть только копилефт лицензия, но уж этого он ынтырпрайзов точно не дождёшься, к сожалению.
     
     
  • 2.4, Аноним, 15:35, 10/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    > c 2004 года. Код написан на языке Си

    Просто этот проект еще из "той" эпохи когда интернет был истинно свободным и программист был программистом.

     
     
  • 3.6, Аноним, 18:54, 10/06/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    трава зеленее и далее по списку Сишникам никто и сейчас не мешает писать вун... весь текст скрыт [показать]
     
     
  • 4.8, ананим.orig, 19:53, 10/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Предлагаешь поднять таки пенсионный возраст А у молодежи на жаба-скрипте и субд... весь текст скрыт [показать]
     
     
  • 5.31, Аноним, 09:34, 11/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Не совсем понял как связан пенсионный возраст с засильем веб-макак Какие предпо... весь текст скрыт [показать]
     
     
  • 6.39, ананим.orig, 14:25, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну а я то откуда знаю что вы там не совсем понимаете Если вам интересны макаки,... весь текст скрыт [показать]
     
     
  • 7.44, Аноним, 17:59, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Сам придумал, сам опроверг Молодец Я говорил, что при возможности выбора или в... весь текст скрыт [показать]
     
     
  • 8.45, ананим.orig, 19:52, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Кого Макак Да вам даже не модератор, вам доктор нужен Зыж Вы новость то читал... весь текст скрыт [показать]
     
     
  • 9.48, Аноним, 07:56, 12/06/2017 [^] [ответить] [смотреть все]  
  • +/
    С дислексией рекомендую вам обратиться к профильному специалисту Самолечение по... весь текст скрыт [показать]
     
  • 6.47, лютый жабист__, 06:10, 12/06/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Могучий сишник в курсе что например fts у энаписанной на си монго в сотни и тыся... весь текст скрыт [показать]
     
     
  • 7.49, Аноним, 08:49, 12/06/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Лично у тебя проблемы с головой Люди посерьезнее совсем тебя не воспринимают, д... весь текст скрыт [показать]
     
  • 7.50, Аноним, 10:01, 12/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Ты плохо понимаешь откуда берется 2 тыс запросов на запись в секунду Эти 2 тыс... весь текст скрыт [показать]
     
     
  • 8.52, лютый жабист__, 12:56, 12/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Fsync не гарантия записи в схд Шах и мат экспертушка опеннета А гарантировать ... весь текст скрыт [показать]
     
     
  • 9.53, Другой аноним., 13:23, 12/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Как бы анон писал про то что ты не понял, но поспешил ответить на другое На сло... весь текст скрыт [показать]
     
  • 9.56, Аноним, 22:01, 12/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Хорошо, что ты это знаешь, только вот у тебя пробелы в знаниях Приложение не мо... весь текст скрыт [показать]
     
     
  • 10.57, лютый жабист__, 09:37, 13/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Ну и слава БГ, что не стал, незачем опеннет замусоривать Я не фанат и гуру по р... весь текст скрыт [показать]
     
     
  • 11.61, Другой аноним., 14:09, 13/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Теперь я понял что у жабиста про кластеры довольно примитивное представление и в... весь текст скрыт [показать]
     
  • 11.63, Аноним, 21:15, 13/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Иди пиши, хватит трындеть какой ты крутой, какая жаба крутая Глядишь гугл тебя ... весь текст скрыт [показать]
     
     
  • 12.66, Аноним, 23:57, 13/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Если гугл не купит, то кингстоны с корсарами наверняка проспонсируют ... весь текст скрыт [показать]
     
  • 8.62, Аноним, 16:06, 13/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Расскажи, каким образом ACID накладывает ограничение в 2к записей в секунду Что... весь текст скрыт [показать]
     
     
  • 9.64, Аноним, 21:33, 13/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Где и что не ускоряет Все очень хорошо ускоряет, просто отсчет ведется обычно в... весь текст скрыт [показать]
     
     
  • 10.67, Аноним, 00:05, 14/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ловко ты проигнорировал основной вопрос и нагнал шизофазии в ответ на дополнение... весь текст скрыт [показать]
     
     
  • 11.70, Аноним, 16:38, 14/06/2017 [^] [ответить] [смотреть все]  
  • +/
    1 Читаем определение https ru wikipedia org wiki ACID 2 Читаем pdf-файл, чт... весь текст скрыт [показать]
     
     
  • 12.71, Аноним, 01:59, 15/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет За тебя искать пруфы заведомо ложного утверждения я не буду Эта задача дав... весь текст скрыт [показать]
     
     
  • 13.72, Другой аноним., 07:26, 15/06/2017 [^] [ответить] [смотреть все]  
  • +/
    > Эта задача давно решена такими алгоритмами, как paxos, atomic broadcast и raft, которые не накладывают ограничений на пропускную способность сверх того, что может одна машина.

    Правильне будет сказать "решена для частных случаев" чтобы не выглядело как будето решено для всех случаев.

     
     
  • 14.76, Аноним, 10:47, 15/06/2017 [^] [ответить] [смотреть все]  
  • +/
    О каких случаях речь Эти алгоритмы могут реплицировать wal, что достаточно для ... весь текст скрыт [показать]
     
     
  • 15.79, Аноним, 21:34, 15/06/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В comdb2 WAL флешится раз в 10 секунд WAL нельзя реплицировать по нодам, т к н... весь текст скрыт [показать]
     
     
  • 16.81, Аноним, 22:25, 15/06/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Лол А авторы этой комдб не знают и реплицируют И все реплицируют ... весь текст скрыт [показать]
     
  • 15.80, Аноним, 21:45, 15/06/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    И еще, ты упустил момент про ACID Что будет если одна нода передаст другой ноде... весь текст скрыт [показать]
     
  • 12.77, Аноним, 20:26, 15/06/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Почитал я эту статью, а там не 2к записей в секунду, а 20к Уже похоже на правду... весь текст скрыт [показать]
     
     
  • 13.78, Аноним, 21:32, 15/06/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    На SSD Сравни с этим уже давал линк https web archive org web 201408092044... весь текст скрыт [показать]
     
  • 3.7, Crazy Alex, 19:00, 10/06/2017 [^] [ответить] [смотреть все]  
  • –7 +/
    Честно говоря, если оно реально использовалось лет десять, просто разворачиваетс... весь текст скрыт [показать]
     
     
  • 4.9, ананим.orig, 19:58, 10/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Да-да-да а как до дела доходит, то 70 на сях, 10 на асм-вставках, 10 вообщ... весь текст скрыт [показать]
     
     
  • 5.10, Crazy Alex, 20:45, 10/06/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Если ты не понял - речь о том, что если штука соответствует требованиям - то поф... весь текст скрыт [показать]
     
     
  • 6.11, Аноним, 21:07, 10/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Вот для того, чтобы штука соответствовала требованиям, надо крепко подумать, на ... весь текст скрыт [показать]
     
     
  • 7.13, Crazy Alex, 21:46, 10/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Это если ТЫ начинаешь что-то писать А если выбираешь среди уже написанного кем-... весь текст скрыт [показать]
     
     
  • 8.16, ананим.orig, 22:03, 10/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Правильно Важен интерфейс Но и ты тогда определись 8212 ты манагер или инже... весь текст скрыт [показать]
     
     
  • 9.21, Crazy Alex, 00:47, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ты всерьёз предлагаешь для своего проекта писать с нуля всё, начиная от операцио... весь текст скрыт [показать]
     
     
  • 10.26, ананим.orig, 06:24, 11/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Ясно Эффективный манагер Зыж Инженер при подборе должен быть заинтересован во ... весь текст скрыт [показать]
     
     
  • 11.37, Crazy Alex, 13:59, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Не Просто не то чтобы совсем кодер И именно о заинтересованновсти во всех аспе... весь текст скрыт [показать]
     
     
  • 12.40, ананим.orig, 14:40, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    А кто о кодерах вообще говорил Ты инженера с маркетинговыми курсами не попутал,... весь текст скрыт [показать]
     
  • 6.12, Аноним, 21:39, 10/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Если требования вида до 1000 запросов в минуту , то да Если требования как мо... весь текст скрыт [показать]
     
     
  • 7.14, Crazy Alex, 21:54, 10/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Вот такие хотелки - один из признаков плохо поставленной задачи и дальнейших про... весь текст скрыт [показать]
     
     
  • 8.17, ананим.orig, 22:10, 10/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Что не отменяет того факта, что на абы-скрипте ты в принципе не можешь поставить... весь текст скрыт [показать]
     
     
  • 9.19, Crazy Alex, 00:39, 11/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Вот как раз менеджеры от айти отлично понимают, что такую задачу в принципе став... весь текст скрыт [показать]
     
     
  • 10.22, Аноним, 00:54, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Думаете, те, кто пишут БД на яваскрипте, в самом деле оценивают стоимость владен... весь текст скрыт [показать]
     
     
  • 11.24, Crazy Alex, 04:37, 11/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Те, кто соответствующего уровня - вполне Только там соображения могут быть не с... весь текст скрыт [показать]
     
     
  • 12.28, ананим.orig, 06:45, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну и не те, что Вы тут впариваете А блин гейтс лучше всех выразил 8212 е... весь текст скрыт [показать]
     
  • 12.59, Очередной аноним, 11:06, 13/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    джаваскипт будет просто еще одним языком в сонме языков, компилируемых в WebAsse... весь текст скрыт [показать]
     
     
  • 13.65, Led, 22:43, 13/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ты это кого сейчас разработчиком обозвал ... весь текст скрыт [показать]
     
  • 10.27, ананим.orig, 06:37, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Зато они отлично это применяют потом когда нужно во-время свалить в кусты Как... весь текст скрыт [показать]
     
     
  • 11.36, Crazy Alex, 13:48, 11/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Нет, дорогой Или для тебя лид, софтовый архитектор или проектировщик решений - ... весь текст скрыт [показать]
     
     
  • 12.41, ананим.orig, 14:49, 11/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Из конторы по распилу бобра Ну так тебе и кончита 8212 брутальный мужик ... весь текст скрыт [показать]
     
  • 6.15, ананим.orig, 22:01, 10/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    1 А я возражал 2 Главное Это ты не понял А посыл такой 8212 на чем бы тв... весь текст скрыт [показать]
     
     
  • 7.20, Crazy Alex, 00:45, 11/06/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Сабж - база данных К системному вообще ни малейшего отношения не имеет, как и... весь текст скрыт [показать]
     
     
  • 8.29, ананим.orig, 07:07, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Именно А это 8212 смотря что хранить собираешься Что и как Трудно предста... весь текст скрыт [показать]
     
     
  • 9.30, ананим.orig, 07:20, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Зыж Так, для академического интереса поинтересуйся про bdb в ядре у гугла htt... весь текст скрыт [показать]
     
     
  • 10.34, Crazy Alex, 13:34, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну ок, ты продемострировал, что скрипты таки можно в ядро засунуть Это экзотика... весь текст скрыт [показать]
     
     
  • 11.42, ананим.orig, 14:57, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Да нахрен мне тебе что-то доказывать Ты, батенька, где-то берега попутал 8212... весь текст скрыт [показать]
     
  • 9.35, Crazy Alex, 13:39, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Кхх, ещё один Прогнозируемое время отклика латентность говорит о прогрнозируе... весь текст скрыт [показать]
     
     
  • 10.60, Очередной аноним, 13:32, 13/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Используют, хотя может быть мало таких горячих парней и базы там особенные QN... весь текст скрыт [показать]
     
     
  • 11.68, Очередной аноним, 08:10, 14/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Забавно, а за что минус? Неправда написана или приравняли к рекламе?
     
  • 5.43, Аноним, 15:45, 11/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    А вот лично я бы посмотрел, что и как вебмакаки сваяют на прологе И вообще, чт... весь текст скрыт [показать]
     
  • 4.18, angra, 00:36, 11/06/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Осталось только это продемонстрировать, например здесь http benchmarksgame ali... весь текст скрыт [показать]
     
     
  • 5.25, ., 06:08, 11/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Дык джентльменам верят на слово же :-)
     
  • 4.51, Аноним, 10:22, 12/06/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Угу, на JS, у которого нет НИКАКОГО управления памятью В момент высоких нагрузо... весь текст скрыт [показать]
     
  • 1.58, mkv, 10:03, 13/06/2017 [ответить] [смотреть все]  
  • +/
    Очень смущает BerkeleyDB со своей лицензией в сырцах этой БД.
    По ней вы должны открыть код не только если слинковались (как в GPL) но и вообще если используете это в своих решениях.
    Получается какая-то замануха... У Bloomberg BerkeleyDB скорее всего куплен.
    Или начинают экономить на недешевых лицензиях BDB?
     
     
  • 2.69, 123, 13:04, 14/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Там очень старая версия https github com bloomberg comdb2 blob master berkdb... весь текст скрыт [показать] [показать ветку]
     
  • 1.73, Аноним, 10:36, 15/06/2017 [ответить] [смотреть все]  
  • +/
    Каким образом Волшебным Все равно будет какой то промежуток когда где-то данны... весь текст скрыт [показать]
     
     
  • 2.74, Аноним, 10:45, 15/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Пока данные не разойдутся по всем узлам, коммит не будет подтверждён и операция ... весь текст скрыт [показать] [показать ветку]
     
  • 2.75, 123, 10:46, 15/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Читаем внимательно - транзакция идет на всех кластерах одновременно. Пока на все не легло - не коммитит.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList