The OpenNET Project / Index page

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

Выпуск СУБД PouchDB 6.1, реализации CouchDB на JavaScript

18.12.2016 11:41

Представлен релиз документ-ориентированной БД PouchDB 6.1, представляющей собой расширенный вариант СУБД Apache CouchDB, написанный на языке JavaScript и работающий внутри браузера. Модель хранения повторяет CouchDB и обеспечивает средства разрешения конфликтов. PouchDB совместим с CouchDB на уровне API для хранения и выборки данных. Код распространяется под лицензией Apache 2.0. Размер сжатого архива с PouchDB занимает всего 45 Кб.

PouchDB позволяет создавать web-приложения, способные полноценно функционировать в offline-режиме и реплицировать данные из стационарных БД на базе CouchDB. Иными словами, при отсутствии сетевого соединения web-приложение может накапливать изменения в локальном хранилище на базе PouchDB, а после выхода в сеть синхронизировать изменения с внешним сервером, поддерживающим API CouchDB, или обеспечивать синхронизацию данных между клиентами.

PouchDB может работать во всех современных браузерах, а также применяться в серверных решениях на базе Node.js и в обособленных клиентских приложениях на базе Cordova/PhoneGap, NW.js и Electron. PouchDB не привязана к web-фреймворкам, но отдельно предоставляет обвязки для различных фреймворков, в том числе для Angular, React, Ember и Backbone. Имеется даже надстройка Python-PouchD для использования PouchDB в проектах на языке Python и реализация обособленного CouchDB-совместимого сервера. Для локального хранения данных в браузерах задействован API IndexedDB, а при его отсутствии WebSQL. При обособленной работе и использовании с Node.js для хранения используется LevelDB или SQLite.

