Forwarded from Технологический Болт Генона
Среда это маленькая пятница и остановиться я не мог 🌝
В ИИ не верил до конца, поэтому некоторых переименовал слегка.
@nosingularity
@sysadmin_tools
@oleg_log (Олег прости, букву "а" забыл)
@aws_notes
@count0_digest
@SysadminNotes
@bykvaadm
@dereference_pointer_there
@k8security
Хайрезы в комменты скину.
В ИИ не верил до конца, поэтому некоторых переименовал слегка.
@nosingularity
@sysadmin_tools
@oleg_log (Олег прости, букву "а" забыл)
@aws_notes
@count0_digest
@SysadminNotes
@bykvaadm
@dereference_pointer_there
@k8security
Хайрезы в комменты скину.
Forwarded from DataEng
Компания Altinity (та, которая теперь активно развивает ClickHouse) 2 ноября провела конференцию под названием Open Source Analytics Conference, в качестве спикеров были такие звёзды как Maxime Beauchemin, Andy Pavlo, Пётр Зайцев. Доклады уже доступны в сети бесплатно и без смс.
Наиболее заметные:
— Analytic Trends & Data Engineering
— Do We Still Need People To Write Database Systems?
— Distributed Tracing Using ClickHouse at eBay
— Data Rivers — The New Analytics Architecture
— Managing Transactional and Analytical Workloads with Open Source Databases
— Effective Dashboard Design Using Apache Superset
— Succeeding with Apache Druid and Clickstream Data
Наиболее заметные:
— Analytic Trends & Data Engineering
— Do We Still Need People To Write Database Systems?
— Distributed Tracing Using ClickHouse at eBay
— Data Rivers — The New Analytics Architecture
— Managing Transactional and Analytical Workloads with Open Source Databases
— Effective Dashboard Design Using Apache Superset
— Succeeding with Apache Druid and Clickstream Data
Altinity | Run open source ClickHouse® better
OSA Con 2021
Join leading open source and analytic application developers on Nov. 2, 2021 in Altinity’s free, single-day virtual conference: OSA Con. Learn more!
Forwarded from Segment@tion fault
И первый публичный анонс нашего pub/sub-сервера. Сервер - PubSubRT, протокол - PSRT (IESG approved, port 2873)
В чем особенности сервера:
1) Минимально простая конфигурация. На производительность влияет только один параметр - data queue. Чем он меньше - тем меньше latency, но клиент может дольше ждать перед отправкой сообщения
2) Работает максимально быстро, даже с большими пейлоадами. И да, latency на хорошей сети редко поднимается выше 0,5 ms (для мелких пейлоадов - в пределах 30-40 микросекунд)
3) Это не "черный ящик". максимальный мониторинг всего, что происходит внутри
4) Жесткое слежение за latency, warnings в логи, как только превышается допустимый параметр
5) Никаких "таблиц подписки" - только b-trees. Клиенты могут задать миллионы подписок на разные топики, но если сообщения не ходят сразу в миллион клиентов бродкастом - сервер этого не замечает.
Latency между паблишером и конкретным подписчиком мы считаем, как время с момента получения от паблишера первого байта OP_PUBLISH и до ухода последнего байта в дата-сокет подписчика
В чем особенности протокола. Основная особенность одна - мы использовали два сокета (на один порт) и отказались от карусели OP-ACK. Аргумент против один: это усложняет написание надежного клиента, впрочем клиенты на Rust и Python уже вполне надежные. Теперь аргументы в пользу:
- В Pub/Sub пуши от сервера приходят только когда вы получаете сообщение. поэтому пусть себе и ходят по выделенному сокету данных
- По сокету управления все операции - атомарные. Карусель OP-ACK на клиенте тоже не нужна, что намного облегчает логику
- Благодаря двум сокетам, сервер может посылать ACK на операции контроля прямо в то время, пока клиент по второму сокету скачивает большой пейлоад
- Внезапно, но есть куча клиентов, которые просто отправляют данные и ни на что не подписываются. В PSRT данные на сервер можно пушить хоть UDP-фреймами, с ACK или без
- Нет retains. На высоконагруженных Pub/Sub от них всё равно рано или поздно отказываются, потому что это обычно операции с диском
- Очень жесткий контроль таймаутов. Дохлый клиент будет с сервера немедленно выброшен. Дохлый сервер будет немедленно переподключен клиентом
- Максимально простой запуск TLS
- Репликация и HA из коробки. В сервере мы ее пока не открывали, но в будущем думаю да. Протокол репликации открыт
- Логическая совместимость с MQTT - те же топики, те же маски
Все это уже работает в продакшне у клиентов. Реальное ускорение с пейлдоадами >10kb на медленных каналах (нестабильный 1Mbit) - в 5-10 раз быстрее, чем MQTT. Наша EVA ICS уже получила поддержку PSRT в дополнение к MQTT, релиз выйдет примерно через месяц.
https://github.com/alttch/psrt
В чем особенности сервера:
1) Минимально простая конфигурация. На производительность влияет только один параметр - data queue. Чем он меньше - тем меньше latency, но клиент может дольше ждать перед отправкой сообщения
2) Работает максимально быстро, даже с большими пейлоадами. И да, latency на хорошей сети редко поднимается выше 0,5 ms (для мелких пейлоадов - в пределах 30-40 микросекунд)
3) Это не "черный ящик". максимальный мониторинг всего, что происходит внутри
4) Жесткое слежение за latency, warnings в логи, как только превышается допустимый параметр
5) Никаких "таблиц подписки" - только b-trees. Клиенты могут задать миллионы подписок на разные топики, но если сообщения не ходят сразу в миллион клиентов бродкастом - сервер этого не замечает.
Latency между паблишером и конкретным подписчиком мы считаем, как время с момента получения от паблишера первого байта OP_PUBLISH и до ухода последнего байта в дата-сокет подписчика
В чем особенности протокола. Основная особенность одна - мы использовали два сокета (на один порт) и отказались от карусели OP-ACK. Аргумент против один: это усложняет написание надежного клиента, впрочем клиенты на Rust и Python уже вполне надежные. Теперь аргументы в пользу:
- В Pub/Sub пуши от сервера приходят только когда вы получаете сообщение. поэтому пусть себе и ходят по выделенному сокету данных
- По сокету управления все операции - атомарные. Карусель OP-ACK на клиенте тоже не нужна, что намного облегчает логику
- Благодаря двум сокетам, сервер может посылать ACK на операции контроля прямо в то время, пока клиент по второму сокету скачивает большой пейлоад
- Внезапно, но есть куча клиентов, которые просто отправляют данные и ни на что не подписываются. В PSRT данные на сервер можно пушить хоть UDP-фреймами, с ACK или без
- Нет retains. На высоконагруженных Pub/Sub от них всё равно рано или поздно отказываются, потому что это обычно операции с диском
- Очень жесткий контроль таймаутов. Дохлый клиент будет с сервера немедленно выброшен. Дохлый сервер будет немедленно переподключен клиентом
- Максимально простой запуск TLS
- Репликация и HA из коробки. В сервере мы ее пока не открывали, но в будущем думаю да. Протокол репликации открыт
- Логическая совместимость с MQTT - те же топики, те же маски
Все это уже работает в продакшне у клиентов. Реальное ускорение с пейлдоадами >10kb на медленных каналах (нестабильный 1Mbit) - в 5-10 раз быстрее, чем MQTT. Наша EVA ICS уже получила поддержку PSRT в дополнение к MQTT, релиз выйдет примерно через месяц.
https://github.com/alttch/psrt
Еще одна китайская бд. На этот раз HA distributed time series. На гошечке
https://github.com/lindb/lindb
https://github.com/lindb/lindb
GitHub
GitHub - lindb/lindb: LinDB is a scalable, high performance, high availability distributed time series database.
LinDB is a scalable, high performance, high availability distributed time series database. - lindb/lindb
Wasm (кродеться)
Совершенно внезапно в моем БД-пузыре стал появляться wasm.
И оказалось что то, что казалось каким-то не очень популярным, теперь можно использовать в куче мест!
И, видимо, довольно эффективно.
Базы в браузерах:
- в duckdb
- в tidb (1) , (2)
- в sqlite
- в новом правоверном аналоге кафки Redpanda
- и даже в Postgresql
Предполагаю, это станет меймнстримом через 2-3 года.
Отдельно хорошо, что эта божественная технология доступна не только красноглазым сишникам, но и обычным смертным, включая жеесников - wasmer.io или assemblynoscript.org
Продолжаю наблюдение...
Совершенно внезапно в моем БД-пузыре стал появляться wasm.
И оказалось что то, что казалось каким-то не очень популярным, теперь можно использовать в куче мест!
И, видимо, довольно эффективно.
Базы в браузерах:
- в duckdb
- в tidb (1) , (2)
- в sqlite
- в новом правоверном аналоге кафки Redpanda
- и даже в Postgresql
Предполагаю, это станет меймнстримом через 2-3 года.
Отдельно хорошо, что эта божественная технология доступна не только красноглазым сишникам, но и обычным смертным, включая жеесников - wasmer.io или assemblynoscript.org
Продолжаю наблюдение...
Я как-то пропустил, но амазон открыли сорцы babelfish.
Это такой sql-трансплайнер, который прикидывается sql server’ом, а на бэке работает postgresql. Т.е. в теории можно экономить на лицензии в тех проектах, где выбрали не ту бд :)
Там, конечно, не все просто, пришлось патчить постргю.
Но все равно прикольно :)
Возможно, не последнюю роль в этом сыграла купленная амазоном в начале года украинская компания DB Best Technologies, они как раз всякими миграторами занимаются.
Это такой sql-трансплайнер, который прикидывается sql server’ом, а на бэке работает postgresql. Т.е. в теории можно экономить на лицензии в тех проектах, где выбрали не ту бд :)
Там, конечно, не все просто, пришлось патчить постргю.
Но все равно прикольно :)
Возможно, не последнюю роль в этом сыграла купленная амазоном в начале года украинская компания DB Best Technologies, они как раз всякими миграторами занимаются.
Сейчас все пилят тиктоки свои БД.
Помните про firebolt , да?
Подписчик поделился ссылкой на проект своих друзей - unum.am
Говорят, уделывает FoundationDB и все остальные noSQL.
Правда, cloud only, без опенсорсов.
Еще наткнулся на новую графовую базу - memgraph.com
Наконец что-то не на джаве, с cypher и опенсорсом :)
Надо будет попробовать, как руки дойдут...
Помните про firebolt , да?
Подписчик поделился ссылкой на проект своих друзей - unum.am
Говорят, уделывает FoundationDB и все остальные noSQL.
Правда, cloud only, без опенсорсов.
Еще наткнулся на новую графовую базу - memgraph.com
Наконец что-то не на джаве, с cypher и опенсорсом :)
Надо будет попробовать, как руки дойдут...
Lukas Fittl из pganalyze.com не только выковырял оригинальный AST парсер из postgresql , но еще и планировщик (450k sloc сишного кода)
Правда, планировщик он пока не заопенсорсил.
Так же у них есть онлайн рекомендатор для индексов
Работает как-то очень странно, но попробуйте сами...
Жаль, API нет :(
Правда, планировщик он пока не заопенсорсил.
Так же у них есть онлайн рекомендатор для индексов
Работает как-то очень странно, но попробуйте сами...
Жаль, API нет :(
Forwarded from Egor Suvorov
Там в SQLite наконец-то завезли проверку типов у столбцов и данных. Теперь можно включить
https://www.sqlite.org/releaselog/3_37_0.html
Оказывается, была (и есть) целая страница, посвящённая концепции "динамическая типизация в базе данных — это хорошо": https://www.sqlite.org/flextypegood.html
> Based on decades of experience, I reject the thesis that rigid type enforcement helps prevent application bugs. I will accept and believe a slightly modified thesis: Rigid type enforcement helps to prevent applications bugs in languages that lack a single top-level "Value" superclass. But SQLite does have the single "sqlite3_value" superclass, so that proverb does not apply.
STRICT для конкретной таблицы и не получится положить 'zzz' в столбец INTEGER. Положить туда '0123' всё ещё получится, впрочем, будет 123.https://www.sqlite.org/releaselog/3_37_0.html
Оказывается, была (и есть) целая страница, посвящённая концепции "динамическая типизация в базе данных — это хорошо": https://www.sqlite.org/flextypegood.html
> Based on decades of experience, I reject the thesis that rigid type enforcement helps prevent application bugs. I will accept and believe a slightly modified thesis: Rigid type enforcement helps to prevent applications bugs in languages that lack a single top-level "Value" superclass. But SQLite does have the single "sqlite3_value" superclass, so that proverb does not apply.
Кому даты на авс? :)
Приглашаем на Data Meetup от AWS User Group Ukraine 14 декабря в 19:00 (GMT+2)!
AWS ML Hero & DataSquad Team Leader в TeamWork ─ Virginie Mathivet
и специалисты из N-iX будут обсуждать:
🔸 как step-by-step создавать Datalab и какие сервисы AWS использовать.
🔸 особенности использования сервиса AWS Data Pipeline.
🔸 навыки, благодаря которым Data Engineers становятся high-level специалистами.
Присоединяйтесь онлайн:
https://bit.ly/3l52RZ1
Приглашаем на Data Meetup от AWS User Group Ukraine 14 декабря в 19:00 (GMT+2)!
AWS ML Hero & DataSquad Team Leader в TeamWork ─ Virginie Mathivet
и специалисты из N-iX будут обсуждать:
🔸 как step-by-step создавать Datalab и какие сервисы AWS использовать.
🔸 особенности использования сервиса AWS Data Pipeline.
🔸 навыки, благодаря которым Data Engineers становятся high-level специалистами.
Присоединяйтесь онлайн:
https://bit.ly/3l52RZ1
А я говорил, говорил!
- взять postgresql как бекенд
- нафигачить обвязку про что-нибудь не-постгресовое
- назвать новой базой
- поднять инвесторского бабла
- PROFIT!!!
получим ferretdb.io - тру опенсорс аналог монги...
- взять postgresql как бекенд
- нафигачить обвязку про что-нибудь не-постгресовое
- назвать новой базой
- поднять инвесторского бабла
- PROFIT!!!
получим ferretdb.io - тру опенсорс аналог монги...