The OpenNET Project / Index page

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

16.10.2016 08:40  Представлена децентрализованная СУБД Noms, основанная на идеях Git

Сформированный в августе стартап Attic Labs, в который вошли разработчики, ранее участвовавшие в работе над Google Chrome, Chrome OS и ECMAScript, представил первые результаты разработки новой децентрализованной СУБД Noms, в которой осуществлена попытка применения идей Git для организации хранения и совместной работы над большими коллекциями структурированных данных. Сформировано два рабочих прототипа Noms, написанных на языках Go и JavaScript и распространяемых под лицензией Apache 2.0.

Noms предоставляет пользователю типичные операции, свойственные Git, включая возможность контроля за версиями данных, создания форков БД, синхронизации изменений из разных БД, слияния БД и отслеживания истории изменений. СУБД автоматически сохраняет сведения о каждом изменении в БД, позволяет отменить его в случае необходимости или получить срез состояния на определённый момент времени. Noms также может применяться для организации архивирования данных, для чего предусмотрена возможность периодической загрузки слепков состояния данных в любом формате. Поступающие подобным образом данные будут автоматически версионированы и дедуплицированы для повышения эффективности хранения.

Проект пока находится на стадии рабочего прототипа, из запланированных, но ещё не реализованных возможностей, отмечаются сборщик мусора, система запросов, обеспечение распараллеливания операций, возможность создания клонов БД без сохранения истории изменений ("shallow clones"), средства для автоматического слияния изменений и разрешения конфликтов. В настоящее время обмен данными между разными экземплярами БД может производится через HTTP API или локальную ФС, но рассматриваются возможность задействования таких протоколов, как IPFS или BitTorrent.

Основные особенности СУБД Noms:

  • Адресация по содержимому: имеется только возможность добавления данных, операции обновления не поддерживаются. СУБД автоматически игнорирует добавление дубликатов и отслеживает изменения;
  • Работа в режиме только добавления (Append-only). Данные в хранилище не перезаписываются и не удаляются - изменения размещаются в режиме дополнения, старое состояние данных сохраняется. Подобный подход позволяет отследить полную историю изменений, сравнить состояние на разных этапах существования БД и откатиться на позицию в прошлом;
  • Хранение только типизированных данных: каждое значение, набор данных и версия БД имеет свой тип. Типы определяются автоматически при добавлении данных, вручную их определять не нужно;
  • Децентрализация: можно создать копию БД, локально внести в неё изменения и вернуть эти изменения в основную БД, объединив с изменениями, накопившимися в основной БД с момента создания ответвления;
  • Возможность подключения различных бэкендов хранения. Noms предоставляет уровень абстракции, способный работать поверх любых хранилищ, способных обрабатывать данные в формате ключ/значение. В настоящее время подготовлены бэкенды для работы поверх LevelDB, HTTP (для обращения к внешним СУБД), Amazon DynamoDB и в оперативной памяти.


  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Проект CoreOS представил распределённую систему хранения Torus
  3. OpenNews: Анонсирован GitTorrent для доступа к Git-репозиториям при помощи BitTorrent
  4. OpenNews: Выпуск децентрализованной торрент-системы Tribler 6.3
  5. OpenNews: Представлен Seafile, Dropbox-подобный сервер хранения на основе технологий Git
  6. OpenNews: В рамках проекта git-annex assistant развивается аналог Dropbox на базе Git
