РЭДЛАЙН
Лучшие решения для Вас и Вашего бизнеса!
На нашем сайте вы можете получить информацию о веб-разработке, обслуживании и продвижении сайта. Интернет-маркетинге. SEO (поисковой оптимизации). Контекстной и медийной рекламе в Интернете. SMM. Регистрации доменов и хостинговых услугах. И современном дизайне сайтов. Вообщем того что касается веб-разработки, а также много другой полезной информации из мира интернета, бизнеса и интернет-технологий...
Создаем доступные и современные сайты, которые работают! Обслуживаем и эффективно продвигаем интернет-проекты с 2006 года!
Главная Web-мастеру Знакомство с CouchDB


Знакомство с CouchDB

NoSQL был одной из самых обсуждаемых тем на протяжении нескольких прошедших месяцев. В этом уроке мы познакомим вас с CouchDB, которая не работает с SQL запросами, а также дадим хороший старт для самостоятельного изучения.

Что такое NoSQL?

NoSQL - это специальная концепция, которая позволяет вам быть более раскрепощённым в запросах к БД.

NoSQL [не только SQL] - это концепция, предназначенная для осуществления доступа к группированным данным, не использующая реляционную модель данных. Фундаментальные различия кроются в способе осуществлении доступа и актуализации данных, а также их размещении. Например, когда вы должны были бы хранить данные о каком-то счете, то вам требовалась специальная таблица, работа с которой предусматривала знание особого серверного языка для того, чтобы преобразовать эти данные в реальные объекты. Используя NoSQL, вам нужно хранить только данные о счёте. NoSQL абсолютна не превиредлива к структуре хранения данных, что позволяет вам не заморачиваться насчёт структуры таблиц — вы можете просто начать хранить новые записи.

Продолжим приведённый выше пример. Некоторые счета могут содержать число VAT, другие нет. В обычном привычном подходе, вам необходимо сообщить таблице, что значение этого поля (VAT) может иметь значение, а также может быть равно просто null. В свою очередь, в NoSQL, вы можете сохранить как счета без числа VAT, так и счёт с этим значением — строгой схемы тут нет. Имейте в виду, что NoSQL - не совсем совершенное орудие. Если ваши данные лучше ложатся на реляционную модель, то лучше использовать SQL-ские базы данных, иначе можно потерять много времени и сил.

Запросы в базах данных NoSQL

Принцип MapReducing содержит несколько преимуществ по сравнению с SQL-скими базами данных, потому что элементарные задачи могут выполняться быстрее, чем это происходит в реляционных Системах Управления Базами Данных.

Базы данных, основанные на NoSQL используют маппинг для создания запросов и индексации баз данных. В реляционных СУБД вы выполняете запрос, который соединяет множество таблиц для того, чтобы вытащить пачку данных, а затем с помощью специальных операций преобразовать эти данные во что-то, с чем можно будет работать в дальнейшем. В NoSQL вы используете маппинг для того, чтобы сформировать 'представление' (другими словами, набор результатов).

Маппинг, по сути, просто производит извлечение данных, уменьшая их агрегацию. Чем больше вы привыкли к Реляционным Системам Управления Базами Данных, тем непонятней будет для вас этот урок. Ну ничего, надо же как-то освежать свои знания. MapReducing превосходит SQL-запросы, потому что различного рода задачи могут быть распределены между многократными узлами, что является невозможным в Реляционных СУБД. И так далее...

Знакомство с CouchDB

Несколько фактов о CouchDB, которые вам не помешает знать:

CouchDB - это база данных, которая ориентируется на хранение данных в формате JSON, написанная на языке программирования Erlang.

  • Это действительно сильный конкурент на своём рынке, созданный для того, чтобы упростить многие задачи, которые можно будет осуществить на различных устройствах без всяких осложнений.
  • Это очередной представитель баз данных, не базирующихся на SQL запросах.
  • Этот инструмент входит в пакет вместе с проектом Apache.
  • CouchDB позволяет приложениям хранить данные в формате JSON и осуществлять доступ к ним через особый интерфейс.
  • Это новый способ хранения, индексации и осуществления доступа к данным.

