Обновить
25.85

Tarantool *

Платформа для создания высоконагруженных СУБД

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

Нагрузочный поединок между Tarantool 2.10 и Hazelcast 4.5.4

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

Привет! Меня зовут Денис Макаров, я бэкенд-тимлид в KTS.

В прошлый раз мы сравнили Tarantool с Redis, а в этой статье решили провести тесты с Hazelcast.

Так же, как в прошлой статье, мы рассматриваем вариант Tarantool как замены: берём типичные кейсы работы с Hazelcast и реализуем такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами.

Читать далее

Как профилировать, когда perf видит не все

Время на прочтение11 мин
Охват и читатели7.2K


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

Как освоить Tarantool за 3 месяца и выжить: учимся на ошибках DevOps-инженера

Время на прочтение7 мин
Охват и читатели8.5K


Освоение нового инструмента и его внедрение в работающий проект — практически типовая задача для многих компаний. Более того, часто DevOps-инженерам и другим специалистам приходится изучать новый инструмент в сжатые сроки, в том числе когда компетенцию в команде надо нарабатывать с нуля. Поэтому сложности и ошибки — практически неотъемлемая часть обучения. 
Читать дальше →

Tarantool: «серебряная пуля» для построения микросервисной архитектуры VK Teams

Время на прочтение8 мин
Охват и читатели16K


Основной многих проектов являются кастомные решения и инструменты — часто кажется, что так проще и быстрее. Но на практике при динамичном масштабировании проектов наличие крупных кастомных узлов начинает создавать трудности: требуется больше времени, ресурсов и дополнительных издержек. Поэтому с ростом проектов командам нередко разумнее пересматривать стек в пользу готовых решений.
Читать дальше →

Расшифровка доклада: О чём я говорю, когда говорю о тестировании корректности работы компиляторов

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

Привет, Хабр! Эта статья о том, как тестируют компиляторы. Она будет интересна разработчикам  и тестировщикам компиляторов, а также всем, кто тестирует сложные технологии. Разберём проблемы тестирования LuaJIT и подходы к решению: неструктурированный фаззинг, синтаксический, семантический, сравнительный фаззинги и тестирование оптимизаций. Статья написана на основе доклада Сергея Бронникова из Tarantool на конференции Highload.

Читать далее

Балансируем между консистентностью и доступностью в распределённой системе: опыт Tarantool

Время на прочтение13 мин
Охват и читатели5K

Поговорим сегодня про выбор, перед которым встают разработчики всех распределённых систем: обеспечивать ли консистентность данных или доступность системы при различных внешних условиях —  поломках, плановых отключениях узлов, — а также во время штатной эксплуатации. Теория нам даёт простые, но не всегда применимые на практике ответы: можно выбрать либо консистентность, либо доступность (теорема CAP), а когда проблем с сетью нет — то либо консистентность, либо низкие задержки (PACELC). За скобками остаётся вопрос о том, как делать этот выбор. Система как будто всегда должна быть CP или AP, а что происходит, если вдруг работающая CP-система должна начать вести себя как AP, или, наоборот, перейти обратно из AP в CP?

Читать далее

Из SQL в NoSQL: меняем парадигму запросов

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели11K

Пользовательский опыт напрямую зависит от скорости выполнения запросов к данным. Мы привыкли, что SQL базы данных строят оптимальный план запроса за нас. В случае многих NoSQL баз данных, оптимизация запроса ложится на разработчика. Меня зовут Жора и вместе с @yngvar_antonsson мы провели много времени за аудитом запросов у наших заказчиков. Сегодня мы расскажем про перфоманс, оптимизации и про тяжелые запросы на примере Tarantool. Будет интересно всем, кто уже работает или только собирается работать с Tarantool, а также тем, кто строит кластерные системы поверх своих БД.

Читать далее

Newbie Guide: разбираемся с MVCC на простых примерах

Время на прочтение12 мин
Охват и читатели13K


