Как стать автором
Обновить
21.75

NoSQL *

Не только SQL

Сначала показывать
Порог рейтинга
Уровень сложности

Использование Redis в Go

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.4K

Redis — хранилище из семейства нереляционных (NoSQL) баз данных. Redis является очень быстрым хранилищем данных благодаря своей архитектуре in-memory. Он идеально подходит для задач, требующих быстрого доступа к данным, таких как кэширование, очереди сообщений, сессионная информация и многое другое. Go также известен своей высокой производительностью за счет компиляции в машинный код и эффективного управления памятью.

Читать далее

Firestore и NoSQL — Основы структурирования данных

Время на прочтение11 мин
Количество просмотров1.9K

Инструменты Firebase уже больше десятилетия помогают разработчикам быстрее создавать приложения, начиная с push-уведомлений и аутентификации и заканчивая базой данных Firestore. В этом году на Google I/O было анонсировано, что Firestore теперь поддерживает SQL в форме Data Connect, наконец позволив разработчикам выбирать между NoSQL и SQL.

Читать далее

Детектив NoSQL: как мы отслеживаем изменения данных в Банке Идей

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.3K

Представьте, что вы возвращаетесь домой и замечаете, что кто-то съел ваш ужин или полежал на вашей кровати. Не нравится? Вот и владельцам информационных систем не нравится, когда они не могут понять, кто же хулиганит в их бизнес-процессах. Меня зовут Светлана Мелешкина, и я ведущий разработчик Банка Идей НЛМК. Именно в Банке Идей иногда происходили такие детективные истории.

Банк Идей — это уникальная внутренняя система, где любой сотрудник может поделиться своими предложениями для улучшения производственных процессов или условий труда. Во время работы с этой ИС мы столкнулись с постоянными вызовами в отслеживании изменений данных. Нам нужен был простой и доступный для сотрудников инструмент. Для этого мы решили использовать MongoDB — мощное решение в мире NoSQL.

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

Читать далее

Кластеры и мир: хроника высокодоступного Pub/Sub в Redis

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров5.5K

В статье рассматриваются основные принципы и особенности использования Redis в режиме Pub/Sub для масштабируемых и высоконагруженных приложений. Описаны два подхода к обеспечению высокой доступности — Redis Sentinel и Redis Cluster, их преимущества, ограничения и примеры настройки. Приведены примеры использования Pub/Sub в реальных системах, а также практические конфигурации и код для настройки отказоустойчивого кластера Redis. Статья предназначена для разработчиков, которые ищут решения для создания надежных систем обмена сообщениями с высокой производительностью и отказоустойчивостью.

Читать далее

Управление Данных с Elasticsearch: Обучение и Практика

Время на прочтение5 мин
Количество просмотров8.9K

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

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

Начать практику

Пишем приложение на C#-стеке

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров13K

Всем привет! Меня зовут Дмитрий Бахтенков, и я .NET-разработчик. Сегодня мы проведем эксперимент — напишем полноценное веб-приложение с использованием решений, которые написаны на C# и платформе .NET. Больше моих статей можно прочитать в медиа вАЙТИ.

Что я имею в виду?

Как мы знаем, в общем случае веб-приложение состоит из бэкенда, фронтенда, базы данных и иногда из кеша. С бэкендом и фронтендом всё понятно: у нас есть замечательный фреймворк ASP.NET Core для сервера и blazor или razor pages для клиента. Однако инфраструктурные части приложения — БД, кеши — чаще всего пишутся на других, более низкоуровневых языках, таких как C и C++.

К счастью, недавно Microsoft выпустила решение для кеширования — аналог Redis, который называется Garnet. В качестве основной базы данных можно использовать документную БД RavenDB, которая как раз написана на C#.

Читать далее

Индексы NoSQL: как не заблудиться в многообразии решений

Время на прочтение5 мин
Количество просмотров2.6K

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

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

Читать далее

Быстрый запуск Redis через Docker Compose

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров37K

Доброго времени суток! Сегодня я продемонстрирую вам, как быстро и эффективно настроить Redis с помощью Docker Compose. Этот процесс займет всего несколько минут, но в результате вы получите полноценную базу данных Redis, работающую в изолированном Docker контейнере. Важные компоненты, такие как данные кэша и конфигурации, будут сохранены на вашей локальной машине благодаря использованию томов (volumes), что обеспечит надежность и доступность данных.

Читать далее

SQL vs NoSQL: как выбрать архитектуру БД для мобильного приложения, чтобы потом не пришлось ничего переписывать

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.5K