Главные преимущества CouchDB

  • JSON документы – все, что вы хотите сохранить в CouchDB должно быть преобразовано к формату JSON.
  • REST интерфейс – все операции, включая вставку данных, в CouchDB осуществляются через HTTP.
  • Множественная репликация – вы можете использовать неограниченное количество 'устройств', создавая особенные и неповторимые топологии репликации.
  • Пригодный для офлайнового использования – CouchDB может быть реплицирован к различным устройствам (к примеру, таким, как телефоны Android), которые могут менять данные офлайн, а в последствии, сохранять изменения при помощи специальной системы синхронизации, когда сеть будет снова доступна.
  • Фильтры репликации – вы можете фильтровать данные, которые хотите тиражировать на различные узлы.

Всё в кучу

CouchDB представляет собой следующий виток развития баз данных, разработанных для работы в сети.

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

Хранение базы данных локально означает, что ваше клиентское приложение может работать без каких-либо задержек. Благодаря этой возможности, ваши пользователи могут получить доступ к своим данным через их мобильный телефон и производить изменения без задержек во времени и в режиме оффлайн. Как только соединение с интернетом будет восстановлено, данные автоматически синхронизируются и актуализируются при помощи функций CouchDB.

CouchDB - это база данных, разработанная для того, чтобы дать новый виток развития интернет приложениям, которые основываются на десктоп интерфейсах.

Шаг 1 – Установка CouchDB

