Apache Kafka and stream processing peculiarities [ru]Vsevolod Solovyov
This is a presentation about our try at an architecture "Turning the database inside out" by Martin Kleppman https://www.youtube.com/watch?v=fU9hR3kiOK0
I think it's more meaningful to watch a talk https://www.youtube.com/watch?v=d5_fbt5x9yc because the slides were created for talk, not for separate viewing
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
"Fault tolerant workflow orchestration on PHP", Anton TsitouFwdays
Workflow orchestration systems.
About Temporal.IO (Cadence, AWS SWF).
Integrating Temporal to RoadRunner and PHP.
Overview of PHP SDK for durable workflow orchestration.
* приемы доступа к данным;
* прикладной класс работы с БД поверх PDO, особенности PDO;
* связки пуллов коннектов;
* API хранимых процедур;
* работа c распределенным хранилищем;
* RPC между базами на примере асинхронного геокодинга.
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2854.html
Из этого доклада вы узнаете о возможностях репликации и автофейловера PostgreSQL, в том числе о возможностях, ставших доступных в PostgreSQL 10.
Среди прочих, будет затронуты следующие темы:
* Виды репликации и решаемые с ее помощью проблемы.
* Настройка потоковой репликации.
* Настройка логической репликации.
* Настройка автофейловера / HA средствами Stolon и Consul.
После прослушивания доклада вы сможете самостоятельно настраивать репликацию и автофейловер PostgreSQL.
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...Ontico
HighLoad++ 2017
Зал «Кейптаун», 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/3082.html
Любое обновление чего-либо в продакшне - это проблема для администраторов, да и для всей компании в общем. И это особенная проблема, когда необходимо обновлять версию базы данных, и самый пик проблематичности, когда эта база - основное место хранения всех критически важных данных для проекта.
...
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3005.html
Когда мы говорим о нагруженных системах и базах данных с большим числом параллельных коннектов, особый интерес представляет практика эксплуатации и сопровождения таких проектов. В том числе инструменты и механизмы СУБД, которые могут быть использованы DBA и DevOps-инженерами для решения задач мониторинга жизнедеятельности базы данных и ранней диагностики возможных проблем.
...
Отладка и устранение проблем в PostgreSQL Streaming Replication.Alexey Lesovsky
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич постгреса и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации. Для диагностики и решения проблем, связанных с потоковой репликацией, есть множество инструментов, как встроенных в PostgreSQL, так и сторонних.
В этом докладе я сделаю обзор доступных инструментов и расскажу, как с помощью этих средств диагностировать различные типы проблем и как устранять их. Рассматривая методы решения, мы также рассмотрим проблемы, которые возникают при эксплуатации потоковой репликации.
Доклад будет полезен DBA и системным администраторам.
Apache Kafka and stream processing peculiarities [ru]Vsevolod Solovyov
This is a presentation about our try at an architecture "Turning the database inside out" by Martin Kleppman https://www.youtube.com/watch?v=fU9hR3kiOK0
I think it's more meaningful to watch a talk https://www.youtube.com/watch?v=d5_fbt5x9yc because the slides were created for talk, not for separate viewing
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
"Fault tolerant workflow orchestration on PHP", Anton TsitouFwdays
Workflow orchestration systems.
About Temporal.IO (Cadence, AWS SWF).
Integrating Temporal to RoadRunner and PHP.
Overview of PHP SDK for durable workflow orchestration.
* приемы доступа к данным;
* прикладной класс работы с БД поверх PDO, особенности PDO;
* связки пуллов коннектов;
* API хранимых процедур;
* работа c распределенным хранилищем;
* RPC между базами на примере асинхронного геокодинга.
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2854.html
Из этого доклада вы узнаете о возможностях репликации и автофейловера PostgreSQL, в том числе о возможностях, ставших доступных в PostgreSQL 10.
Среди прочих, будет затронуты следующие темы:
* Виды репликации и решаемые с ее помощью проблемы.
* Настройка потоковой репликации.
* Настройка логической репликации.
* Настройка автофейловера / HA средствами Stolon и Consul.
После прослушивания доклада вы сможете самостоятельно настраивать репликацию и автофейловер PostgreSQL.
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...Ontico
HighLoad++ 2017
Зал «Кейптаун», 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/3082.html
Любое обновление чего-либо в продакшне - это проблема для администраторов, да и для всей компании в общем. И это особенная проблема, когда необходимо обновлять версию базы данных, и самый пик проблематичности, когда эта база - основное место хранения всех критически важных данных для проекта.
...
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3005.html
Когда мы говорим о нагруженных системах и базах данных с большим числом параллельных коннектов, особый интерес представляет практика эксплуатации и сопровождения таких проектов. В том числе инструменты и механизмы СУБД, которые могут быть использованы DBA и DevOps-инженерами для решения задач мониторинга жизнедеятельности базы данных и ранней диагностики возможных проблем.
...
Отладка и устранение проблем в PostgreSQL Streaming Replication.Alexey Lesovsky
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич постгреса и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации. Для диагностики и решения проблем, связанных с потоковой репликацией, есть множество инструментов, как встроенных в PostgreSQL, так и сторонних.
В этом докладе я сделаю обзор доступных инструментов и расскажу, как с помощью этих средств диагностировать различные типы проблем и как устранять их. Рассматривая методы решения, мы также рассмотрим проблемы, которые возникают при эксплуатации потоковой репликации.
Доклад будет полезен DBA и системным администраторам.
Никита Цуканов "Параллелизм и распределённые вычисления на акторах с Akka.net"Yulia Tsisyk
Доклад с митапа MSK .NET Community (http://mskdotnet.org).
В современном мире уже нельзя писать код, который работает на одном компьютере на одном процессорном ядре и имеет монопольный доступ к данным. Опытом борьбы с трудностями при написании многопоточного кода поделится Никита Цуканов.
Доклад "Параллелизм и распределённые вычисления на акторах с Akka.NET" рассчитан на неподготовленного слушателя, ранее не имевшего дело с акторами, и является улучшенной и дополненной версией доклада с питерского DotNext. 11 августа речь пойдёт непосредственно об акторной модели и её реализации в Akka.NET, особенностях юнит-тестирования, акторах с сохраняемым состоянием, а так же об интеграции всей этой машинерии с имеющимся приложением и ASP.NET.
MyRocks: табличный движок для MySQL на основе RocksDBSergey Petrunya
MyRocks: табличный движок для MySQL на основе RocksDB.
Презентация с HighLoad++ 2015.
Рассказывается о принципах работы LSM-Trees, их реализации в RocksDB, зачем и как был сделан MyRocks, с какими проблемами столкнулись и как их решили.
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...Ontico
Из этого доклада вы узнаете, как профилировать код, написанный на языках C и C++, в UNIX-подобных системах, таких как Linux, MacOS и FreeBSD. Мы познакомимся с такими инструментами, как gprof, perf, SystemTap, DTrace, и другими.
Также будут приведены списки заслуживающей внимания литературы по этой теме и ссылок на онлайн-ресурсы. Доклад будет интересен как разработчикам, так и системным администраторам.
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. Но как воспользоваться этим пулом, не загубив теоретические показатели программными обёртками?
В докладе будут рассмотрены варианты применения NVMf для различных конфигураций PostgreSQL, Oracle Database, Hadoop, файловых хранилищ, о разработках в направлении «программно-определяемой памяти» с применением NVMe-устройств, доступных по сети, обсуждены текущие проблемы, ограничения и перспективы. Особое внимание будет уделено практическим способам измерения производительности ввода-вывода с учётом задачи, решаемой подсистемой хранения.
Impact of Variable Transmission Range and Scalability With Respect To Mobilit...Jitender Grover
A variety of protocols are used in ad hoc network but the most popular protocol one is Zone Routing Protocol (ZRP). ZRP is a hybrid routing protocol. Transmission power affects the design and performance of all the protocols in Mobile Ad hoc Networks (MANETs). Mobility of nodes and selection of Zone Size in ZRP are also the major issues. In this paper, the impact of Transmission Ranges and Scalability by varying Mobility rate along with Zone Radius on QoS based performance metrics has been analyzed. The environment has been simulated using NS2.33 Simulator. The objective of our work is to analyze that at what speed and by taking how much zone radius ZRP will be able to perform efficiently and effectively for Mobile Ad hoc Networks.
Bad credit personal loans offers bad credit unsecured personal loans,bad credit secured personal loans and bad credit history personal loans at low interest rate.
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6Nikolay Samokhvalov
Первый релиз-кандидат версии 9.6 вышел 1 сентября, а это значит, что совсем скоро будет полноценный релиз. Все вокруг уже успели обсудить новинки, и теперь уже стыдно ничего не знать о таких вещах, как параллелизация выполнения запросов, pushdown для FDW, мониторинг waitlocks, полнотекстовый поиск по фразам или магический \gexec в psql. Чтобы никому не приходилось краснеть, мы быстро пройдёмся по всем основным и интересным моментам версии 9.6.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
OpenSource SQL Databases Enter Millions Queries per Second EraSveta Smirnova
Доклад прочитан на Highload++ 8 ноября 2016 года совместно с Фёдором Сигаевым и Анастасией Распопиной. Подготовка слайдов совместно с Александром Коротковым.
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Ontico
Широко распространено мнение, что SQL СУБД обречены быть медлительными и неповоротливыми, поскольку несут груз совместимости с предыдущими версиями. Это расхожее мнение широко эксплуатируется маркетингом NoSQL СУБД. Однако, это не всегда действительно так.
Разработка в Open Source сообществе позволяет продукту развиваться достаточно гибко, чтобы отвечать требованиям времени. В MySQL и PostgreSQL – самых популярных Open Source СУБД – недавно были проведены оптимизации для работы на больших серверах, что позволило им выполнять более миллиона SQL-запросов в секунду на одном экземпляре БД.
В данном докладе будут рассмотрены конкретные оптимизации, которые позволили добиться таких результатов, которые раньше могли бы показаться фантастическими. И можно сказать, что Open Source СУБД вошли в эру миллионов запросов в секунду.
Получасовая презентация по Java 9. Конечно, рассказать можно много больше, да и часть выводов прозизносил вслух, но в любом случае, если интересна Java 9, то изучение можно начать со ссылок в конце презентации.
Критика, предложения приветствуются.
Similar to Новые технологии репликации данных в PostgreSQL - Александр Алексеев (20)
3. Для кого этот доклад
● Вы считаете, что репликация настраивается
непостижимо сложно.
● Вы никогда не настраивали репликацию в
PostgreSQL или хотели бы освежить знания.
● Вы хотели бы знать, что тут появилось
нового за последнее время.
6. Зачем это нужно
● Распределение нагрузки
○ OLTP: на чтение ходим в реплики
○ OLAP: тяжелая аналитика на реплике
○ Снятие бэкапов
● Фейловер / HA
○ Ручной (лучше!) или автоматический
● Отложенная репликация
● Не заменяет резервное копирование!
7. Коротко о главном
● Потоковая репликация
○ Асинхронная
■ Используется по умолчанию. Быстро,
но можно потерять данные.
○ Синхронная
■ Медленнее (в рамках одного ДЦ не
намного), но надежнее. Желательно
иметь две реплики.
○ Каскадная
8. Коротко о главном
● Логическая репликация
○ Slony
■ Медленно, стабильно.
○ pglogical
■ Быстро, но пока что сыро.
11. Настройка master - postgresql.conf
wal_level = hot_standby
# это нужно, чтобы работал pg_rewind
wal_log_hints = on
max_wal_senders = 8 # default: 0
# если хотим синхронную репликацию
# на одну любую реплику
synchronous_standby_names = '*'
hot_standby = on
13. Настройка slave - pg_basebackup
cd /var/lib/postgresql/9.5/
rm -rf main
mkdir main
chmod go-rwx main
pg_basebackup -P -R -X stream -c fast
-h 10.0.3.245 -U postgres -D ./main
(не поленитесь почитать ман, он классный!)
14. Настройка slave - main/recovery.conf
# по умолчанию восстанавливаемся до текущего
# таймлайна, а нам нужно до максимального
# таймлайна в архиве
recovery_target_timeline = 'latest'
# чтобы отставать от мастера
recovery_min_apply_delay = 10min
(+ правим pg_hba.conf и postgresql.conf аналогично
мастеру)
15. Проверка репликации
На мастере:
SELECT * FROM pg_stat_replication;
На слейве:
SELECT now()-pg_last_xact_replay_timestamp();
Где я (false - на мастере, true - на реплике):
SELECT pg_is_in_recovery();
16. Полезные параметры
Не дожидаемся fsync на реплике:
SET synchronous_commit = 'remote_write';
Пишем только локально, не ждем подтверждения от реплики:
SET synchronous_commit = 'local';
Возвращаем обычное поведение:
SET synchronous_commit = 'on';
9.6: дожидаемся, пока изменения применятся к таблицам:
SET synchronous_commit = 'remote_apply';
17. Промоутим реплику до мастера
pg_ctl promote -D /var/lib/postgresql/9.5/main/
… и смотрим в логи.
Все равно лучше сделать restart, чтобы клиенты
перепроверили, куда они подключены - к мастеру или слейву.
18. Переключение реплик на новый мастер
pg_rewind
-D /var/lib/postgresql/9.5/main/
--source-server="host=?? port=?? user=?? password=??"
cd /var/lib/postgresql/9.5/main/
mv recovery.done reconvery.conf
vim recovery.conf
# проверяем IP мастера и наличие строчки:
# recovery_target_timeline = 'latest'
19. ERROR
Если видим:
requested WAL segment 00200000005 has already been removed
Значит, реплика слишком сильно отстала. Вместо pg_rewind нужно
использовать pg_basebackup, как было описано выше.
20. Автофейловер
На что стоит посмотреть:
● http://www.repmgr.org/
● https://github.com/sorintlab/stolon
22. Что почитать (бонусный слайд)
Про PostgreSQL:
● Официальная документация!
● PostgreSQL 9.0 High Performance, Gregory Smith
● PostgreSQL Server Programming, Hannu Krosing et al
Про РСУБД:
● Database System Implementation, Hector Garcia-Molina et al
Про распределенные системы:
● Distributed systems for fun and profit, Mikito Takada
● Introduction to Reliable and Secure Distributed Programming, Christian
Cachin et al
23. Про NoSQL-решения (бонусный слайд)
Почему неплохо бы держать рядом NoSQL:
● Автошардинг / решардинг (Amazon RDS? Heroku?)
● Счетчики, сессии и коды капч не стоит держать в РСУБД
(блоатинг, rand() % 1000 == 0)
● Колоночные хранилища и транзакции несовместимы
● Для неизменяемых данных не очень-то нужны транзакции
● Полнотекстовый поиск - ОК (GIN, GiST индексы)
● Очереди - ОК (SELECT FROM … FOR UPDATE SKIP LOCKED)
Что посмотреть (не в качестве основной СУБД):
● [ + ] Memcached, Redis, RethinkDB (драйверы?), CockroachDB (?)
● [+/-] Tarantool (мало использовал), Cassandra (200 мс stop the world?)
● [ -- ] Couchbase, MongoDB, Riak
Cм также: Sphinx, ElasticSearch, RabbitMQ, Storm / Heron
Колоночные хранилища? Таймсерии?