home.social

#tarantool — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #tarantool, aggregated by home.social.

  1. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  2. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  3. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  4. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  5. Как мы пересобрали сборку мусора в Vinyl

    В предыдущей статье о Vinyl я рассказывал об архитектуре LSM-движка Tarantool. Восемь лет, прошедшие с момента с написания статьи, показали, что Vinyl сразу получился идеальным и менять его не нужно :). Если серьёзно, сегодня я расскажу о тех изменениях, которые мы внесли в алгоритм в форке Tarantool от Picodata, и неизбежно коснусь более глубокой проблематики работы LSM-деревьев, а конкретнее – работы планировщика слияний (compaction scheduler).

    habr.com/ru/companies/arenadat

    #picodata #tarantool #vinyl #lsmдерево #lsm_tree #compaction

  6. Forza Tarantool: разработка на C для встроенного сервера приложений

    Tarantool – это in-memory СУБД с открытым исходным кодом, разрабатываемая VK Cloud . Существует два способа разработки приложений для Tarantool. Как и к большинству СУБД, к Tarantool можно подключаться из внешнего приложения по TCP/IP. С этой целью для многих популярных языков программирования (включая Go, Python, C#, С++, Java и др.) разработаны соответствующие коннекторы . Это – первый способ. Кроме этого, Tarantool обладает замечательной особенностью: он позволяет запускать бизнес-логику на встроенном сервере приложений. В этом случае пользовательский код исполняется в одном адресном пространстве с данными, что обеспечивает высокое быстродействие. Это – второй способ. Если мы ведем разработку для встроенного сервера приложений Tarantool, то выбор языков программирования более ограничен. Основным языком программирования, в этом случае, является Lua. Также, часть логики может быть реализована на C/C++. Но набор доступных языков расширяется. Например, с некоторого времени, поддерживается Rust . Помимо этого, Tarantool может выполнять Wasm-приложения. Скоро код библиотеки для разработки на Wasm будет открыт. Tarantool – высокопроизводительная СУБД, часто используемая для построения highload-систем. Какой из вариантов разработки позволяет достичь максимального быстродействия (которое в таких системах будет не лишним)? В настоящей статье я хотел бы рассмотреть возможные способы вызова C-кода из Lua/LuaJIT/Tarantool (в режиме сервера приложений) и то, как это может ускорить и без того быструю СУБД.

    habr.com/ru/companies/vktech/a

    #tarantool #c_la #luajit #lua #highload #vk_tech #vk_data_platform #коннекторы

  7. Forza Tarantool: разработка на C для встроенного сервера приложений

    Tarantool – это in-memory СУБД с открытым исходным кодом, разрабатываемая VK Cloud . Существует два способа разработки приложений для Tarantool. Как и к большинству СУБД, к Tarantool можно подключаться из внешнего приложения по TCP/IP. С этой целью для многих популярных языков программирования (включая Go, Python, C#, С++, Java и др.) разработаны соответствующие коннекторы . Это – первый способ. Кроме этого, Tarantool обладает замечательной особенностью: он позволяет запускать бизнес-логику на встроенном сервере приложений. В этом случае пользовательский код исполняется в одном адресном пространстве с данными, что обеспечивает высокое быстродействие. Это – второй способ. Если мы ведем разработку для встроенного сервера приложений Tarantool, то выбор языков программирования более ограничен. Основным языком программирования, в этом случае, является Lua. Также, часть логики может быть реализована на C/C++. Но набор доступных языков расширяется. Например, с некоторого времени, поддерживается Rust . Помимо этого, Tarantool может выполнять Wasm-приложения. Скоро код библиотеки для разработки на Wasm будет открыт. Tarantool – высокопроизводительная СУБД, часто используемая для построения highload-систем. Какой из вариантов разработки позволяет достичь максимального быстродействия (которое в таких системах будет не лишним)? В настоящей статье я хотел бы рассмотреть возможные способы вызова C-кода из Lua/LuaJIT/Tarantool (в режиме сервера приложений) и то, как это может ускорить и без того быструю СУБД.

    habr.com/ru/companies/vktech/a

    #tarantool #c_la #luajit #lua #highload #vk_tech #vk_data_platform #коннекторы

  8. Forza Tarantool: разработка на C для встроенного сервера приложений

    Tarantool – это in-memory СУБД с открытым исходным кодом, разрабатываемая VK Cloud . Существует два способа разработки приложений для Tarantool. Как и к большинству СУБД, к Tarantool можно подключаться из внешнего приложения по TCP/IP. С этой целью для многих популярных языков программирования (включая Go, Python, C#, С++, Java и др.) разработаны соответствующие коннекторы . Это – первый способ. Кроме этого, Tarantool обладает замечательной особенностью: он позволяет запускать бизнес-логику на встроенном сервере приложений. В этом случае пользовательский код исполняется в одном адресном пространстве с данными, что обеспечивает высокое быстродействие. Это – второй способ. Если мы ведем разработку для встроенного сервера приложений Tarantool, то выбор языков программирования более ограничен. Основным языком программирования, в этом случае, является Lua. Также, часть логики может быть реализована на C/C++. Но набор доступных языков расширяется. Например, с некоторого времени, поддерживается Rust . Помимо этого, Tarantool может выполнять Wasm-приложения. Скоро код библиотеки для разработки на Wasm будет открыт. Tarantool – высокопроизводительная СУБД, часто используемая для построения highload-систем. Какой из вариантов разработки позволяет достичь максимального быстродействия (которое в таких системах будет не лишним)? В настоящей статье я хотел бы рассмотреть возможные способы вызова C-кода из Lua/LuaJIT/Tarantool (в режиме сервера приложений) и то, как это может ускорить и без того быструю СУБД.

    habr.com/ru/companies/vktech/a

    #tarantool #c_la #luajit #lua #highload #vk_tech #vk_data_platform #коннекторы

  9. От ручного конфига к автоматическому мониторингу: обзор новой библиотеки go-discovery для Tarantool 3.0

    Когда у вас 50+ узлов Tarantool в кластере, ручное управление соединениями превращается в боль. Узлы падают, реплики становятся мастерами, новые инстансы добавляются — и все это нужно отслеживать в реальном времени. Рассказываем, как мы спроектировали go-discovery — библиотеку для автоматического обнаружения узлов кластера Tarantool 3.0.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #go #мониторинг #vk_tech #библиотеки

  10. Go: как получить до 5 млн RPS с одного экземпляра Tarantool

    Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech. Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение. В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

    habr.com/ru/companies/vktech/a

    #golang #tarantool #vk_tech #go #rps

  11. Go: как получить до 5 млн RPS с одного экземпляра Tarantool

    Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech. Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение. В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

    habr.com/ru/companies/vktech/a

    #golang #tarantool #vk_tech #go #rps

  12. Go: как получить до 5 млн RPS с одного экземпляра Tarantool

    Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech. Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение. В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

    habr.com/ru/companies/vktech/a

    #golang #tarantool #vk_tech #go #rps

  13. Go: как получить до 5 млн RPS с одного экземпляра Tarantool

    Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech. Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение. В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

    habr.com/ru/companies/vktech/a

    #golang #tarantool #vk_tech #go #rps

  14. Новый open source Java коннектор для Tarantool: практика с примерами кода

    VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #Java #коннекторы #Redis #nosql #spring #spring_data #open_source #vk_tech

  15. Новый open source Java коннектор для Tarantool: практика с примерами кода

    VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #Java #коннекторы #Redis #nosql #spring #spring_data #open_source #vk_tech

  16. Новый open source Java коннектор для Tarantool: практика с примерами кода

    VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #Java #коннекторы #Redis #nosql #spring #spring_data #open_source #vk_tech

  17. Новый open source Java коннектор для Tarantool: практика с примерами кода

    VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #Java #коннекторы #Redis #nosql #spring #spring_data #open_source #vk_tech

  18. Работаем быстро, храним экономно: в деталях о механизме охлаждения для Tarantool DB 3.0

    Компании ежедневно генерируют большие объемы данных, но далеко не вся информация одинаково важна: со временем многие данные становятся менее востребованными, продолжая занимать дорогие и высокопроизводительные накопители (SSD, RAM). В результате хранение таких «холодных» данных обходится неоправданно дорого, поскольку потребность в постоянном доступе к ним минимальна. Решение проблемы — технология охлаждения данных, которая предполагает перемещение редко используемой информации на более дешевые и емкие носители, то есть файлы остаются доступными, но перестают нагружать дорогие и быстрые устройства. Именно такой механизм охлаждения данных мы добавили в Tarantool DB 3.0. Привет, Хабр. Меня зовут Сергей Фомин. Я старший менеджер продукта Tarantool DataBase . В этой статье я расскажу, как именно мы реализовали механизм охлаждения и какие бизнес-выгоды могут получить компании при его использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #охлаждение_данных #vk_tech #хранение_данных #Tarantool_DataBase #vinyl #cooler #ml

  19. Работаем быстро, храним экономно: в деталях о механизме охлаждения для Tarantool DB 3.0

    Компании ежедневно генерируют большие объемы данных, но далеко не вся информация одинаково важна: со временем многие данные становятся менее востребованными, продолжая занимать дорогие и высокопроизводительные накопители (SSD, RAM). В результате хранение таких «холодных» данных обходится неоправданно дорого, поскольку потребность в постоянном доступе к ним минимальна. Решение проблемы — технология охлаждения данных, которая предполагает перемещение редко используемой информации на более дешевые и емкие носители, то есть файлы остаются доступными, но перестают нагружать дорогие и быстрые устройства. Именно такой механизм охлаждения данных мы добавили в Tarantool DB 3.0. Привет, Хабр. Меня зовут Сергей Фомин. Я старший менеджер продукта Tarantool DataBase . В этой статье я расскажу, как именно мы реализовали механизм охлаждения и какие бизнес-выгоды могут получить компании при его использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #охлаждение_данных #vk_tech #хранение_данных #Tarantool_DataBase #vinyl #cooler #ml

  20. Работаем быстро, храним экономно: в деталях о механизме охлаждения для Tarantool DB 3.0

    Компании ежедневно генерируют большие объемы данных, но далеко не вся информация одинаково важна: со временем многие данные становятся менее востребованными, продолжая занимать дорогие и высокопроизводительные накопители (SSD, RAM). В результате хранение таких «холодных» данных обходится неоправданно дорого, поскольку потребность в постоянном доступе к ним минимальна. Решение проблемы — технология охлаждения данных, которая предполагает перемещение редко используемой информации на более дешевые и емкие носители, то есть файлы остаются доступными, но перестают нагружать дорогие и быстрые устройства. Именно такой механизм охлаждения данных мы добавили в Tarantool DB 3.0. Привет, Хабр. Меня зовут Сергей Фомин. Я старший менеджер продукта Tarantool DataBase . В этой статье я расскажу, как именно мы реализовали механизм охлаждения и какие бизнес-выгоды могут получить компании при его использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #охлаждение_данных #vk_tech #хранение_данных #Tarantool_DataBase #vinyl #cooler #ml

  21. Работаем быстро, храним экономно: в деталях о механизме охлаждения для Tarantool DB 3.0

    Компании ежедневно генерируют большие объемы данных, но далеко не вся информация одинаково важна: со временем многие данные становятся менее востребованными, продолжая занимать дорогие и высокопроизводительные накопители (SSD, RAM). В результате хранение таких «холодных» данных обходится неоправданно дорого, поскольку потребность в постоянном доступе к ним минимальна. Решение проблемы — технология охлаждения данных, которая предполагает перемещение редко используемой информации на более дешевые и емкие носители, то есть файлы остаются доступными, но перестают нагружать дорогие и быстрые устройства. Именно такой механизм охлаждения данных мы добавили в Tarantool DB 3.0. Привет, Хабр. Меня зовут Сергей Фомин. Я старший менеджер продукта Tarantool DataBase . В этой статье я расскажу, как именно мы реализовали механизм охлаждения и какие бизнес-выгоды могут получить компании при его использовании.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #охлаждение_данных #vk_tech #хранение_данных #Tarantool_DataBase #vinyl #cooler #ml

  22. Когда Seq Scan не миновать: Data Skipping в новом колоночном движке Tarantool

    Привет, Хабр! Меня зовут Андрей Саранчин, и я разработчик СУБД Tarantool в VK Tech. Вот уже полтора года мы строим MemCS — новый колоночный движок Tarantool для HTAP. И вот парадокс: даже с индексами иногда не уйти от сплошного прохода таблицы. Поделюсь, почему мы не смогли миновать Sequential Scan и как мы смягчили эту проблему с помощью Data Skipping. Эта статья написана по мотивам доклада для

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #data_skipping #колонки #высоконагруженные_системы #highload #highload++ #data #vk_tech

  23. Когда Seq Scan не миновать: Data Skipping в новом колоночном движке Tarantool

    Привет, Хабр! Меня зовут Андрей Саранчин, и я разработчик СУБД Tarantool в VK Tech. Вот уже полтора года мы строим MemCS — новый колоночный движок Tarantool для HTAP. И вот парадокс: даже с индексами иногда не уйти от сплошного прохода таблицы. Поделюсь, почему мы не смогли миновать Sequential Scan и как мы смягчили эту проблему с помощью Data Skipping. Эта статья написана по мотивам доклада для

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #data_skipping #колонки #высоконагруженные_системы #highload #highload++ #data #vk_tech

  24. Когда Seq Scan не миновать: Data Skipping в новом колоночном движке Tarantool

    Привет, Хабр! Меня зовут Андрей Саранчин, и я разработчик СУБД Tarantool в VK Tech. Вот уже полтора года мы строим MemCS — новый колоночный движок Tarantool для HTAP. И вот парадокс: даже с индексами иногда не уйти от сплошного прохода таблицы. Поделюсь, почему мы не смогли миновать Sequential Scan и как мы смягчили эту проблему с помощью Data Skipping. Эта статья написана по мотивам доклада для

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #data_skipping #колонки #высоконагруженные_системы #highload #highload++ #data #vk_tech

  25. Когда Seq Scan не миновать: Data Skipping в новом колоночном движке Tarantool

    Привет, Хабр! Меня зовут Андрей Саранчин, и я разработчик СУБД Tarantool в VK Tech. Вот уже полтора года мы строим MemCS — новый колоночный движок Tarantool для HTAP. И вот парадокс: даже с индексами иногда не уйти от сплошного прохода таблицы. Поделюсь, почему мы не смогли миновать Sequential Scan и как мы смягчили эту проблему с помощью Data Skipping. Эта статья написана по мотивам доклада для

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #data_skipping #колонки #высоконагруженные_системы #highload #highload++ #data #vk_tech

  26. Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

    Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector. Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс

  27. Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

    Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector. Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс

  28. Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

    Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector. Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс

  29. Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

    Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector. Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс

  30. Как мы подружили Tarantool с Kubernetes

    Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut . Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes. Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++. Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

    habr.com/ru/companies/bercut/a

    #tarantool #cicd #bercut #беркут #devops #kubernetes

  31. Как мы подружили Tarantool с Kubernetes

    Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut . Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes. Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++. Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

    habr.com/ru/companies/bercut/a

    #tarantool #cicd #bercut #беркут #devops #kubernetes

  32. Как мы подружили Tarantool с Kubernetes

    Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut . Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes. Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++. Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

    habr.com/ru/companies/bercut/a

    #tarantool #cicd #bercut #беркут #devops #kubernetes

  33. Как мы подружили Tarantool с Kubernetes

    Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut . Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes. Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++. Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

    habr.com/ru/companies/bercut/a

    #tarantool #cicd #bercut #беркут #devops #kubernetes

  34. История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт

    Два года назад все началось с первого коммита и туманного понимания, что мы вообще хотим сделать. Сегодня — два мажорных релиза, собственный модуль миграций, документация, тренинги и пользователи, которые безболезненно перешли на новую версию по нашим инструкциям. Но путь от «кучи кода для внутреннего использования» до полноценной коробочной In-memory-базы оказался совсем не прямым. Меня зовут Александр Кленов, я тимлид разработки Tarantool DB в команде Tarantool. Я расскажу историю о том, как мы брали зрелый, но очень гибкий Tarantool Enterprise и превращали его в решение, которое можно установить из коробки.

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #базы_данных #Tarantool_DB #vk_tech #vk #lua #cluster #go

  35. История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт

    Два года назад все началось с первого коммита и туманного понимания, что мы вообще хотим сделать. Сегодня — два мажорных релиза, собственный модуль миграций, документация, тренинги и пользователи, которые безболезненно перешли на новую версию по нашим инструкциям. Но путь от «кучи кода для внутреннего использования» до полноценной коробочной In-memory-базы оказался совсем не прямым. Меня зовут Александр Кленов, я тимлид разработки Tarantool DB в команде Tarantool. Я расскажу историю о том, как мы брали зрелый, но очень гибкий Tarantool Enterprise и превращали его в решение, которое можно установить из коробки.

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #базы_данных #Tarantool_DB #vk_tech #vk #lua #cluster #go

  36. История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт

    Два года назад все началось с первого коммита и туманного понимания, что мы вообще хотим сделать. Сегодня — два мажорных релиза, собственный модуль миграций, документация, тренинги и пользователи, которые безболезненно перешли на новую версию по нашим инструкциям. Но путь от «кучи кода для внутреннего использования» до полноценной коробочной In-memory-базы оказался совсем не прямым. Меня зовут Александр Кленов, я тимлид разработки Tarantool DB в команде Tarantool. Я расскажу историю о том, как мы брали зрелый, но очень гибкий Tarantool Enterprise и превращали его в решение, которое можно установить из коробки.

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #базы_данных #Tarantool_DB #vk_tech #vk #lua #cluster #go

  37. История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт

    Два года назад все началось с первого коммита и туманного понимания, что мы вообще хотим сделать. Сегодня — два мажорных релиза, собственный модуль миграций, документация, тренинги и пользователи, которые безболезненно перешли на новую версию по нашим инструкциям. Но путь от «кучи кода для внутреннего использования» до полноценной коробочной In-memory-базы оказался совсем не прямым. Меня зовут Александр Кленов, я тимлид разработки Tarantool DB в команде Tarantool. Я расскажу историю о том, как мы брали зрелый, но очень гибкий Tarantool Enterprise и превращали его в решение, которое можно установить из коробки.

    habr.com/ru/companies/vk/artic

    #Tarantool #архитектура #отказоустойчивость #базы_данных #Tarantool_DB #vk_tech #vk #lua #cluster #go

  38. Как обеспечить отказоустойчивость почтового сервера Exim под нагрузкой 1 000 000 писем/мин. с помощью FUSE и Tarantool

    Привет, Хабр! Меня зовут Максим Уймин, в этой статье я расскажу про почту, про распределенные очереди, немножко про FUSE и файловые системы.

    habr.com/ru/companies/vk/artic

    #отказоустойчивость #highload #fuse #tarantool #k8s #mail #exim #си #lua #катастрофоустойчивость

  39. Умный дом под давлением

    Хотите знать, как работает платформа умного дома, обслуживающая десятки и сотни тысяч (а то миллионы!) устройств? А как проводят нагрузочное тестирование таких платформ, когда нужно проверить их поведение при увеличении количества приборов? Ведь это сложно — железок не напасешься! Если я вас заинтриговал, то добро пожаловать в статью, я как раз рассказываю о том, как это все делается. :) Меня зовут Иван Банников, я работаю в VK Tech. Я ведущий разработчик команды Tarantool CDC, одного из продуктов экосистемы Tarantool, но в статье я расскажу про давние времена, про проект, на котором я познакомился с Tarantool, зафанател от него и в итоге пришел потом работать в Tarantool. Поговорим о платформе для интернета вещей, о ее устройстве, о том, какие в ней могут быть слабые места и как мы их выявляли с помощью нагрузочного тестирования, а также о MQTT.

    habr.com/ru/companies/vktech/a

    #tarantool #архитектура #отказоустойчивость #умный_дом #iot #интернет_вещей #vk #vk_tech

  40. Фаззинг как основа эффективной разработки на примере LuaJIT

    Представьте, что в основе вашего коммерческого продукта используется компонент с исходным кодом, который написан на смеси языка С и самописного ассемблера. Из-за слабой детерминированности поиск репродьюсеров сложен, а без репродьюсера мейнтейнер проекта заявляет: «Сделайте так, чтобы я про вас больше не слышал». Я расскажу, как мы построили процесс активной поддержки LuaJIT в СУБД Tarantool, сократили количество инцидентов в продакшене, сократили затраты на бэкпорт патчей из основного проекта и какую роль во всем этом сыграл фаззинг и его специфика. Команда разработки продукта полностью отвечает за весь код этого продукта, в том числе за компоненты с открытым исходным кодом от третьих лиц. К сожалению, не все мейнтейнеры проектов с открытым исходным кодом готовы сотрудничать с разработчиками или их сотрудничество ограничивается жесткими рамками, что усложняет использование этих компонентов в коммерческих продуктах. В СУБД Tarantool используется LuaJIT в качестве языкового рантайма, но в Tarantool используется не оригинальный проект, а его форк. Я расскажу, как мы прошли путь от пассивного использования кода LuaJIT к процессу поддержки форка, с которым количество инцидентов на продакшене установилось около нуля, сократились усилия по бэкпортингу патчей из основного проекта, а основной проект получил активных контрибьюторов. Я рассмотрю специфику работы с проектом исходного кода на примере LuaJIT, расскажу, как устроено тестирование в нашем форке и какую роль там играет фаззинг. Расскажу о специфике фаззинга LuaJIT и о том, каких результатов мы в этом достигли за последние два года.

    habr.com/ru/companies/vk/artic

    #tarantool #архитектура #отказоустойчивость #lua #luajit #фаззинг #vk_tech #базы_данных

  41. LuaJIT: что делает его таким производительным и почему вам стоит его попробовать

    LuaJIT является одной из наиболее производительных реализаций динамического языка программирования. В этой статье мы рассмотрим, благодаря каким механизмам и подходам достигается такой результат. Эта статья не дает всех ответов, но задает необходимую базу и направления для самостоятельного изучения темы. Меня зовут Максим Кокряшкин, я занимаюсь разработкой языковых рантаймов в Tarantool. Это решение класса middleware, разрабатываемое VK Tech, сочетающее в себе базу данных in-memory и application-сервер. Как раз таки наш application-сервер, который позволяет писать логику и хранимые процедуры, работает на LuaJIT

    habr.com/ru/companies/vktech/a

    #tarantool #lua #luajit #vk #vk_tech #vk_cloud

  42. Как построить отказоустойчивый кластер СУБД

    Привет, Хабр! Меня зовут Андрей Капустин, я менеджер продукта Tarantool CDC в компании VK Tech. Для построения систем хранения и обработки данных по объектам мы часто используем различные СУБД, которые объединяем в большие геораспределенные кластеры. Кластер СУБД содержит данные, необходимые для функционирования Mission Critical процессов, поэтому нам необходимо гарантировать постоянную доступность, обеспечить отсутствие потерь и минимизировать время предоставления данных по запросу.

    habr.com/ru/companies/vk/artic

    #субд #архитектура #tarantool #отказоустойчивость #кластеры

  43. Как построить отказоустойчивый кластер СУБД

    Привет, Хабр! Меня зовут Андрей Капустин, я менеджер продукта Tarantool CDC в компании VK Tech. Для построения систем хранения и обработки данных по объектам мы часто используем различные СУБД, которые объединяем в большие геораспределенные кластеры. Кластер СУБД содержит данные, необходимые для функционирования Mission Critical процессов, поэтому нам необходимо гарантировать постоянную доступность, обеспечить отсутствие потерь и минимизировать время предоставления данных по запросу.

    habr.com/ru/companies/vk/artic

    #субд #архитектура #tarantool #отказоустойчивость #кластеры

  44. Как построить отказоустойчивый кластер СУБД

    Привет, Хабр! Меня зовут Андрей Капустин, я менеджер продукта Tarantool CDC в компании VK Tech. Для построения систем хранения и обработки данных по объектам мы часто используем различные СУБД, которые объединяем в большие геораспределенные кластеры. Кластер СУБД содержит данные, необходимые для функционирования Mission Critical процессов, поэтому нам необходимо гарантировать постоянную доступность, обеспечить отсутствие потерь и минимизировать время предоставления данных по запросу.

    habr.com/ru/companies/vk/artic

    #субд #архитектура #tarantool #отказоустойчивость #кластеры

  45. Как построить отказоустойчивый кластер СУБД

    Привет, Хабр! Меня зовут Андрей Капустин, я менеджер продукта Tarantool CDC в компании VK Tech. Для построения систем хранения и обработки данных по объектам мы часто используем различные СУБД, которые объединяем в большие геораспределенные кластеры. Кластер СУБД содержит данные, необходимые для функционирования Mission Critical процессов, поэтому нам необходимо гарантировать постоянную доступность, обеспечить отсутствие потерь и минимизировать время предоставления данных по запросу.

    habr.com/ru/companies/vk/artic

    #субд #архитектура #tarantool #отказоустойчивость #кластеры

  46. Смотрим под капот объектному хранилищу VK Cloud: что скрывает архитектура Object Storage

    Современные компании оперируют терабайтами или даже петабайтами данных. Но часто эти данные имеют разный формат, степень структурированности и не нужны в «горячем» доступе, поэтому зачастую хранить весь массив в традиционных БД не только невозможно, но и нерационально. Как результат, бизнес все чаще использует объектные S3-хранилища. Меня зовут Андрей Капустин. Я менеджер продукта Tarantool в компании VK Tech. В этой статье я расскажу об объектном хранилище VK Cloud, его архитектуре и месте Tarantool в ней.

    habr.com/ru/companies/vktech/a

    #vk_cloud #s3 #объектное_хранилище #vk_tech #object_storage #хранилище_данных #tarantool

  47. Как консолидировать данные из разрозненных хранилищ с помощью Tarantool CDC

    Компании часто сталкиваются с необходимостью переливать данные между системами. Но нередко это превращается в настоящий квест: форматы данных могут различаться, для интеграции инструментов может не быть готовых коннекторов, самостоятельно гарантировать консистентность данных в целевой системе может быть сложно или невозможно. Поэтому подобные задачи редко обходятся без применения CDC (Change Data Capture). Меня зовут Андрей Капустин. Я менеджер продукта Tarantool CDC в компании VK Tech. В этой статье я расскажу о Tarantool CDC и о том, как инструмент помогает консолидировать данные из разрозненных хранилищ, в том числе проприетарных СУБД, обеспечивая прозрачность, высокую консистентность и скорость. Как разрабатывался Tarantool CDC

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #postgresql #высокопроизводительные_вычисления #распределенные_системы #субд #Tarantool_Queue_Enterprise #Tarantool_CDC #change_data_capture

  48. Picodata: вторая жизнь in-memory баз данных

    Привет, меня зовут Костя Осипов, и я занимаюсь разработкой СУБД. На Хабре есть несколько моих статей про MySQL, Tarantool и про всякое-разное. Кроме того, я веду Telegram-канал , где делюсь инсайтами в области управления базами данных. Сегодня я выступаю в роли основателя компании Picodata , создающей одноимённую открытую СУБД, и управляющего директора ПАО Arenadata по исследованиям и разработке. Ниже — вольный пересказ моего недавнего доклада на HighLoad . Он про то, что нас ждёт в мире СУБД завтра, и, в частности, про место резидентных СУБД в архитектурах будущего.

    habr.com/ru/companies/arenadat

    #picodata #tarantool #субд #inmemory #inmemorydatagrid #inmemory_database #inmemory_computing #rust #sql #тарантул

  49. Picodata: вторая жизнь in-memory баз данных

    Привет, меня зовут Костя Осипов, и я занимаюсь разработкой СУБД. На Хабре есть несколько моих статей про MySQL, Tarantool и про всякое-разное. Кроме того, я веду Telegram-канал , где делюсь инсайтами в области управления базами данных. Сегодня я выступаю в роли основателя компании Picodata , создающей одноимённую открытую СУБД, и управляющего директора ПАО Arenadata по исследованиям и разработке. Ниже — вольный пересказ моего недавнего доклада на HighLoad . Он про то, что нас ждёт в мире СУБД завтра, и, в частности, про место резидентных СУБД в архитектурах будущего.

    habr.com/ru/companies/arenadat

    #picodata #tarantool #субд #inmemory #inmemorydatagrid #inmemory_database #inmemory_computing #rust #sql #тарантул

  50. Picodata: вторая жизнь in-memory баз данных

    Привет, меня зовут Костя Осипов, и я занимаюсь разработкой СУБД. На Хабре есть несколько моих статей про MySQL, Tarantool и про всякое-разное. Кроме того, я веду Telegram-канал , где делюсь инсайтами в области управления базами данных. Сегодня я выступаю в роли основателя компании Picodata , создающей одноимённую открытую СУБД, и управляющего директора ПАО Arenadata по исследованиям и разработке. Ниже — вольный пересказ моего недавнего доклада на HighLoad . Он про то, что нас ждёт в мире СУБД завтра, и, в частности, про место резидентных СУБД в архитектурах будущего.

    habr.com/ru/companies/arenadat

    #picodata #tarantool #субд #inmemory #inmemorydatagrid #inmemory_database #inmemory_computing #rust #sql #тарантул