Самый легкий способ установки CouchDB на вашу систему заключается в том, чтобы перейти на сайт CouchOne (http://www.couchone.com/get) и загрузить установочный файл CouchDB специально для вашей операционной системы — в моём случае это OSX. Загрузите zip файл, распакуйте его и поместите CouchDBX в папку приложения.

Далее запускаем CouchDBX.

Шаг 2 – Добро пожаловать в Futon

После того, как вы запустите CouchDB, вы должны увидеть панель управления Futon. Если, по какой-либо причине, осуществить доступ к интерфейсу не удалось, то то же самое можно проделать через ваш браузер. Если вы посмотрите в логи, CouchDBX сообщит вам, что CouchDB был запущен по адресу http:// 127.0.0.1:5984/ (может отличаться на вашей системе). Откройте браузер и зайдите на адрес http://127.0.0.1:5984/_utils/, после чего вы должны увидеть Futon.

Оставшуюся часть урока я будут обращаться к панели управления Futon через Firefox. Для удобства у меня также стоит Firebug и активирована консоль, с помощью которой я могу отслеживать все HTTP запросы, которые Futon будет отправлять. Это очень хорошо, так как ваше приложение может функционировать также, как и Futon. Давайте двинемся вперёд и создадим базу данных, название которой будет mycouchshop.

jQuery плагин CouchDB

Futon фактически использует jQuery плагин, чтобы взаимодействовать с CouchDB. Вы можете найти по адресу http://127.0.0.1:5984/_utils/script/jquery.couch.js (прошу отметить тот момент, что ваш порт может отличаться). Разобрав тот код, вы сможете узнать много интересных вещей, которые позволяют скрипту взаимодействовать с CouchDB.

Шаг 3 – CouchDB и пользователи

По умолчанию CouchDB абсолютно открыт, что даёт возможность каждому пользовательскому администратору права на доступ ко всем базам данных. Это очень удобно для разработки. Давайте двинемся дальше и создадим администратора. В нижнем правом углу вы увидите следующее: "Добро пожаловать в панель администрирования! Все являются администраторами! Исправляйте положение”.

Не медлите и щёлкайте по ссылке fix this, что позволит вам указать имя пользователя и пароль. Эти действия помогут вам создать учетную запись администратора и предоставить анонимный пользовательский доступ к операциям чтения и операциям записи на всех базах данных. Внимание: это не касается операций, проводимых над конфигурацией.

Ещё немного о пользователях

Для CouchDB было бы неблагоразумным создание единственного супер пользователя и предоставление ему прав на чтение и запись.

Поначалу вы можете быть немного обескуражены тем, как представлены пользователи в CouchDB, особенно если вы привыкли к созданию различных пользователей для всех своих приложений, а затем управлять ими самостоятельно в пределах пользовательской таблицы. В CouchDB было бы неблагоразумно создание одного единственного супер пользователя и предоставление ему прав доступа на чтение и запись. Если вы принимаетесь делать клиентскую часть приложения, то данные об этой учетной записи будут расположены в вашем исходном коде JavaScript.

В СouchDB существует встроенная система создания пользователя и авторизации. Вы можете создать пользователей при помощи jQuery плагина, используя $.couch.signup(). Таким образом, вы можете создавать пользователей вашей системы. Пользователи представляют собой те же записи в формате JSON, так что вы можете назначать им любые дополнительные атрибуты, которые вам понадобятся. Например, электронная почта. Для того, чтобы прикрепить одни и те же атрибуты к множеству пользователей, вы можете создать специальные группы в пределах CouchDB.

Шаг 4 – Создание документа

Теперь давайте создадим наш первый документ, используя Futon:

  • Откройте базу данных mycouchshop.
  • Щелкните “New Document”.
  • Щелкните, "Add Field”, чтобы начать добавлять данные к документу JSON. Заметьте, что поле ID уже предварительно создано. Я очень не советую изменять его. Добавьте ключевое "имя" со значением “Nettuts CouchDB Tutorial One”.
  • Убедитесь, что вы отметили галочкой каждый атрибут, чтобы сохранить изменения.
  • Щелкните, "Save Document”.

Теперь поднимитесь на уровень выше, к нашей базе данных.Теперь вы можете увидеть только что созданный документ с некоторыми ключами.

Шаг 5 – Обновление документа

CouchDB - это база данных, в которую можно что-то добавлять — новые обновления, добавленные к базе данных, не перезаписывают старую версию. Каждое новое обновление к документу JSON с существующим ранее ID добавит новую версию обновлённого документа. Для этого используется автоматически вставленный ключ версии:

  • При просмотре содержания базы данных mycouchshop щелкните по единственной доступной записи.
  • Добавьте другой атрибут с ключевым "type" и значением "production".
  • Нажмите “Save Document”.

После сохранения новый ключ версии должен быть равен 2. Возвращаясь к представлению базы данных mycouchshop. Вы по-прежнему должны видеть один документ, т.к. по умолчанию отображается только самая последняя версия.

Версии

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

Шаг 6 – Создание документа, используя cURL

Я уже упомянул, что CouchDB использует REST интерфейс, так что все запросы мы можем просмотреть через консоль в Firebug. Теперь давайте воспользуемся терминалом для того, чтобы создать документ, используя cURL.

Во-первых, давайте создадим документ JSON с содержанием, указанным ниже, и сохраним с именем person.json на рабочий стол.

{
    "forename": "Gavin",
    "surname":  "Cooper",
    "type":     "person"
}

Затем откройте терминал и выполните команду cd ~/Desktop/, а затем curl -X POST http://127.0.0.1:5984/mycouchshop/ -d @person.json -H "Content-Type: application/json". CouchDB должен был возвратить документ JSON, подобный тому, что вы можете найти ниже.

{"ok":true,"id":"c6e2f3d7f8d0c91ce7938e9c0800131c","rev":"1-abadd48a09c270047658dbc38dc8a892"}

Это ID и число, представляющее версию вставленного документа. CouchDB использует седующие правила:

  • POST – создает новую запись
  • GET – извлекает записи
  • PUT – обновляет запись
  • DELETE – удаляет запись

Шаг 7 – Просмотр всех документов

Вы можете осуществить проверку вставки нового документа в базу mycouchshop следующим образом: перейдя по адресу curl -X GET http://127.0.0.1:5984/mycouchshop/_all_docs.

Шаг 8 – Создание простой функции

Теперь давайте рассмотрим другой способ просмотра всех документов:

  • В пределах Futon щелкните по выпадающему меню и выберите “Temporary View”.
  • Скопируйте код, который вы увидите.
function (doc) {
    if (doc.type === "product" && doc.name) {
    emit(doc.name, doc);
    }
}
  • Кликните на run , и вы должны будете увидеть единственный продукт, который мы добавили ранее.
  • Вы также можете сохранить полученное представление.

После создания простой функции мы можем теперь запросить это представление и увидеть, что передаваемое содержание по HTTP, используя следующую команду: curl -X GET http://127.0.0.1:5984/mycouchshop/_design/products/_view/products.

Так мы получаем ID документа и версию по умолчанию.

Шаг 9 – Усложняем ситуацию

Давайте добавим другой продукт к нашей базе данных, предварительно внеся новый ценовой атрибут со значением 1.75 нашему первому продукту.

{
    "name":     "My Product",
    "price":    2.99,
    "type":     "product"
}

Для нашего нового представления мы будем использовать следующее. Во-первых:

function (doc) {
    if (doc.type === "product" && doc.price) {
        emit(doc.id, doc.price);
    }
}

Вышеупомянутая функция просто проверяет, является ли введенный документ продуктом и есть ли у него цена. Если эти условия соблюдены, то используем следующий код.

function (keys, prices) {
    return sum(prices);
}

Вышеупомянутая функция возвращает цену, используя одну из встроенных функций в CouchDB.

Заключение

В этом уроке мы начали знакомство с CouchDB. Я уверен, что эта тема будет для большинства из вас нова и сложна. Но мне кажется, что в некоторых случаях, нужно отойти от традиционной работы с базами данных и воспользоваться какой-то альтернативой, если это конечно облегчит вам работу!

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/0qZ5L00x9Nk/lessons.php

Знакомство с CouchDB | | 2012-06-19 12:04:43 | | Статьи Web-мастеру | | NoSQL был одной из самых обсуждаемых тем на протяжении нескольких прошедших месяцев. В этом уроке мы познакомим вас с CouchDB, которая не работает с SQL запросами, а также дадим хороший старт для | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Дайджест новых статей по интернет-маркетингу на ваш email
Подписаться

Продающие сайты "под ключ"!

Наши сайты зарабытывают вам деньги. Landing-page. Эффективные продающие сайты точно в срок и под ключ! Всего от 28300 рублей
Подробнее...

Интернет-магазины и каталоги "под ключ"!

Эффективные и удобные инструменты торговли (электронной торговли) "под ключ". Продают, даже когда вы спите! Всего от 52700 рублей
Подробнее...

Комплексный интернет-маркетинг и продвижение сайтов

Максимальную эффективность дает не какой-то конкретный метод, а их комбинация. Комбинация таких методов и называется комплексным интернет-маркетингом. Всего от 10000 рублей в месяц
Подробнее...

Реклама в Yandex и Google

Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров. Всего от 10000 рублей в месяц
Подробнее...

Social media marketing (SMM) — продвижение в социальных медиа

Реклама в VK, Однокласcниках и на Mail.ru Создание, ведение и раскрутка групп и реклама ВКонтакте и Facebook. Всего от 10000 рублей в месяц
Подробнее...

Приглашаем к сотрудничеству рекламные агентства и веб-студии!

Внимание Акция! Приглашаем к сотрудничеству рекламные агентства и различные веб-студии России! Индивидуальные и взаимовыгодные условия сотрудничества.
Подробнее...

Ускоренная разработка любого сайта от 5 дней!

Внимание Акция! Ускоренная разработка любого сайта! Ваш сайт будет готов за 5-10 дней. Вы можете заказать разработку любого сайта "под ключ" за 5-10 рабочих дней, с доплатой всего 30% от его стоимости!
Подробнее...

Ждем новых друзей!

Внимание Акция! Ждем новых друзей! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта при переходе к нам от другого разработчика.
Подробнее...

Приведи друга и получи скидку!

Внимание Акция! Приведи друга и получи скидку! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта, если клиент заказавший наши услуги, пришел по Вашей рекомендации.
Подробнее...

1 2 3 4 5 6 7 8 9

Новые статьи и публикации



Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!

Качественное и объемное представление своего бизнеса в Сети требуется любой растущей коммерческой структуре, стремящейся увеличить продажи, именно по этой причине среди наших клиентов как крупные так и небольшие компании во многих городах России и ближнего зарубежья.
Как мы работаем

Заявка
Позвоните или оставьте заявку на сайте.


Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!


Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.


Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.


Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Остались еще вопросы? Просто позвоните и задайте их специалистам
с 2:30 до 11:30 по Мск, звонок бесплатный
Или напишите нам в WhatsApp
с 9:30 до 18:30 по Хабаровску
Или напишите нам в WhatsApp
Веб-студия и агентство комплексного интернет-маркетинга «РЭДЛАЙН» © 2006 - 2024

Профессиональная Веб-разработка. Создание сайтов и магазинов "под ключ" , а также по всей России и зарубежью. Продвижение и реклама. Веб-дизайн. Приложения. Сопровождение. Модернизация. Интеграции. Консалтинг. Продвижение и реклама. Комплексный Интернет-маркетинг.

Оставьте заявку / Задайте вопрос

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услугу

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Обратный звонок

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Подписка на дайджест новостей

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услуги со скидкой \ Бесплатная консультация







КАКИЕ УСЛУГИ ВАС ИНТЕРЕСУЮТ?

КАКИЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ ПОТРЕБУЮТСЯ?

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

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

Что нужно сделать, чтобы заказать создание сайта у нас?

Ну для начала вам нужно представлять (хотя бы в общих чертах), что вы хотите получить от сайта и возможно каким вы хотите его видеть. А дальше все просто. Позвоните нам или оставьте заявку нашим менеджерам, чтобы они связались с Вами, проконсультировали и помогли определиться с подходящим именно Вам сайтом по цене, сроку, дизайну или функционалу. Если вы все ещё не уверены, какой сайт вам нужен, просто обратитесь к нам! Мы вместе проанализируем вашу ситуацию и определим максимально эффективный для вас вариант.

Быстрый заказ \ Консультация

Для всех тарифных планов на создание и размещение сайтов включено:

Комплексная раскрутка сайтов и продвижение сайта Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...

Комплексная раскрутка работает в рамках стратегии развития вашего бизнеса в сети и направлена

Быстрый заказ \ Консультация

ЭФФЕКТИВНОЕ СОПРОВОЖДЕНИЕ (ПОДДЕРЖКА, ОБСЛУЖИВАНИЕ) САЙТОВ

Полный комплекс услуг по сопровождению сайтаМы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.

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

Наша компания осуществляет техническую и информационную поддержку уже имеющихся сайтов. В понятие «поддержка сайтов» также входят услуги администрирования сайтов, обновления сайтов и их модернизация.

Быстрый заказ \ Консультация

Редизайн сайта и Адаптивный веб дизайн

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

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

Адаптивный дизайн сайтов и веб-приложений

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

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

Быстрый заказ \ Консультация

Контекстная реклама в Яндекс и GoogleКонтекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.

Реклама в поисковых системах Яндекс и Google. Профессиональная настройка рекламы и отслеживание эффективности!

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

Быстрый заказ \ Консультация

Скидка

1500 руб.
Заинтересовались услугами создания, обслуживания или продвижения вашей компании в Интернете?!
Получите 1500 руб.
за он-лайн заявку
Предложение ограничено.

После получения заявки с Вами свяжутся наши специалисты и уточнят все детали по интересующей вас услуге.
«Нажимая на кнопку "Получить скидку", я даю согласие на обработку персональных данных»
×
Получите 1500 рублей!
×
×