NoSQL — HackerX https://hackerx.ru Блог о программировании, СУБД, сетях и алгоритмах. Уроки и статьи по разным языкам программирования Wed, 11 Jul 2018 07:15:23 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.9.8 Что такое Memcached — Основы работы с NoSQL хранилище данных https://hackerx.ru/memcached-nosql/ https://hackerx.ru/memcached-nosql/#respond Mon, 31 Jul 2017 13:08:04 +0000 https://hackerx.ru/?p=620 Memcached — это высокопроизводительная программное обеспечение, который предназначен для кэширование объектов в оперативной памяти на основе хеш-таблицы. Проще говоря, Memcached — это NoSQL хранилище данных, а данные хранятся в оперативной памяти по принципу key-value (ключ/значение). Данная система изначально разработали инженеры / разработчики компании Danga Interactive для LiveJournal. Но после этого данная система была выпущена как открыть проект и его начали использовать такие гиганты, как Wikipedia, YouTube, Facebook… Memcached отличается […]

The post Что такое Memcached — Основы работы с NoSQL хранилище данных appeared first on HackerX.

]]>
Memcached — это высокопроизводительная программное обеспечение, который предназначен для кэширование объектов в оперативной памяти на основе хеш-таблицы. Проще говоря, Memcached — это NoSQL хранилище данных, а данные хранятся в оперативной памяти по принципу key-value (ключ/значение).

Данная система изначально разработали инженеры / разработчики компании Danga Interactive для LiveJournal. Но после этого данная система была выпущена как открыть проект и его начали использовать такие гиганты, как Wikipedia, YouTube, Facebook…

Memcached отличается от других хранилищ данных фантастическими характеристиками производительности. Это за счет того, что данная система не использует жесткий диск, вместо этого он хранит данные только в оперативной памяти компьютера / сервера. Но у такой системы ест и недостатки:

  • Ограниченный объем данных
  • Надежность хранение данных

 

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

Кроме Memcached есть еще одна примерно такая система хранилища данных. Он тоже все данные хранить в оперативной памяти, и он тоже NoSQL база. Но кроме того, что он все данные хранить в операционной системе, он время от времени данные записывает на жесткий диск, и если данные были удалены с оперативной памяти, он автоматический восстановить из жесткого диска (Все этого настраивается как вам угодно). Это Redis, и у меня есть несколько статей по Redis:

 

Memcached реализует базовый необходимый минимум функции хранилища данных:

  • Соединение с сервером
  • Добавление, удаление и обновление объекта
  • Получение значение объекта
  • Инкремент, декремент и еще пара других операции.

 

Основы работы с Memcached




Давайте немного подробнее рассмотрим данную систему. После соединение клиента с хранилищем данных, клиенту будут доступны следующие команды:

  • set — установить ключу объект в качестве значение,
  • add — добавить кэш-пару ключ/объект (это тоже самое, что и set, но будет выполняться, если в системе такого ключа не было),
  • replace — поменять значение ключа,
  • get — получить из хранилища объект по указанному ключу,
  • delete — удалить ключ и значение по указанному ключу.

 

Это нам напоминает стандартные SQL операции — INSERT, UPDATE, DELETE. Кроме этих операций, есть дополнительные, значение которых трудно переоценить.

  • cas — установить ключу объект в качестве значение, в том случае, если он не был изменен с момента последней операции чтения. Cas (check and set) — это аналог транзакции,
  • gets — делает то, что и get, но получает дополнительные данные — версию пары ключ-значения,
  • incr / decr — инкремент и декремент. Увеличение или уменьшение значение ключа на единицу,
  • append / prepend — добавление значение в конец и начало строгого значение ключа.

 

Имея данные команды на руках мы можем в Memcached реализовать довольные сложные структуры.

Memcached реализован в качестве демона (daemon), который слушает TCP-порт — по умолчанию это 11211. Мы можем работать с ним напрямую, но это немного сложно, поэтому для большинства языков программирования давно созданы библиотеки, которые, кроме удобства добавляют дополнительный функционал. В следующем уроке мы будем работать с Memcached из Node.js, посмотрим какие модули / библиотеки есть для этой цели, какой функционал он представляет и напишем небольшое приложение.

Весь список уроков Node.js вы можете найти на этом странице.

The post Что такое Memcached — Основы работы с NoSQL хранилище данных appeared first on HackerX.

]]>
https://hackerx.ru/memcached-nosql/feed/ 0
Установка Redis на Linux Ubuntu 16.04 и 14.04 https://hackerx.ru/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-redis-%d0%bd%d0%b0-linux-ubuntu/ https://hackerx.ru/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-redis-%d0%bd%d0%b0-linux-ubuntu/#respond Sat, 21 Jan 2017 16:39:50 +0000 https://hackerx.ru/?p=371 Redis — это высокопроизводительная key-value хранилище данных. Он хранит данные в оперативной памяти. Redis разработан в 2009 году. Это NoSQL база данных, который позволяет хранить большие объемы данных. Redis поддерживает большое количество языков программирования. Redis можно использовать как и в качество основной базы данных, так и для хранение кэша. В отличие от Memcached, который может в любой момент удалить ваши данные, он хранит информацию […]

The post Установка Redis на Linux Ubuntu 16.04 и 14.04 appeared first on HackerX.

]]>
Redis — это высокопроизводительная key-value хранилище данных. Он хранит данные в оперативной памяти. Redis разработан в 2009 году. Это NoSQL база данных, который позволяет хранить большие объемы данных. Redis поддерживает большое количество языков программирования. Redis можно использовать как и в качество основной базы данных, так и для хранение кэша. В отличие от Memcached, который может в любой момент удалить ваши данные, он хранит информацию постоянно.

Настройки для установки Redis

В первую очередь нам нужно обновить все пакеты:

sudo apt-get update

После обновление пакетов нам нужно скачать и установить компилятор, который поможет установить Redis.

sudo apt-get install build-essential

И, наконец, нам нужно скачать tcl:

sudo apt-get install tcl8.5

Установка Redis

И так, приступаем к установке Redis. С официального сайта загружаем последнюю стабильную версию Redis:

wget http://download.redis.io/releases/redis-stable.tar.gz

После загрузки, нужно разархивировать архив и перейти в каталог:

tar xzf redis-stable.tar.gz
cd redis-stable

А сейчас нам нужно компилировать бинарные файлы Redis. Это делается с помощью команды make.

make

После компиляции, мы можем запустить тесты, чтобы убедиться, что все правильно скомпилировано:

make test

После выполнение тестов можно установить бинарные данные. Эта команда устанавливает Redis в масштабах всей системы:

sudo make install

После установки, нужно запустить Redis. Redis поставляется с скриптом, с помощью которого можно запустить программу.

Переходим в каталог utils:

cd utils

Из этого каталога запускаем установочный скрипт (Ubuntu / Debian):

sudo ./install_server.sh

После завершение работы скрипта, Redis будет работать в фоновом режиме. По умолчанию Redis запускается на порту 6379. Redis можно запустить и остановить с помощью этих команд:

sudo service redis_6379 start
sudo service redis_6379 stop

Можно получить доступ к базе данных с терминала с помощью этой команды:

redis-cli

У хранилище данных Redis есть очень много настроек. В следующем статье я расскажу о самых важных настроек и об обеспечение безопасности данных. Также, можете узнать, как можно использовать Redis в Node.js.

The post Установка Redis на Linux Ubuntu 16.04 и 14.04 appeared first on HackerX.

]]>
https://hackerx.ru/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-redis-%d0%bd%d0%b0-linux-ubuntu/feed/ 0