Рубрика «nosql»

Недавно я узнал, что Red Hat удаляет поддержку MongoDB из Satellite (говорят, из-за изменений лицензии). Это заставило меня задуматься, что в последние несколько лет я видел кучу статей, как ужасна MongoDB и что никто никогда не должен её использовать. Но за это время MongoDB стала гораздо более зрелым продуктом. Что же случилось? Действительно ли вся ненависть объясняется ошибками в начале маркетинга новой СУБД? Или люди просто применяют MongoDB не там, где нужно?

Если вам вдруг кажется, что я защищаю MongoDB, пожалуйста, прочитайте дисклеймер в конце статьи.
Читать полностью »

Доброго времени суток!

Хочу поделиться с Вами историей о внедрении cache на БД Tarantool и своих особенностях работы.
Я работаю Java разработчиком в телекоммуникационной компании. Основная задача: реализация бизнес логики для платформы, которую компания купила у вендора. Из первых особенностей это работа по soap и практически полное отсутствие кэширования, кроме как в памяти JVM. Все это конечно хорошо до тех пор, пока количество экземпляров приложения не переваливает за два десятка…

В ходе работы и появления понимания особенностей работы платформы была предпринята попытка сделать кэширование. На тот момент была уже запущена MongoDB и как следствие особых положительных результатов как в тесте мы не получили.

При дальнейшем поиске альтернатив и совета моего хорошего друга mr_elzor было принято решение попробовать БД Tarantool.
Читать полностью »

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

FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня Serializable, хранящая отсортированные пары ключ-значение (ordered key-value store). Ключами и значениями могут быть произвольные последовательности байт. У неё нет единой точки падения — все машины кластера равноправны. Она сама распределяет данные по серверам кластера и  масштабируется на лету: когда в кластер нужно добавить ресурсов, ты просто добавляешь адрес новой машины на конфигурационных серверах и база сама подхватывает ее. Читать полностью »

Репликация в Tarantool: конфигурирование и использование - 1

Я вхожу в Tarantool Core Team и участвую в разработке движка базы данных, внутренних коммуникаций компонентов сервера и репликации. И сегодня расскажу, как устроена репликация.
Читать полностью »

Цифровая трансформация является мировым трендом для крупного бизнеса и жизненно важна для адаптации  предприятия к современным потребностям клиента. Кроме обычной для крупных компаний проблематики централизации систем и объединения биллинговых систем и абонентских БД добавляются требования к высокой доступности и режиму работы в реальном времени к которому клиенты уже привыкли у лидеров индустрии (Google, Amazon, Netflix).

Новые вызовы требуют новых технологий и подходов, которые необходимы для сокращения времени внедрения удобных клиенту функций, персонализированных коммерческих предложений, быстрой реакции на предложения конкурентов, а так же контроля затрат на системы, ИТ инфраструктуру, датацентры  и квалифицированного персонала. Эти тенденции несут и большой минус: усложнение архитектуры и раздутые транзакционные базы данных, которые не справляются с потоком и обработкой информации. Технологии предыдущего поколения имеют потолок вертикального масштабирования. К примеру, экземпляр СУБД Oracle работает на пределе самого мощного сервера на процессорах x86 при нагрузке в миллиард транзакций в сутки.

Couchbase в телекоме - 1

Для того, чтобы выдержать подобную загрузке с которой уже давно сталкивается интернет индустрия используется новый стек технологий, таких как In-Memory кэши и NoSQL базы данных. Так, Apple применяет Cassandra, Сбербанк – Ignite (GridGain), в МегаФон мы применяем Couchbase и Tarantool.

В МегаФон используются разные архитектурные шаблоны для In-Memory СУБД:

  1. Простой кэш, обновляемый по расписанию или по событию из БД и приложений
  2. Все изменения в БД осуществляются через кэш (write-through сценарий), например, подключение Oracle клиента к DCP Couchbase

Читать полностью »

TL;DR: GitHub://PastorGL/AQLSelectEx.

Aerospike AQL SELECT

Однажды, ещё не в студёную, но уже зимнюю пору, а конкретно пару месяцев назад, для проекта, над которым я работаю (нечто Geospatial на основе Big Data), потребовалось быстрое NoSQL / Key-Value хранилище.

Терабайты исходников мы вполне успешно прожёвываем при помощи Apache Spark, но схлопнутый до смешного объёма (всего лишь миллионы записей) конечный результат расчётов надо где-то хранить. И очень желательно хранить таким образом, чтобы его можно было по ассоциированным с каждой строкой результата (это одна цифра) метаданным (а вот их довольно много) быстро найти и отдать наружу.

Читать полностью »

Хорошие новости! Официальный драйвер go для mongoDB вышел в бета-версию. Немного поразмыслив я решил перевести статью с официального сайта mongoDB вместо того, чтобы писать материал самостоятельно. Вот что будет в этом туториале:

  • Установка mongo-go-driver
  • Соединение с mongoDB с помощью mongo-go-driver
  • Использование BSON объектов
  • Использование CRUD методов
    imageЧитать полностью »
Chain replication: построение эффективного KV-хранилища (часть 2-2) - 1

Продолжаем рассматривать примеры использования цепной репликации. Базовые определения и архитектуры были даны в первой части, рекомендую ознакомиться с ней перед прочтением второй части.
Читать полностью »

Привет! Это рассказ о том, что нового в нашем плагине для баз данных. Мы выпускаем его, как отдельный продукт DataGrip, и поставляем почти во все другие наши IDE. Будет много картинок и гифок. Для тех, кому лень их смотреть:

— Поддержка Cassandra
— Создание SQL-файлов из объектов схемы
— Новые инспекции
— Много новых штук в автодополнении
— Работа с источником данных через одно подключение
— Новый поиск
— Высококонтрастная цветовая схема

Спасибо тем, кто пробует EAP-версии и сообщает в наш трекер о проблемах: это помогает не дотащить их до релиза :) Активные пользователи уже получили бесплатные подписки на год.

image
Читать полностью »

Chain replication: построение эффективного KV-хранилища (часть 1-2) - 1

В данной статье рассмотрим архитектуры простых и эффективных KV-хранилищ с использованием цепной репликации (chain replication), которая активно исследуется и успешно применяется в различных системах.
Читать полностью »