Привет! Меня зовут Никита Грибков, я Flutter-разработчик в AGIMA. В сети море статей о различиях между SQL и NoSQL, но в большинстве из них много теории и почти совсем нет прикладных советов. Я пошел другим путем: ниже постараюсь внятно объяснить, какую систему и в каком случае выбирать. Спойлер: всё зависит от проекта и амбиций заказчика. Конечно, сосредоточусь на мобильной разработке, но основные принципы подойдут и в вебе.

Читать далее

Это база: нюансы работы с Redis. Часть 2, репликация

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров13K

Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости.

Читать далее

В погоне за заменой Redis

Время на прочтение11 мин
Количество просмотров29K

21 марта Redis Ltd. объявила, что, начиная с Redis 7.4, ее «in-memory data store» будет выпускаться под несвободными лицензиями с доступным (source-available) исходным кодом. Новость малоприятная, но вполне ожидаемая. Необычно в этой ситуации обилие альтернатив для тех, кто хочет остаться со свободным ПО: есть как минимум четыре варианта замены, включая уже существующий форк под названием KeyDB и недавно анонсированный проект Valkey от Linux Foundation. Вопрос теперь в том, что предпочтут пользователи, провайдеры и создатели дистрибутивов Linux.

Читать далее

Дом, милый дом: нюансы работы с ClickHouse. Часть 1

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров18K

Всем привет, меня зовут Пётр, я инженер компании Nixys. На современных проектах используется огромное разнообразие баз данных: реляционные, ключ-значение, документоориентированные. Особое место среди них занимают колоночные базы данных, ярким представителем которых является ClickHouse. Это мощный инструмент, который способен обрабатывать миллиарды строк в секунду при минимальном времени ответа. Однако, для максимальной эффективности ClickHouse необходимо понимать ряд фундаментальных моментов для того, чтобы использовать его по назначению. В этой серии статей мы разберем особенности работы ClickHouse, которые помогут в выжимании максимума из этой базы. И сегодня начнём с фундаментальных теоретических моментов, чтобы составить максимально полное общее впечатление, которое поможет нам в дальнейшем.

Читать далее

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров12K

Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.

Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не менее, Redis — это несколько большее, чем key‑value, как многие привыкли думать.

Читать далее

Ближайшие события

Распределенное управление конкурентностью

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.3K

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

Читать далее

Автоматизируем торговлю криптой на бирже, ещё и на DEX

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров9.8K

Привет, Хабр! В этой статье я делюсь инструментами, которые позволили эффективно создать автоматизированную систему торговли (АСТ) криптовалютой на централизованной (CEX) и децентрализованной (DEX) биржах. Система вышла в продакшн в начале 2022 года и работала только на централизованных биржах. После того как летом 2023 года правительство США начало блокировать работу криптобирж для граждан США, было принято решение о подключении децентрализованной биржи, так как децентрализация не требует проходить KYC.

Итак, начнём!

Читать далее

Это база: нюансы работы с Redis. Часть 1

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров53K

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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

Читать далее

Используем Elasticsearch вместе со Spring Boot

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров22K

Всем привет! Это моя первая статья на Хабре и в ней я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше Spring Boot приложение. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшего погружения в тему.

Читать далее

Hyper: Chance. Этап 0. Знакомство

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.1K

Hyper Chance: Этап 0. Знакомство

Hyper Chance - бесплатный технический акселератор коммерческих проектов от Hyper Dev Guild для разработчиков на основе фреймворка $mol

Обратная связь приветствуется! ^-^

Читать далее

Основы полнотекстового поиска в ElasticSearch. Часть третья

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.6K

Это третья и заключительная статья из цикла, в которой рассмотрим стандартную модель ранжирования документов в Elasticsearch.

После того как определено множество документов, которые удовлетворяют параметрам полнотекстового запроса, Elasticsearch рассчитывает метрику релевантности для каждого найденного документа. По значению метрики набор документов сортируется и отдается потребителю.

В Elasticsearch существует несколько моделей ранжирования документов. По умолчанию используется Okapi BM25.

Читать далее

JavaScript триггеры и функции появились в Redis 7.2

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.1K

В Redis уже много лет используется язык программирования Lua для исполнения пользовательского кода налету (eval) или определении пользовательских функций. Lua действительно удобный язык, но скорее с точки зрения встраивания внутрь проекта на C/C++ для выполнение простых скриптов. Большинство же разработчиков, которые используют Redis, предпочли бы не учить новый язык, а работать с уже известным и более популярным скриптовым языком, таким как JavaScript. И это наконец-то случилось.

Предлагаю ознакомиться с тем, как команда Redis в релизе 7.2 дошла до долгожданного внедрения JavaScript и как сделать первый шаги по запуску триггеров и функций.

Читать далее