Новый выпуск примечателен оптимизацией производительности, расширением диагностических сообщений и реализацией режима запросов "latest: true", при котором сервер всегда выдаёт самую свежую версию документа, независимо от запрошенной ревизии. В новой версии также приведена в порядок и полностью протестирована реализация метода fetch(), предназначенного для использования PouchDB в обработчиках на базе Service Worker, в которых недоступен API XMLHttpRequest.

  1. Главная ссылка к новости (https://pouchdb.com/2016/12/12...)
  2. OpenNews: Выпуск документ-ориентированной БД Apache CouchDB 2.0
  3. OpenNews: Выявлено около 6000 скомпрометированных установок СУБД Redis
  4. OpenNews: Рейтинг популярности СУБД за 2015 год
  5. OpenNews: Выпуск СУБД Couchbase Server 4.0, сочетающей возможности CouchDB, memcached и Membase
  6. OpenNews: IBM покупает компанию Cloudant и выделяет дополнительные ресурсы для разработки Apache CouchDB
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45710-pouchdb
Ключевые слова: pouchdb, couchdb, database
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:49, 18/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    А ТЫ ещё не написал свою СУБД?
     
     
  • 2.3, fail_ (?), 13:05, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Koнткecнее cкaзaть/спросить/etc (js), в частном смысле - когда bunutils переведут на JS.. ?
    Kаг-то таг (c)

    P.S.:
    Доколе ?

     

  • 1.2, Gemorroj (ok), 12:56, 18/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    интересно, что с безопасностью подобной синхронизации
     
     
  • 2.13, Аноним (-), 17:32, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > интересно, что с безопасностью подобной синхронизации

    Что конкретно вас беспокоит?

     
     
  • 3.17, Gemorroj (ok), 18:15, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    авторизация клиента на удаленной БД. и защита от подмены данных в локальной БД.
     
     
  • 4.20, Аноним (-), 18:36, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем авторизация? Разве информация не должна быть свободной, как завещал мужик на твоей аватарке?
     
     
  • 5.28, angra (ok), 01:33, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А завещание это он лично отдал твоей прабабке и с тех пор его текст передается в твоей семье из поколенья в поколенье. А написанное в ПСС это враньё кровавых жидобольшевиков. Угадал?
     
     
  • 6.37, Алконим (?), 02:04, 20/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Его прабабка не болела сифилисом, так что наверное это другая (или другой).
     
  • 4.29, Аноним (-), 02:14, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну на данный момент couchdb рекомендуют создавать отдельно на каждого юзера БД.
    что собственно не сложно. Но можно данные хранить и в одной БД, но там потребуеться изменять код авторизации и доступа к данным. Полистайте рассылку couchdb в ней это было.
     

  • 1.4, Аноним (-), 13:48, 18/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нафиг-нафиг, накапливать данные чтоб их прочитал любой гугл трекер
     
  • 1.6, Базилик Киберскотч (?), 14:17, 18/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    На самом деле годная штука. Чтобы сайтецы с поддержкой оффлайн режима клепать
     
     
  • 2.8, Аноним (-), 15:26, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда гляньте еще TingoDB, это MongoDB на чистом JavaScript.
     
     
  • 3.38, Алконим (?), 02:05, 20/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда гляньте еще TingoDB, это MongoDB на чистом JavaScript.

    Оно для nodejs а не для браузера.

     

  • 1.9, Аноним (-), 16:00, 18/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опять Javascript но почему люди не учаться на ошибках , вспомнити как тормозит атоп и еще npm leftpad и еще null underfined .
     
     
  • 2.10, Аноним (10), 16:11, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы, судя по всему, тоже не учитесь
    А Атом работает прекрасно, проблемы в пакетном менеджере не вижу, если уж так сильно боитесь за пакеты, храните их в .tgz на своём сервере или же в самом репозитории, в null и undefined тоже нет никаких проблем
     
     
  • 3.11, Аноним (-), 16:21, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Атом работает пока не начинает тормозить , я только это хотел обратить внимание . Не ужели не очевидно что надо писать на нормальных языках таких как С или С++ а не на Javascript . Почему люди не понимают это ? Почему ты отрицаешь очевидное ?
     
     
  • 4.12, Аноним (-), 16:52, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если абсолютно все будут писать на С и С++, то программы будут не только тормозить, но и будут насквозь дырявыми
     
  • 4.14, KonstantinB (ok), 17:52, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такие заявления обычно делают те, кто сам не написал ничего сложнее hello world.
     
     
  • 5.18, Базилик Киберскотч (?), 18:16, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Поясняю. Суть как раз в том, что плохих программистов много. И они напишут много дырявого кода.
    Если вы можете писать не дырявый код, вы - молодец. Но таких меньшинство
     
     
  • 6.21, Led (ok), 18:39, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Суть как раз в том, что вэб-макак много.

    //fixed

     
  • 6.23, KonstantinB (ok), 22:04, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Плохие программисты пишут плохой код на любом языке.
     
  • 4.27, freehck (ok), 01:11, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не ужели не очевидно что надо писать на нормальных языках таких как С или С++ а не на Javascript .

    Ну не знаю. Я вот недолюбливаю js, хотя вот давеча пришлось и на нём написать немного кода.
    А вот что касается "нормальности" языков, то тут всякий раз сталкиваешься с вопросом: а какой язык лучше подходит для текущей задачи?

    Вот для скриптования каких-либо процессов в системе zsh (ну ок, для кого-то bash или dash, может быть) незаменим. Для обработки текстовых данных - perl5 великолепен. Для серьёзных задач со сложной логикой - ocaml. Для задач, где требуется высокая производительность - си. Если задача быстро получить рабочий прототип, то racket/sbcl в помощь. А если надо дополнение для браузера - ну куда же тут без js?

    Что, собственно, такого "нормального" конкретно в c/c++? У них есть своя ниша, свои проблемы. Серебряной пули нету, и вряд ли появится на нашем веку.

     
     
  • 5.30, Crazy Alex (ok), 06:05, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Нормальные" - это языки, которые минимальным количеством покрывают все сколько-нибудь значимые в реальной жизни ниши. Потому что чем больше - тем больше изучать, тем дороже поддерживать и больше шансов нарваться на что-то неожиданное.

    Скриптование и прочий процессинг "на коленке" (в т.ч. текст), прототипы - Perl/Python.
    Сложная логика, гуй - плюсы.
    Скорость - си.
    Огромный энтерпрайзный софт, где главное - чтобы вообще работало - джава.

    Всё это - перемешать в нужной пропорции - от питоновских пользовательских скриптов в либре до JNI.

    В этом плане JS - ни хрена не "нормальный", так как не имеет своей архитектурной ниши. На его месте в зависимости от масштаба задачи гораздо лучше был бы питон или плюсы. Но - нет их в браузерах в сколько-нибудь приличном виде.

    P.S. Всё остальное - это узкие ниши в плане количества софтин, которые на них пишутся.

     
     
  • 6.33, Аноним (-), 12:57, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсы это не нормальный язык, а исторически сложилось, для гуя и сложной логики тем-более, есть языки в которых не нужно постоянно помнить что там не нужно писать, и они более нормальны для таких задач ( js к ним не относится ) просто так сложилось исторически что более менее нормальные инструменты для гуя есть либо "небесплатные" либо c|c++
     
  • 6.34, Аноним (-), 13:01, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Скриптование и прочий процессинг "на коленке" (в т.ч. текст), прототипы - Perl/Python.

    В дополнение Perl ну очень спецефичный, просто сложилось так что он есть в т.ч. с некоторыми отшлифованными библиотеками ( как и Fortran в некоторых областях ).

    Python ну очень на любителя, да ещё иногда падает там где не должен ( оригинальный подход к utf )

     
     
  • 7.39, Алконим (?), 02:09, 20/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скриптование и прочий процессинг "на коленке" (в т.ч. текст), прототипы - Perl/Python.
    > В дополнение Perl ну очень спецефичный,

    Ну да. Perl это продукт эволюции ed -> sed -> awk + shell -> perl. Очень хороший язык который заменяет эти инструменты.

     
  • 6.36, KonstantinB (ok), 13:47, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Для языка, разработанного за 10 дней буквально на коленке для внедрения в браузеры середины девяностых, JS вполне хорош. Автор предусмотрел вещи, которых не было в ТЗ, но которые обеспечили долговременное выживание языка - прототипы и замыкания. Не случись этого, сейчас бы писали браузерные скрипты на вижуал-бейсике.

    Нынешнее пропихивание JS везде, куда можно и нельзя, и его бурное и не всегда логичное развитие, с одной стороны, выглядит сомнительно, с другой стороны, вполне закономерно как следствие его популярности (повторение истории PHP).

     
  • 3.15, Баралгин (?), 17:56, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >А Атом работает прекрасно

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

     
     
  • 4.16, Аноним (-), 18:08, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Я на Атоме сижу, наверное уже полтора года, для JS подходит в самый раз, из плагинов стоит бьютификатор, еслинт, минимап и подсказки по мелочи, сам он открывается где-то за секунду, да, есть проблемы с большими файлами, ну как проблемы, подсветка дольше инициализируется, а так всё в порядке
     
     
  • 5.19, Аноним (-), 18:27, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    так это ты пишешь всякую хрень на javascript'е, вместо того чтобы писать на с++?
     
  • 5.24, username (??), 23:22, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пробовал как то, думаю здесь дело не сколько в технологии сколько в прямых руках, VS code от компании зла работает намного адекватнее, в том числе и по ресурсам хотя вроде бы написано на тех же технологиях. Тормозов нет, залипаний не замечено было.
     
  • 5.40, Алконим (?), 02:10, 20/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Я на Атоме сижу, наверное уже полтора года, для JS подходит в

    IMHO, brackets лучше.

     
  • 2.22, Аноним (-), 20:26, 18/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CouchDB написан на Erlang... Это можно использовать лишь как "клиент" для репликации информации в локальное хранилище и быстрой работы с ним.
     

  • 1.32, Rodegast (ok), 11:31, 19/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > PouchDB позволяет создавать web-приложения, способные полноценно функционировать в offline-режиме

    Внимание. Количество потребляемой вашем броузером памяти скоро утроится!

     
     
  • 2.35, Аноним (-), 13:02, 19/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> PouchDB позволяет создавать web-приложения, способные полноценно функционировать в offline-режиме
    > Внимание. Количество потребляемой вашем броузером памяти скоро утроится!

    Главное браузер полностью в tmpfs направить, что-бы на память базы не оставались.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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