There will be no singularity – Telegram
There will be no singularity
1.99K subscribers
248 photos
15 videos
5 files
995 links
Smartface, technologies and decay
@antonrevyako
Download Telegram
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
Wasm (кродеться)

Совершенно внезапно в моем БД-пузыре стал появляться wasm.
И оказалось что то, что казалось каким-то не очень популярным, теперь можно использовать в куче мест!
И, видимо, довольно эффективно.

Базы в браузерах:
- в duckdb
- в tidb (1) , (2)

- в sqlite

- в новом правоверном аналоге кафки Redpanda
- и даже в Postgresql

Предполагаю, это станет меймнстримом через 2-3 года.

Отдельно хорошо, что эта божественная технология доступна не только красноглазым сишникам, но и обычным смертным, включая жеесников - wasmer.io или assemblynoscript.org

Продолжаю наблюдение...
Я как-то пропустил, но амазон открыли сорцы babelfish.

Это такой sql-трансплайнер, который прикидывается sql server’ом, а на бэке работает postgresql. Т.е. в теории можно экономить на лицензии в тех проектах, где выбрали не ту бд :)

Там, конечно, не все просто, пришлось патчить постргю.
Но все равно прикольно :)

Возможно, не последнюю роль в этом сыграла купленная амазоном в начале года украинская компания DB Best Technologies, они как раз всякими миграторами занимаются.
Сейчас все пилят тиктоки свои БД.
Помните про firebolt , да?

Подписчик поделился ссылкой на проект своих друзей - unum.am
Говорят, уделывает FoundationDB и все остальные noSQL.
Правда, cloud only, без опенсорсов.

Еще наткнулся на новую графовую базу - memgraph.com
Наконец что-то не на джаве, с cypher и опенсорсом :)

Надо будет попробовать, как руки дойдут...
Lukas Fittl из pganalyze.com не только выковырял оригинальный AST парсер из postgresql , но еще и планировщик (450k sloc сишного кода)
Правда, планировщик он пока не заопенсорсил.

Так же у них есть онлайн рекомендатор для индексов

Работает как-то очень странно, но попробуйте сами...
Жаль, API нет :(
Forwarded from Egor Suvorov
Там в SQLite наконец-то завезли проверку типов у столбцов и данных. Теперь можно включить 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
А я говорил, говорил!

- взять postgresql как бекенд
- нафигачить обвязку про что-нибудь не-постгресовое
- назвать новой базой
- поднять инвесторского бабла
- PROFIT!!!

получим ferretdb.io - тру опенсорс аналог монги...
Обновление моей коллекции опенсорц тулзин для SQL на github

Странно, что я не заметил этот проект раньше, хотя ему уже два года, но лучше поздно, чем никогда :)

Кодеген из sql в типы и модельки на go.
https://github.com/kyleconroy/sqlc

Работает неплохо, но все равно хуже, чем мой неопенсорсный parsers.dev :)
А иногда совсем не работает :(

И да, с parsers.dev можно генерить код для любого языка, не только для go, т.к. в качестве результатов получаете объект с типами, информацией о nullable и много еще всякого полезного.

Решите написать свой генератор, обращайтесь в личку, буду рад помочь!
Пришло время извлекать профит!

Давайте все дружно порекомендуем меня в супергерои :)

Спокойно, я не поехал! Речь о Snowflake Data Superheroes. Там есть кнопочка NOMINATE A PEER, по которой будет коротенькая анкета.

На всякий случай уточню какого хрена почему это меня касается:
- парсер и компилятор snowflake на parsers.dev
- data lineage для snowflake на dwh.dev
- чаты t.me/snowflakedbchat_en и t.me/snowflakedbchat
- новости t.me/snowflake_daily
- регулярный бомбеж на тему snowflake в этом канале :)

Представлю вестерн юроп достойно :)
Обогнать мильярд жителей Индии, конечно, не получится, но почему бы не попробовать :)

NOMINATE A PEER на этой странице:
https://community.snowflake.com/s/dataheroes

Upd: профиль на линкеде - https://www.linkedin.com/in/anton-revyako/
Вряд ли меня читают крестовики, но у всех же есть такие друзья из бумажных записных книжек, да?
Дружественному стартапу требуется...

Разыскивается С++ Senior! (ну или Middle, который нас приятно удивит)
Мы - Xperience.ai
Специализируемся на компьютерном зрении. Знаем о нем все.
Ты будешь разрабатывать OpenCV с нами.
Мы не удивимся твоим зарплатным ожиданиям, дадим бонусы, ДМС, курсы английского, компенсацию спорта, всё как положено.
Можно работать в нашем офисе в центре Нижнего Новгорода или удаленно.
Почему стоит прийти работать к нам?
Чтобы работать над интересными проектами за большие деньги.
PS: И конечно же у нас дружный коллектив! (а то вдруг тебе дружить не с кем)

Писать сюда: телеграм @lilushonok или на почту lilia.gorlova@xperience.ai