• PouchDB или что делать когда «интернет стабильный»

    • Tutorial
    В наше время скорость работы WEB-приложения сильно влияет на лояльность пользователей. Зачастую приходится переносить некоторую бизнес-логику в клиентский код, работающий в браузере пользователя.

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

    Знакомство


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

    image

    Версии браузеров, в которых работает PouchDB:

    • Firefox 29+ (включая Firefox OS и Firefox для Android)
    • Chrome 30+
    • Safari 5+
    • Internet Explorer 10+
    • Opera 21+
    • Android 4.0+
    • iOS 7.1+
    • Windows Phone 8+

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

    image

    Читать дальше →
  • Как неправильно протестировать производительность NoSQL БД в Amazon

      Пост рассказывает о моем неудачном тесте производительности, а также показывает пару неправильных цифр производительности ARDB c встраиваемой БД LMDB в Amazon EC2 контейнерах.
      Читать дальше →
    • Splunk Discovery Day 2017 в Москве. Как все прошло…



        На прошлой неделе в московской гостинице Украина состоялось самое масштабное мероприятие посвященное Splunk в России, и хотя всего месяц назад в Вашингтоне проходил Splunk .conf, московская конференция испытала большой ажиотаж со стороны участников. Наиболее интересной частью мероприятия стала сессия с выступлениями уже существующих заказчиков со своими историями успеха. Это такие компании как: Мегафон, Yota, Банк ДельтаКредит, служба доставки SPSR Express, телеканал Russia Today. В этот момент зал был полон и некоторые участники слушали доклады стоя, в целом конференцию посетило порядка трехсот человек.
        Читать дальше →
      • Как прикрутить нормальный поиск к устаревшему SQL-бэкенду

          Предположим, нужно собрать персональную информацию, например, дни рождения, имя, пол, количество детей и т.п., а также некоторые маркетинговые данные — как часто пользователи используют кнопки в корзине мобильного приложения и т.п. У нас уже есть приложение на базе SQL, но (как мы увидим дальше) продолжать использовать SQL для поиска — не лучшая идея. Для поиска придется прикрутить какой-то NoSQL движок.

          Как совместить миры SQL и NoSQL? В этой статье будет несколько живых примеров интеграции продвинутого поискового движка Elasticsearch в устаревшие приложения, работающие с RestX, Hibernate и PostgreSQL/MySQL.

          Расскажет об этом Дэвид Пилато (David Pilato) — эксперт компании Elastic (это те ребята, что сделали Elasticsearch, Kibana, Beats, and Logstash — то есть, Elastic Stack). У Дэвида есть огромный опыт проведения докладов о продуктах Elastic (конференции Devoxx в Англии, Бельгии и Франции, всевозможные JUG, Web5, Agile France, Mix-IT, Javazone, доклады для конкретных компаний, и так далее). Иначе говоря, излагает Дэвид весьма понятно и доходчиво, а его доклады заменяют тренинги за сотни нефти.

          В основе этой публикации — доклад Дэвида на конференции Joker 2016, которая прошла в Санкт-Петербурге в минувшем октябре. Тем не менее, обсуждаемые темы за прошедший год никак не потеряли актуальности.

          Статья доступна в двух вариантах: видеозапись доклада и полная текстовая расшифровка (жмите кнопку «читать дальше»  ⇩). В текстовом варианте все необходимые данные представлены в виде скриншотов, так что вы ничего не потеряете.


          Читать дальше →
        • Почему SQL одерживает верх над NoSQL, и к чему это приведет в будущем

          • Перевод

          SQL пробуждается и наносит ответный удар силам тьмы — NoSQL

          С самого начала компьютерной эры человечество собирает экспоненциально растущие объемы данных, и вместе с этим растут требования к системам хранения, обработки и анализа данных. Из-за этого в последнее десятилетие разработчики ПО отказались от SQL как от устаревшей технологии, которая не могла масштабироваться вместе с растущими объемами данных — и в результате появились базы данных NoSQL: MapReduce и Bigtable, Cassandra, MongoDB и другие.

          Однако сейчас SQL возрождается. Все основные поставщики облачных услуг предлагают популярные управляемые сервисы реляционных баз данных: Amazon RDS, Google Cloud SQL, база данных Azure для PostgreSQL (запущена буквально в этом году) и другие. Если верить компании Amazon, ее совместимая с PostgreSQL и MySQL база данных Aurora стала «самым быстрорастущим сервисом в истории AWS». Не теряют популярности и SQL-интерфейсы поверх платформ Hadoop и Spark. А в прошлом месяце поддержку SQL запустила и Kafka. Авторы статьи скромно признаются, что и сами разрабатывают новую базу данных временных рядов, которая полностью поддерживает SQL.

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

          Переведено в Alconost

          Часть 1. Новая надежда

          Читать дальше →
        • За счет чего Tarantool такой оптимальный

            Денис Аникин

            Аникин Денис ( danikin, Mail.Ru)


            Доклад будет посвящен Tarantool. Я всегда рассказывал про use case, про что-то такое, что видит пользователь. Сегодня буду больше рассказывать про внутренности.

            Когда я первый раз увидел Tarantool, когда я узнал его бенчмарки, какая у него производительность, то мне это не то, чтобы показалось подозрительным, потому что все-таки я уже до этого программировал больше чем 10 лет и примерно понимал, что можно выжать из железа при оптимальном программировании, при оптимальном коде. Но все равно мне это показалось подозрительным — как так получается, что он такой быстрый? Т.е., условно, если все базы данных могут работать со скоростью в лучшем случае в десятки тысяч запросов в секунду, а Tarantool — до сотен тысяч и вплоть до миллиона.

            Поэтому, прежде чем начать применять его в продакшне, в Почте mail.ru и в Облаке, я все очень внимательно изучил и выяснил, как Tarantool устроен внутри, и что его делает таким оптимальным. И я подозреваю, что, наверное, у других пользователей Tarantool тоже есть такое же подозрение — что-то он какой-то слишком быстрый, и как-то это подозрительно…
            Читать дальше →
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

            Подробнее
            Реклама
          • Приложения для Tarantool 1.7. Часть 2. OAuth2-авторизация

            • Tutorial

            Как построить свое приложение для Tarantool и при этом не городить огород каждый раз, когда требуется сделать, казалось бы, элементарную вещь? Это продолжение цикла статей о том, как создавать свои приложения для Tarantool.


            Сегодня мы рассмотрим вопросы сетевого взаимодействия, установки и использования сторонних модулей.


            Читать дальше →
          • Сравнительное нагрузочное тестирование Lua-коннекторов для Tarantool из NGINX

            В последнее время на Хабре появляется достаточно много статей про Tarantool — базу данных и сервер приложений, который используется в Mail.Ru Group, Avito, Yota в разных интересных проектах. И вот, я подумал – а чем мы хуже? Давайте тоже попробуем.

            В силу своей профессиональной деформации буду рассматривать следующий кейс:

            • Есть Web-ресурс, доступ к которому мы хотим ограничить;
            • Сам ресурс менять нельзя или крайне нежелательно.

            Как подступиться к данной задаче?
            Читать дальше →
            • +15
            • 3,9k
            • 3
          • Приложения для Tarantool 1.7. Часть 1. Хранимые процедуры

            • Tutorial

            Привет, Хабр! Сегодня я хочу поделиться с вами опытом написания приложений для Tarantool 1.7. Этот цикл статей будет полезен тем, кто уже собирается использовать Tarantool в своих проектах, либо тем, кто ищет новое решение для оптимизации проектов.


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


            Tarantool — это NoSQL база данных, которая хранит данные в памяти либо на диске (в зависимости от подсистемы хранения). Хранилище персистентно за счет продуманного механизма write ahead log. В Tarantool встроен LuaJIT (Just-In-Time Compiler), позволяющий исполнять код на Lua. Также можно писать хранимые процедуры на C.


            image

            Читать дальше →
          • Приглашаем на Tarantool Meetup 10 августа



              Всем привет! 10 августа 2017 мы приглашаем архитекторов и разработчиков в московский офис Mail.Ru Group, где состоится Tarantool Meetup, посвященный архитектуре и реализации корпоративных микросервисов с использованием Tarantool. Мы поделимся с вами своими подходами к проектированию решений и покажем на примере двух простых сервисов как можно за два часа решить две типовые задачи. И традиционно будет много интересных технических дискуссий на самые разные темы! А если вы возьмете с собой ноутбук с установленным Docker, то сможете сами пощупать все своими руками. Программу читайте под катом.
              Читать дальше →
            Самое читаемое
            Интересные публикации