Изоляция транзакций в СУБД — важный механизм, который позволяет пользователю получить согласованное состояние данных и работать с ними, не допуская конфликтов и снижения производительности. Организовать изоляцию нужного уровня можно несколькими способами, один из которых — MVCC (Multiversion Concurrency Control, многоверсионное управление конкурентным доступом).
Читать дальше →

Tarantool 2.11 LTS: Рассказываем про новые возможности администрирования и безопасности

Время на прочтение9 мин
Охват и читатели3.1K

Привет. Меня зовут Владимир Салыкин, я директор по продукту Tarantool. Мы выпустили Tarantool 2.11 LTS — стабильный релиз с долгим циклом поддержки. Работа над ним началась в мае 2022 года, и сейчас релиз включает в себя более тысячи коммитов от 42 авторов. Мы все много работали над решением основных проблем с обслуживанием и администрированием, с которыми ранее сталкивались наши пользователи. 

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

Читать далее

Трассировка стека вызовов в среде кооперативной многозадачности: стектрейсы, файберы, два ствола

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.9K

Персонаж с картинки — Трейсер из игры Overwatch

Привет, Хабр! Для отладки и анализа производительности часто используется трассировка (сбор) стека вызовов aka стектрейс. И если для трассировки стека различных потоков выполнения есть системные средства, то работа с асинхронными языками и фреймворками предполагает наличие отдельного контекста выполнения и стека вызовов для каждой единицы исполнения. В этой статье мы поговорим о файберах. Они прозрачны с точки зрения операционной системы, что влечет за собой определенные сложности. Если трассировка стека вызовов активного файбера тривиальна (можно представить, что кооперативной многозадачности вообще нет), то как собирать стектрейс с неактивных файберов?
Читать дальше →

Нагрузочный поединок: Tarantool 2.10 vs Redis 7.0.5

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.6K

Привет! Меня зовут Денис, я бэкенд-тимлид в KTS.

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

Тем не менее в них много схожего. И в статье мы хотим рассмотреть: что, если взять Tarantool как замену Redis? Просядет ли производительность из-за всех «дополнительных» фичей в Tarantool? Насколько хорошо или плохо справится дисковая подсистема с нагрузкой?

Мы взяли типичные кейсы работы с Redis и реализовали такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами и производительностью кластерных решений: для Tarantool это Tarantool Cartridge, для Redis — Redis Cluster.

Читать далее

Практический гайд по использованию модуля метрик Tarantool

Время на прочтение12 мин
Охват и читатели2.8K

Всем привет! Меня зовут Александр Кленов, и я работаю в Tarantool. Любой серьезный продукт в промышленной эксплуатации требует инструментов observability. «Проверка пульса» продукта стоит на всем известных китах: логирование, трейсинг, мониторинг.

Мне всегда было интересно, как устроена внутренняя кухня больших компаний, как и какими инструментами observability пользуются сотрудники больших проектов. Сегодня я поделюсь руководством по практическому применению модуля метрик Tarantool, которое подготовил для своих коллег. Статья будет интересна как тем, кто использует Taranool в своей практике, так и всем, кто отвечает за observability и мониторинг в своих проектах. Приглашаю под кат!

Читать далее

Как объединить устройства с разными протоколами передачи данных на одной IoT-платформе

Уровень сложностиСредний
Время на прочтение32 мин
Охват и читатели6.5K

Привет! Меня зовут Иван Банников, я ведущий разработчик VK Tech. В одном из проектов я создавал и развивал IoT-платформу и хочу теперь поделиться своим опытом. Архитектура IoT-платформ в какой-то мере похожа на архитектуру любой другой распределенной системы. Однако технология интернета вещей подразумевает взаимодействие не только в виртуальном, но и в физическом мире. Это влечет за собой ряд нестандартных для классических программных продуктов сложностей и нюансов. 

В этой статье мы поговорим о том, что представляют из себя современные IoT-платформы, что такое цифровые двойники и зачем они применяются, а также рассмотрим главные сложности и способы решения проблем при разработке IoT-решений. 
Читать дальше →

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

Репликация между SQL- и NoSQL-базами данных: туда и обратно

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8K


