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

18 декабря 2017 года

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

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. При работе не под управлением браузера для хранения используется LevelDB или SQLite.

Основные новшества:

  • В функции allDocs() и query() добавлен флаг update_seq, по аналогии с CouchDB включающий в ответ значение идентификатора последовательности;
  • Добавлено появившееся в CouchDB 2.0 свойство "pending" для передачи сведений о числе ожидающих репликации документов;
  • Обеспечено выполнение пакетного запроса ключей через allDocs в рамках одной транзакции indexedDB и WebSQL. В Chrome подобная оптимизация ускорила выполнение allDocs до 8 раз, а в Friefox до 2 раз;
  • Добавлена возможность сохранения cookie при работе под управлением Node.js.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск СУБД PouchDB 6.4, реализации CouchDB на JavaScript», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.