Лицензия: CC-BY
Тип: Программы
Ключевые слова: git, noms, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, A.Stahl, 09:35, 16/10/2016 [ответить] [смотреть все]
  • –21 +/
    Ага, это так нужно для БД, что просто слов нет Давайте ещё хранить диффы Точно... весь текст скрыт [показать]
     
     
  • 2.4, Аноним, 10:49, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +16 +/
    Если вы не можете найти этому применения, это не означает ненужность фичи.
     
  • 2.5, angra, 10:49, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    У БД есть разные применения. Если для твоих задач такие фичи не нужны, а важна только производительность, то оно просто не для тебя, проходи мимо.
     
  • 2.15, Парвиз, 15:08, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да-да-да Любите Git,- он как Большая Советская Энциклопедия вчера была на 196 с... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Какаянахренразница, 18:41, 16/10/2016 [^] [ответить] [смотреть все]  
  • +/
    Using git to rewrite history is a sin © Paul Shadig
     
  • 3.24, мимо проходил, 21:23, 16/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Чем ты занимаешься со своей копией репозитория никого не волнует Что же вызывае... весь текст скрыт [показать]
     
  • 3.34, Аноним, 16:31, 17/10/2016 [^] [ответить] [смотреть все]  
  • +/
    Создай страницу абсолютных указателей И используй абсолютный указатель 0x ... весь текст скрыт [показать]
     
  • 1.6, Аноним, 11:18, 16/10/2016 [ответить] [смотреть все]  
  • –2 +/
    С одной стороны, хотелось бы иметь альтернативу уродливому явлению под названием... весь текст скрыт [показать]
     
     
  • 2.9, YetAnotherOnanym, 11:53, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Чем же для Вас репликация уродлива ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, Пингвино, 11:12, 19/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Тем, что она не работает нормально.
     
  • 1.7, OramahMaalhur, 11:19, 16/10/2016 [ответить] [смотреть все]  
  • +1 +/
    Вот и субд на JavaScript пишут... оно, небось, ещё тянет за собой Electron с Atom'ом?
     
     
  • 2.12, arzeth, 12:30, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Зачем тут Electron, тут нет же GUI Реализация на JS нужна только для браузеров ... весь текст скрыт [показать] [показать ветку]
     
  • 2.40, svboobnov, 12:34, 19/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Сдаётся мне, что JavaScript там используется в качестве прикладного языка вмест... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, vitalif, 11:52, 16/10/2016 [ответить] [смотреть все]  
  • –2 +/
    Кажется где-то я уже видел <шепчет из-за угла: ПООООСТГРЕЕЕССС...ВАКУУМ...>
     
     
  • 2.27, Аноним, 07:39, 17/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Всем весом да на кровавый волдырь... Ай-яй-яй!
     
  • 1.10, Аноним, 12:21, 16/10/2016 [ответить] [смотреть все]  
  • –3 +/
    когда уже перистанут писать на жс,жс быть не должно,вспомнити пример с нпм лефтп... весь текст скрыт [показать]
     
     
  • 2.11, angra, 12:29, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Загугли слово "прототип"
     
     
  • 3.16, Аноним, 15:10, 16/10/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    И как часто язык готового продукта отличается от использованного в прототипе?
     
     
  • 4.25, angra, 01:23, 17/10/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Я не раз встречал, однако для точного ответа на вопрос как часто надо иметь ст... весь текст скрыт [показать]
     
  • 3.32, Аноним, 13:45, 17/10/2016 [^] [ответить] [смотреть все]  
  • +/
    А ещё прототипное наследование , когда один прототип делается на основе другого... весь текст скрыт [показать]
     
  • 2.13, Аноним, 12:59, 16/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    когда уже перестанут писать кому на чем писать
     
     
  • 3.23, Какаянахренразница, 18:42, 16/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Когда уже перестанут писать?
     
  • 2.35, Аноним, 16:34, 17/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Да, надо писать на си. А то как фсб или анб через уязвимость доступ получат?
     
  • 2.41, svboobnov, 12:37, 19/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Вася А ну-ка переделай модуль наведения ракеты, который ты на Ada пишешь Там 5... весь текст скрыт [показать] [показать ветку]
     
  • 1.14, Аноним, 13:19, 16/10/2016 [ответить] [смотреть все]  
  • +/
    А мне нравится идея, как хранилище кластерной конфигурации, по типу corosync
     
  • 1.17, nc, 15:47, 16/10/2016 [ответить] [смотреть все]  
  • +1 +/
    Интересная штука. Возможно пригодится для Либгена и перспективных наработок по созданию Пиринговой Библиотеки, а то существующий у них способ распространения огромного sql файла с базой уж больно неудобен.
     
  • 1.18, Аноним, 16:22, 16/10/2016 [ответить] [смотреть все]  
  • +/
    Вопрос что из перечисленного является оригинальной идеей гита JS-хипстеры не з... весь текст скрыт [показать]
     
     
  • 2.26, angra, 01:25, 17/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Реализовать эти фичи можно очень по разному Возможно их реализация основана на ... весь текст скрыт [показать] [показать ветку]
     
  • 1.28, Mail, 08:00, 17/10/2016 [ответить] [смотреть все]  
  • +1 +/
    >>  ранее участвовавшие в работе над  Google Chrome, Chrome OS и ECMAScript

    тут без JS никуда... :)

     
  • 1.30, Анонимомус, 12:00, 17/10/2016 [ответить] [смотреть все]  
  • –1 +/
    Вероятно как замена "традиционным" nosql базам не очень подойдет, но для p2p - это то, чего не хватало, отлично ложится на вики, которую легко задампить, на ZeroNet, где городили костыли с json записями, которые синхронизировались через битторрент, а потом собирались в sqlite кажется.
     
     
  • 2.36, Led, 20:32, 17/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > для p2p - это то, чего не хватало

    Так это ж не мозг!

     
  • 2.39, svboobnov, 12:15, 19/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Распределённая БД отлично подходит ещё и крупным распределённым компаниям К при... весь текст скрыт [показать] [показать ветку]
     
  • 1.31, freehck, 12:45, 17/10/2016 [ответить] [смотреть все]  
  • –1 +/
    Я как-то не уяснил из текста новости: а в чём отличие от Git, кроме отсутствия сборщика мусора и shallow clone? И что ещё за типизированные данные?
     
  • 1.33, Аноним, 13:49, 17/10/2016 [ответить] [смотреть все]  
  • –1 +/
    Я как-то не сразу понял, что это NoSQL СУБД Интересно, а для реляционной модели... весь текст скрыт [показать]
     
     
  • 2.38, svboobnov, 11:51, 19/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Есть уже такое. Avarda ERP называется. И Сделано в России (ТМ) =)
    вот тут http://avarda.ru/menu95.htm, в самом конце страницы упомянута распределённая репликация.
    Я когда-то хотел пойти в разработчики / консультанты, потому маны курил внимательно.
    Система построена на Firebird, GUI пишут на Delphi, а для репликации запускается отдельная служба.
     
     
  • 3.42, Александро, 23:37, 20/10/2016 [^] [ответить] [смотреть все]  
  • +/
    Так оно ж комерческое...
     
  • 1.43, Аноним, 11:02, 24/10/2016 [ответить] [смотреть все]  
  • +/
    распределенные БД они не осилили или не открыли для себя еще даже фэйсбук - изр... весь текст скрыт [показать]
     

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


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