Часто при построении высоконагруженных проектов задействуют несколько хранилищ. При этом нередко одновременно используют как SQL-, так и NoSQL-базы данных. Такая реализация оправдана, но для её корректной работы надо правильно настроить репликацию данных в одну из сторон. 

Меня зовут Александр Горякин, я разработчик высоконагруженных систем хранения данных в пресейле Tarantool. Не так давно наша команда столкнулась с необходимостью репликации между SQL- и NoSQL-базами данных и успешно решила эту задачу. Я расскажу, что нам нужно было от репликации, какие механизмы и инструменты мы рассматривали, с какими проблемами столкнулись и что получили в итоге.

Статья написана по моему выступлению на HighLoad++ 2022. Вы можете посмотреть его здесь.
Читать дальше →

Повышаем живучесть Raft в реальных условиях

Время на прочтение14 мин
Охват и читатели6.2K
Популярность алгоритма Raft в последние годы растёт. У него достаточно ясное описание, а реализации появляются во всё большем количестве проектов. На бумаге, будь то математика или рекламные статьи, выглядит хорошо. Но на практике не все обещания Raft можно реализовать без дополнительных решений.

Меня зовут Сергей Останевич. Я архитектор репликации в проекте Tarantool, платформе in-memory-вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. Над материалом этой статьи мы работали вместе с Бориславом Демидовым. Мы поделимся нашим опытом реализации Raft, расскажем о поддержке работоспособности кластера Tarantool в условиях частичной связности и приведём реальные примеры того, как чистый Raft не справился с задачей.


Читать дальше →

Tarantool Data Grid + Java = …

Время на прочтение6 мин
Охват и читатели4.5K

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

Читать далее

Алгоритм HyperLogLog, или Оцениваем мощность множества за O(1)

Время на прочтение12 мин
Охват и читатели22K


Привет, Хабр! Меня зовут Максим, я учусь на третьем курсе МФТИ. Этим летом я участвовал в студенческой программе, которую проводила команда Tarantool. Если кратко, суть программы в том, чтобы самостоятельно или в команде решить исследовательскую задачу в определенный срок. 

Моей задачей была реализация алгоритма HyperLogLog. Во время работы я не обнаружил русскоязычных материалов о практической реализации алгоритма, поэтому решил, что полученный мною опыт может быть полезен сообществу. Статья будет интересна людям, интересующимся алгоритмами и практическим программированием. Для понимания темы не потребуется ни специальных математических знаний, ни предварительного знакомства с алгоритмом. 
Читать дальше →

Tarantool: Билли Миллиган в мире СУБД

Время на прочтение6 мин
Охват и читатели19K

Привет! Меня зовут Mons Anderson, я архитектор, разработчик, продакт-менеджер и евангелист Tarantool. В VK работаю уже больше 10 лет. Я постоянно нуждаюсь в базах данных, использую их и очень люблю. И в последнее время, когда я говорю про БД, я всё чаще говорю про Tarantool. Сегодня тоже хочу рассказать, что уникального в этой базе данных и что делает её практически универсальной.

Читать далее

Изобретая бота: система обработки сообщений на примере конструктора чат-бота

Время на прочтение12 мин
Охват и читатели6.4K


Привет, Хабр! Я Игорь Латкин, архитектор в KTS. Мы занимаемся различными цифровыми продуктами для бизнеса, специализируемся на HRTech, EdTech и DevOps. Также у нас есть несколько собственных продуктов, и один из них тесно связан с очередями сообщений. Об этом интересном решении я хочу сегодня рассказать. Эта статья — конспект моего диалога с архитектором Tarantool Монсом Андерсоном. Посмотреть видео можно в записи. Бонусом в конце — ответы на вопросы зрителей.
Читать дальше →

От Single-Instance-прототипа до облачной промышленной платформы интернета вещей: как мы разрабатывали Cloud IoT Platform

Время на прочтение8 мин
Охват и читатели2.5K

В продуктовой разработке нередко случается, что из кастомного проекта для конкретной компании рождается самостоятельный продукт. Так случилось и с Cloud IoT Platform: из небольшого пилотного проекта мы создали облачную промышленную платформу интернета вещей.

Читать далее