The OpenNET Project / Index page

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

Первый стабильный релиз БД Apache CouchDB 1.0.0

15.07.2010 10:49

Анонсирован релиз Apache CouchDB 1.0.0, ознаменовавший стабилизацию кодовой базы, пригодность для промышленного использования и переход проекта на новый уровень развития. В версии CouchDB 1.0.0 кроме исправления ошибок проведена серия оптимизаций, позволившая до трех раз увеличить производительность записи больших документов в базу. За счет добавления поддержки кеширования параметров аутентификации значительно ускорен процесс соединения с БД. Одновременно выпущен корректирующий релиз Apache CouchDB 0.11.1 в который включены только исправления ошибок, без включения новшеств.

CouchDB (Cluster Of Unreliable Commodity Hardware) представляет собой распределенную, документ-ориентированную базу данных, относящуюся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавляении в рамках определенного представления новых документов.

CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами, что уже используется для синхронизации содержимого адресной книги ПК c мобильным телефоном через сервис Ubuntu One.

Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются под лицензией Apache 2.

  1. Главная ссылка к новости (http://www.mail-archive.com/an...)
  2. OpenNews: В сервисе Ubuntu One появилась поддержка синхронизации данных с телефоном
Лицензия: CC-BY
Тип: Программы
Ключевые слова: CouchDB, database, replication, MapReduce
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Filosof (ok), 12:48, 15/07/2010 [ответить]  
  • +/
    Таак, монгоДБ я недавно погонял...
    Попробовать этого красавца чтоль?
     
     
  • 2.2, Анонимный трус (?), 15:39, 15/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А приложение ей какое найдете? Или вы просто ради погонять?
     
     
  • 3.6, Filosof (ok), 00:28, 16/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А приложение ей какое найдете? Или вы просто ради погонять?

    есть тут приложение-применение. Но, какое - не скажу. Может на этом ноухау эта фирма денег заработает. В общих чертах - анализ собранного вороха данных и выдача клиенту с максимально близкой ноды.

     

  • 1.3, northbear (??), 16:04, 15/07/2010 [ответить]  
  • –3 +/
    Cудя по всему по производительности он пока уступает MongoDB... В MongoDB  движок целиком на С/С++ писан, без всяких промежуточных Erlang и прочая.
     
     
  • 2.4, Samm (??), 16:12, 15/07/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С каких это пор ерланг стал промежуточным, а C++ - нет? ) Я понтиаю если бы монго на асме писали ;-), а так ваше замечание - полный бред.
     
     
  • 3.5, northbear (??), 22:22, 15/07/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Открываем в википедии статью "Сравнение языков программирования", сравниваем Erlang c C++, думаем, если есть чем. Erlang это фактически интерпретируемый язык, вертится на виртуальное машине, что делает его сходным скорее со Java.
     
     
  • 4.7, ram_scan (?), 07:11, 16/07/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да, эрланг интерпретируемый язык. Но в отличие от жабы он разрабатывался изначально для построения распределенных систем. И все эти репликации, RPC и прочее мясо сделано там средствами языка, а не костылями, в нем принципиально не нужна синхронизация и отсутствует такие явления как race condition и deadlock. И есть в природе вполне себе даже стэндалон реализации этого щщастя, причем зло компактные, и абсолютно стандартные при этом, ЧСХ. Парралелизьм в нем - вообще песня. Самая настоящая.

    Язык очень хороший и православный, но чтобы на нем писать надо долго сворачивать моск набекрень чтобы приучать его "мыслить странно". Проложцы проникнуцца. И не всякие вещи стОит на нем писать. В документации на матчасть все расписано. Бегом изучать.

    JFYI на этом добре написан чуть более чем весь софт который крутится в кишках вполне годных телефонных станций производства Ericsson, линейка AXE если мне моск не отбило (более того язык был разработан для этого специально). Что кагбе не просто намекае, а символизируе.

     
     
  • 5.8, Zert (ok), 05:59, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Сразу видно, на ерланге ничего не писал. Есть там и race condition, и deadlock спокойно можно словить. Разве что это легче обнаружить и исправить.
    И мозг набекрень сворачивать не надо. Люди за 2 недели изучают, через месяц уже вполне рабочий код пишут.
    Приведение станций эриков в качестве примера — моветон. Вот новые: чат фейсбука, система комментирования echo, трейдинговые системы реального времени (за которые Алейников страдал).
     
     
  • 6.9, И анон (?), 17:26, 20/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Гхм, чат фейсбука - это который пользует XMPP, что-ли? О да, новинка века - ejabberd :)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру