Size: a a a

2020 November 03

R

R-omk in Tarantool
Leonid
А как возможно получить условие x=2, x>104?
GE
источник

R

R-omk in Tarantool
Leonid
Спасибо за ответ) Для этого нужно будет создавать отдельную функцию?
определенно
источник

L

Leonid in Tarantool
Почему-то GE и GT одинаковый результат вернули
источник

R

R-omk in Tarantool
Leonid
Почему-то GE и GT одинаковый результат вернули
потому что нет записи [2, 104]
источник

L

Leonid in Tarantool
Понял, спасибо большое
источник

PL

Pavel Lapaev in Tarantool
Pavel Lapaev
Tarantool 2.6 — Синхронная репликация, Raft и MVCC!

Эти новые возможности Tarantool уже доступны в версии 2.6. Мы подробно расскажем про каждую тему на следующей неделе на нашем Youtube-канале.

2, 3 и 5 ноября в 18:00 МСК подключайтесь сюда https://www.youtube.com/c/Tarantool, в следующем сообщении прикладываю .ics файлы для календаря.

Читайте подробнее про изменения https://github.com/tarantool/tarantool/releases/tag/2.6.1

---

Транзакционный менеджер в in-memory движке, наконец-то полноценный MVCC!

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

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

Чем так полезен новый транзакционный менеджер?

 Основная цель нового транзакционного менеджера — избавиться от давней проблемы "грязных чтений" транзакций, которые впоследствии не удалось записать на диск из-за отказа. Это повышает уровень изоляции до истинного Serializable при любом исходе. Также это позволяет использовать Tarantool в более привычном для баз данных сценарии, растягивая транзакцию во времени и исполняя транзакции параллельно.

Сейчас новый менеджер работает только под опцией. Следующий шаг — включить его по умолчанию. Мы всерьез думаем о добавлении так называемых cross-engine транзакций. Это когда в одной транзакции можно манипулировать данными из двух движков. Например, когда из холодного хранилища (vinyl) нужно перенести данные в горячее хранилище (memtx).

---

Синхронная репликация (c Raft-ом)

Синхронная репликация на протяжении существования Tarantool была одной из самых (если не самой-самой) востребованных возможностей. Все дело в том, что асинхронная репликация не дает 100% гарантий сохранности данных при работе в кластере, когда происходит смена лидера.

5 лет назад началось проектирование и разработка синхрона на базе популярного алгоритма Raft. За эти пять лет буквально каждый пункт плана пошел под откос. В Tarantool за это время сделали SQL, дисковый движок, шардинг, и многое другое. Состав команды успел смениться почти полностью, включая CTO.

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

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

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

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

---

А что еще?

- Добавили поддержку tarantool-1.10+ в модуль миграции данных из tarantool-1.5 (migrate). Теперь можно мигрировать на свежие версии Tarantool со старых.
- В queue исправили проблему с автовозвратом задач на старте, добавили возможность запускать очередь на read-only узлах, прояснили сообщения об ошибках.
- Исправили много проблем в коннекторах и модулях.
- Наконец-то добавили форматированный вывод в селектах!

https://github.com/tarantool/tarantool/releases/tag/2.6.1
Запись вчерашнего эфира про менеджер транзакций
https://www.youtube.com/watch?v=BiF7L2id-TU

---

Сегодня в 18:00 МСК говорим про Raft
https://youtu.be/xeiMt_guKUY
источник

KY

Kirill Yukhin in Tarantool
Pavel Lapaev
Tarantool 2.6 — Синхронная репликация, Raft и MVCC!

Эти новые возможности Tarantool уже доступны в версии 2.6. Мы подробно расскажем про каждую тему на следующей неделе на нашем Youtube-канале.

2, 3 и 5 ноября в 18:00 МСК подключайтесь сюда https://www.youtube.com/c/Tarantool, в следующем сообщении прикладываю .ics файлы для календаря.

Читайте подробнее про изменения https://github.com/tarantool/tarantool/releases/tag/2.6.1

---

Транзакционный менеджер в in-memory движке, наконец-то полноценный MVCC!

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

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

Чем так полезен новый транзакционный менеджер?

 Основная цель нового транзакционного менеджера — избавиться от давней проблемы "грязных чтений" транзакций, которые впоследствии не удалось записать на диск из-за отказа. Это повышает уровень изоляции до истинного Serializable при любом исходе. Также это позволяет использовать Tarantool в более привычном для баз данных сценарии, растягивая транзакцию во времени и исполняя транзакции параллельно.

Сейчас новый менеджер работает только под опцией. Следующий шаг — включить его по умолчанию. Мы всерьез думаем о добавлении так называемых cross-engine транзакций. Это когда в одной транзакции можно манипулировать данными из двух движков. Например, когда из холодного хранилища (vinyl) нужно перенести данные в горячее хранилище (memtx).

---

Синхронная репликация (c Raft-ом)

Синхронная репликация на протяжении существования Tarantool была одной из самых (если не самой-самой) востребованных возможностей. Все дело в том, что асинхронная репликация не дает 100% гарантий сохранности данных при работе в кластере, когда происходит смена лидера.

5 лет назад началось проектирование и разработка синхрона на базе популярного алгоритма Raft. За эти пять лет буквально каждый пункт плана пошел под откос. В Tarantool за это время сделали SQL, дисковый движок, шардинг, и многое другое. Состав команды успел смениться почти полностью, включая CTO.

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

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

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

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

---

А что еще?

- Добавили поддержку tarantool-1.10+ в модуль миграции данных из tarantool-1.5 (migrate). Теперь можно мигрировать на свежие версии Tarantool со старых.
- В queue исправили проблему с автовозвратом задач на старте, добавили возможность запускать очередь на read-only узлах, прояснили сообщения об ошибках.
- Исправили много проблем в коннекторах и модулях.
- Наконец-то добавили форматированный вывод в селектах!

https://github.com/tarantool/tarantool/releases/tag/2.6.1
Привет! Напоминаю, что через час расскажем про RAFT в Тарантуле.
источник

S

Sergey in Tarantool
https://habr.com/ru/company/mailru/blog/513912/ вот это получается уже не актуально?
источник

DS

Dmitry Sharonov in Tarantool
так они комплементарны
источник

MA

Mons Anderson in Tarantool
Ещё какое-то время будет актуально, рафт в бета-версии
источник

YD

Yaroslav Dynnikov in Tarantool
Достаточно продолжительное время бедкт актуально. Статья все-таки больше про матчасть и алгоритмы, а не про то чьими руками это достигается. Заменим етцд на тарантульный кусинк и все останется как раньше.
источник

S

Sergey in Tarantool
это понятно, просто там часть функционала не реализовано по статье
источник

YD

Yaroslav Dynnikov in Tarantool
А вас какая часть интересует в первую очередь
источник

S

Sergey in Tarantool
там в конце есть план реализации, я про это. или просто может статья не обновлялась и где-то можно глянуть пример?
источник

PL

Pavel Lapaev in Tarantool
источник

PL

Pavel Lapaev in Tarantool
Ютуб немного прилег, разбираемся
источник

R

R-omk in Tarantool
стили поехали
источник

KN

Konstantin Nazarov in Tarantool
будет актуально
источник

vm

victor mogilin in Tarantool
а рафт как-то можно скрестить с мастер-мастер чтобы все таки получить переключение без даунтайма rw ?
источник

VS

Vladislav Shpilevoy in Tarantool
Нет. Не-лидер узлы форсируют на себе read-only состояние
источник