ch
Feedback
Data Science. SQL hub

Data Science. SQL hub

前往频道在 Telegram

По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ

显示更多

📈 Telegram 频道 Data Science. SQL hub 的分析概览

频道 Data Science. SQL hub (@sqlhub) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 35 840 名订阅者,在 技术与应用 类别中位列第 3 816,并在 俄罗斯 地区排名第 18 116

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 35 840 名订阅者。

根据 19 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -33,过去 24 小时变化为 10,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 6.99%。内容发布后 24 小时内通常能获得 3.45% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 504 次浏览,首日通常累积 1 238 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 11
  • 主题关注点: 内容集中在 sql, индекс, postgres, index, sqlite 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ

凭借高频更新(最新数据采集于 20 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

35 840
订阅者
+1024 小时
-157
-3330
帖子存档
Вы ещё успеваете поступить в онлайн-магистратуру МФТИ «Финансовые технологии и аналитика» 👩‍🎓Ближайшие даты экзаменов — 4 и
Вы ещё успеваете поступить в онлайн-магистратуру МФТИ «Финансовые технологии и аналитика» 👩‍🎓Ближайшие даты экзаменов — 4 и 19 сентября. ➕Диплом очной магистратуры гособразца по направлению 38.03.05 «Бизнес-информатика». ➕Онлайн-обучение из любой точки мира. ➕Углубленная специализация в сфере финтех-разработки или аналитики. ➕Гранты на запуск своего стартапа в области Data Science/AI/ML до 3 млн ₽. ➕Более 5 проектов в портфолио: реальные задачи от Сбера, ВТБ, Ozon Fintech, Альфа-Банка и других финтех-компаний уже с первого семестра. ➕Возможность совмещать с работой и развивать корпоративный проект в качестве дипломного. ➕Рассрочка под 3% от Сбера и Минобразования. Платёж во время учебы — до 900 ₽ в месяц. Бесплатный подготовительный курс и запись прошедших консультаций по экзаменам доступны после регистрации. Оставьте заявку, чтобы зарегистрироваться на день открытых дверей и начать готовиться к поступлению: https://netolo.gy/b3n0 Реклама ООО “Нетология” LatgBddPw

FugueSQL – SQL для Pandas, Spark и Dask DataFrames Что такое FugueSQL? FugueSQL – это библиотека Python, которая позволяет по
FugueSQL – SQL для Pandas, Spark и Dask DataFrames Что такое FugueSQL? FugueSQL – это библиотека Python, которая позволяет пользователям комбинировать код на языке Python и команды SQL. Это дает пользователям возможность гибко переключаться между Python и SQL в рамках Jupyter Notebook или Python-скрипта. Чтобы установить FugueSQL, введите: pip install fugue[sql] Для запуска на движках выполнения Spark или Dask введите: pip install fugue[sql, spark] pip install fugue[sql, dask] pip install fugue[all] В этой статье мы рассмотрим некоторые утилиты FugueSQL и сравним FugueSQL с другими инструментами, такими как pandasql. В чем разница между FugueSQL и pandasql? Если вы знакомы с pandasql, то у вас может возникнуть вопрос: Зачем использовать FugueSQL, если pandasql уже позволяет выполнять SQL с помощью pandas? pandasql имеет единственный бэкэнд – SQLite. Передача данных между pandas и SQLite сопряжена с большими накладными расходами. С другой стороны, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite. from fugue.api import fugue_sql import json query = """ SELECT id, value FROM input_df TRANSFORM USING map_letter_to_food(mapping={{mapping}}) SCHEMA * """ map_dict_str = json.dumps(map_dict) # returns Pandas DataFrame fugue_sql(query,mapping=map_dict_str) # returns Spark DataFrame fugue_sql(query, mapping=map_dict_str, engine="spark") ЧитатьGithub @sqlhub

🔥 Шпаргалка SQL → Pandas — выбрать один столбец или несколько из них; — фильтрация; — выбор уникальных значений по столбцу; — подсчет числа значений; — перечисление названий столбцов и т.д. @sqlhub

Курс «Английский для аналитиков» Яндекс Практикума Для специалистов, которые хотят изменить свою профессиональную жизнь и раб
Курс «Английский для аналитиков» Яндекс Практикума Для специалистов, которые хотят изменить свою профессиональную жизнь и работать в международной команде. Обучение построено вокруг рабочих ситуаций и полезных для карьеры навыков: 🗣 Самопрезентация. Рассказ о своей роли, задачах, сфере ответственности на поведенческом интервью и в неформальной беседе. 🙌 Работа в команде. Стендапы, планирование спринтов, демонстрация навыков командной работы на собеседовании. 👨‍💻 Общение с заказчиками и исполнителями. Сбор требований у стейкхолдеров и постановка задач для разработчиков. 📈 Презентация результатов работы. Выступление на митапах, неформальное общение с коллегами из отрасли. 📝 Обсуждение решений по проекту. Генерация и аргументация идей, участие в мозговых штурмах. 🚀 Рефлексия и самоанализ. Ретроспектива, ревью, ответы на сложные вопросы. Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.

🖥 Пакеты драйверов для баз данных на языке Python Ниже приведен список Python-библиотек драйверов для различных баз данных, полезный любому программисту, который интересуется этим языком. ▪redis-py — клиент базы данных Redis на Python redis-py 3.5.x — это последняя версия, которая поддерживала Python 2. Обновления безопасности, совместимые с Python 2, выходили вплоть до 20 августа 2020 года. Для redis-py 4.0, следующей основной версии, уже требуется Python не ниже версии 3.5. ▪PyMySQL — драйвер Pure Python MySQL, совместимый с mysql-python Этот пакет содержит клиентскую библиотеку Python MySQL, основанную на стандарте PEP 249. Большинство открытых API-интерфейсов совместимы с mysqlclient и MySQLdb. ЗАМЕЧАНИЕ: PyMySQL не поддерживает низкоуровневые API-запросы, которые есть в _mysql, а именно data_seek, store_result и use_result. Вы должны использовать высокоуровневые API-запросы, определенные в стандарте PEP 249. Но некоторые API-запросы, такие как autocommit и ping, все же поддерживаются, поскольку PEP 249 никак не регламентирует их применение. ▪asyncpg — быстрая клиентская библиотека Python / asyncio для базы данных PostgreSQL Это библиотека интерфейса базы данных, разработанная специально для PostgreSQL и Python / asyncio. asyncpg — это эффективная и чистая реализация бинарного протокола сервера баз данных PostgreSQL для использования с асинхронным фреймворком Python asyncio. Вы можете узнать больше об asyncpg вот здесь. asyncpg требует Python версии 3.5 или новее и поддерживается для PostgreSQL начиная с версии 9.2 и заканчивая версией 12. ▪psycopg2 — самый популярный адаптер PostgreSQL для Python Psycopg — самый популярный адаптер базы данных PostgreSQL для языка программирования Python. Его основными особенностями являются полная реализация спецификации Python DB API 2.0 и безопасность потоков (несколько потоков могут использовать одно и то же соединение). Он был разработан для многопоточных приложений, которые создают и уничтожают множество связей и выполняют большое количество одновременных операций INSERT или UPDATE. ▪mysqlclient — поддерживающий Python 3 форк библиотеки mysql-python В этом проекте добавлена ​​поддержка Python 3 и исправлен ряд ошибок. Мы надеемся, что этот форк будет снова объединен со своей родительской библиотекой. Это было бы так же логично, как объединение дистрибутива и программы для его установки. ▪cassandra-python-driver — драйвер Python для Cassandra Современная, многофункциональная и гибконастраиваемая клиентская библиотека Python для Apache Cassandra (1.2+) и DataStax Enterprise (3.1+). Она использует исключительно бинарный протокол Cassandra и язык запросов Cassandra Query Language v3. ▪motor — аснхронный драйвер Python для MongoDB Motor — это полнофункциональный драйвер MongoDB для Python Tornado и других асинхронных приложений. ▪pymssql — простой интерфейс для Microsoft SQL Server Простой интерфейс баз данных на языке Python, который строится поверх FreeTDS и предоставляет интерфейс Python DB-API (PEP-249) для Microsoft SQL Server. ▪HappyBase — удобная библиотека для Apache HBase ▪PyMongo — официальный клиент Python для MongoDB ▪SuperSQLite — улучшенная библиотека SQLite Это многофункциональная библиотека Python, предназначенная для использования SQLite в Python компанией Plasticity. Построена она на основе apsw. @sqlhub

Эволюция ритейла через большие данные: Х5 Tech проведет конференцию XData На онлайн-конференции 31 августа выступят спикеры и
Эволюция ритейла через большие данные: Х5 Tech проведет конференцию XData На онлайн-конференции 31 августа выступят спикеры из X5 Tech, чтобы поделиться своим опытом в data science. В программе несколько тем: ➖ Построение аналитики в сервисе онлайн-доставки ➖ Как работает Data-спецназ — команда, которая решает нестандартные бизнес-запросы ➖ Автоматизация А/Б тестирования в оффлайне ➖ Инструменты мониторинга и управления при сотнях IT-продуктов и ML-моделей ➖ Эконометрика для рекламы в торговых сетях 🔔 31 августа, 11:00 Участие бесплатно, нужна регистрация.

🖥 Vanna Крутой Python-пакет на базе ИИ для автоматической генерации SQL-запросов Он был обучен так, что теперь способен созд
🖥 Vanna Крутой Python-пакет на базе ИИ для автоматической генерации SQL-запросов Он был обучен так, что теперь способен создавать сложные SQL-запросы всего за несколько секунд. С Vanna вы можете легко и быстро получать данные из вашей базы данных, просто задавая вопросы Инструмент может похвастаться высокой точностью на сложных наборах данных, безопасностью и конфиденциальностью, а также самообучением Стоимость: #бесплатно (но есть платные функции) #SQL #ИИ #базы_данных @sqlhub

Приглашаем на бесплатный мини-курс Skillbox «Data Science с нуля: пробуем профессии на практике за 5 дней». Вы познакомитесь
Приглашаем на бесплатный мини-курс Skillbox «Data Science с нуля: пробуем профессии на практике за 5 дней». Вы познакомитесь с основными направлениями Data Science: машинным обучением, data-инженерией и data-аналитикой. Выполните практические задания и поймёте, какая специальность вам ближе. 🎁 Успейте зарегистрироваться и получить подарок: https://goo.su/Jc3VC8C — Чем займётесь на мини-курсе? Узнаете, где востребована наука о данных, и разберётесь в отличиях её основных направлений. Освоите азы главного языка Data Science — Python, а также визуализируете с помощью него данные. Изучите базовые конструкции языка SQL и, наконец, поймёте, как же работают нейросети. В знакомстве с профессиями вас будет сопровождать Анастасия Борнева — руководитель направления по исследованию данных в Сбере. В финале мини-курса в прямом эфире она разберёт практические задания и ответит на все вопросы. 🎉 Все участники получат крутые бонусы и подарки! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

🔍 Где искать работу Дата Саентисту? Собрали для вас список площадок для поиска работы или фрланс-проекта в области Data Science. 1. Toptal Toptal - один из крупнейших фриланс сайтов для специалистов по анализу данных. В отличие от многих других бирж фриланса в Toptal соискатели проходят тестирование в различных областях, включая знание английского языка и технические навыки, в области SQL и Python для data science. 2. Open Data Science Jobs Open Data Science Jobs - одна из крупнейших площадок вакансий, посвященных только науке о данных. Такие компании, как Bose, использовали эту доску объявлений для поиска специалистов по науке о данных для оптимизации своей бизнес-аналитики. 3. Kaggle Kaggle - одно из крупнейших сообществ датасаентистов. Kaggle предоставляет наборы данных, проводит соревнования и вообще способствует процветанию сообщества специалистов по анализу данных. Доска вакансий Kaggle - один из лучших вариантов для начала поиска проекта для рабрты. Ее услугами пользуются крупнейшие компании (Amazon, Capital One и AIG и тд). 4. Scalable Path Если у вас есть готовая команда датасаентистов и вы хотите найти интерсный проект , Scalable Path - отличный вариант. 5. Gigster Еще одина крупная фриланс площадка с проектами ds. 6. iCrunchData - это доска объявлений c вакансиями в области науки о данных. 7. X-Team X-Team - рынок фриланса, где можно работать, как одному, так и в команде. 8. Gun.io Gun.io очень похож на Toptal, быстро и эффективно подбирая для компаний квалифицированных инженеров по науке о данных. С тысячами зарегистрированных членов Gun.io является восходящей звездой в индустрии фриаланса. 9. R-users Простой поиск по сайту R-users позволяет найти десятки вакансий в области науки о данных, в которых используется язык программирования R. 10. AngelList AngelList - это место, где встречаются ит- предприниматели и инвесторы. 11. Engineering Jobs Если вы ищете ds проект Engineering Jobs может стать отличным местом для поиска интересной работы. 12. Dice Dice - доскоа объявлений о карьере в сфере технологий и ИТ. Эта доска известна тем, что привлекает архитекторов программного обеспечения, инженеров, QA-тестеров и инженеров по анализу данных. 13. SimplyHired SimplyHired - это еще одна крупная доска объявлений о работе, похожая на Indeed или Monster. 14. Папка с каналами для поиска работы в телеграме. Телеграм каналы и чаты, где публикуются вакансии ds, python и не только. Очень полезная папка (папки поддерживаются только в последних версиях тг), где можно найти вакансию на любой ЯП. Ставьте 👍 , если полезно. @sqlhub

Бесплатный практический интенсив, после которого вы точно разберётесь в статистике А всё потому что его проведёт Анатолий Кар
Бесплатный практический интенсив, после которого вы точно разберётесь в статистике А всё потому что его проведёт Анатолий Карпов — тот самый автор «основ статистики», благодаря которым статистику поняли более 200 тысяч человек. Анатолий руководил командой аналитики в отделе бизнеса и рекламы ВКонтакте, а сейчас является основателем школы karpovꓸcourses. Что будет на интенсиве: • Узнаете, как спланировать исследование • Проанализируете данные A/B-теста • Поймёте что значат статистически значимые различия и при чём тут ошибка выжившего Задачи будут как для начинающих, так и для специалистов с опытом, поэтому будет интересно и полезно всем. Встречаемся 24 и 25 августа в 19:00 Зарегистрируйтесь на интенсив и получите гид по старту карьеры в Анализе данных: https://karpov.courses/analytics-intensive

💬 Регулярные выражения Язык SQL поддерживает работу с регулярными выражениями (regular expressions или RegEx). Это специальный язык, позволяющий достаточно точно определить шаблоны поиска в строке. Для работы с регулярными выражениями используется оператор SIMILAR TO вместо LIKE. Вернемся к нашей задаче — нужно выбрать пользователей, чье имя начинается на 'A' и 'B'. Чтобы решить ее, нужно применить такой шаблон: SELECT * FROM users WHERE first_name SIMILAR TO '[AB]%'; Разберем примененный шаблон [AB]%. В квадратных скобках перечисляются допустимые символы, а далее следует знакомый нам символ %. Этот запрос вернет пользователей с именами Abigale, Andy, Brayan, и так далее. Представим, что нам нужно найти пользователей, у которых username заканчивается любой буквой. Это можно сделать таким шаблоном: %[abcdefghijklmnopqrstuvwxyz]. Согласитесь, такая запись неудобна для чтения и записи. А что, если мы случайно пропустим какую-то букву? В квадратных скобках можно использовать символ - для перечисления. Если записать в квадратных скобках начальный символ, поставить "-" и указать конечный символ, то такой шаблон вернет любой символ из диапазона от начального до конечного. Напишем запрос, который вернет всех пользователей у которых username заканчивается любой буквой, будет выглядеть так: SELECT * FROM users WHERE username SIMILAR TO '%[a-z]'; Точно так же можно работать и с русскими буквами: '%[а-я]%'. Такой запрос поможет найти пользователей, у которых в поле username есть русские буквы: SELECT * FROM users WHERE username SIMILAR TO '%[а-я]%'; Чтобы выбрать все цифры, используем шаблон [0-9]: SELECT * FROM users WHERE username SIMILAR TO '%[0-9]'; Такой запрос вернет всех пользователей, чей username заканчивается на любую цифру. Комбинируя правила, мы можем создавать достаточно сложные шаблоны. Например, проверим, что в поле email введены корректные адреса электронной почты. Корректная почта должна содержать адрес, который состоит из: *️⃣Имени с любым количеством любых символов — например, my_email *️⃣Символа @ *️⃣Домена с любым количеством любых символов — например, gmail *️⃣Точки *️⃣Указания национальной зоны — например, com Запрос на поиск корректных адресов будет таким: SELECT username, email FROM users WHERE email SIMILAR TO '%@%.%'; Такой запрос выведет имена пользователей с корректными адресами электронной почты, однако нам интереснее найти ошибки. В этом случае частица NOT позволит найти строки, которые не соответствуют шаблону: SELECT username, email FROM users WHERE email NOT SIMILAR TO '%@%.%'; Теперь выберем все адреса электронной почты, у которых национальная зона состоит ровно из двух символов — например, ru, su, io и так далее. При этом исключим зоны, состоящие из трех и более символов — например, com. Это можно сделать так: %.[a-z][a-z]. Но удобнее воспользоваться еще одним спецсимволом — подчеркиванием _. Символ подчеркивания обозначает ровно один любой символ, необязательно букву. Наш запрос будет выглядеть так: SELECT username, email FROM users WHERE email SIMILAR TO '%.__'; Чтобы вывести пользователей с адресами электронной почты оканчивающимися на 3 символа, нужно добавить еще одно подчерктивание в наш шаблон: SELECT username, email FROM users WHERE email SIMILAR TO '%.___'; Мы рассмотрели наиболее полезные и часто используемые возможности регулярных выражений в SQL, но они ими не ограничиваются.

⚠️ 3 из 5 компаний уже перешли с Oracle и MS SQL на PostgreSQL. PostgreSQL хорошо выполняет сложные запросы и позволяет созда
⚠️ 3 из 5 компаний уже перешли с Oracle и MS SQL на PostgreSQL. PostgreSQL хорошо выполняет сложные запросы и позволяет создавать высокодоступные отказоустойчивые и параллельные кластера под "тяжелые" задач 🦾 PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Протестируйте обучение на открытых уроках: 🔹Триггеры в PostgreSQL, 31 августа в 20:00 Научимся разрабатывать триггеры и триггерные функции на PL/PgSQL ➡️ https://otus.pw/NVme/ 🔹 Статистика и её значение для оптимизации запросов, 5 сентября в 20:00 Узнаете, где и как PostgreSQL хранит и как актуализирует статистику ➡️ https://otus.pw/VVCu/ Нативная интеграция. Информация о продукте www.otus.ru

🖥 SQLLEX ORM v0.3.0 Python-библиотека SQLLEX, которая позволяет эффективно и безопасно взаимодействовать с базами данных. Ес
🖥 SQLLEX ORM v0.3.0 Python-библиотека SQLLEX, которая позволяет эффективно и безопасно взаимодействовать с базами данных. Если вы имели опыт работы с базами данных на Python, то, вероятно, испытывали трудности при написании SQL-запросов. Однако теперь нет необходимости бороться с этим. Больше никаких con.cursor() , ваш ждут удобные функции db.insert(), db.select(). Теперь ваш код будет более структурирован и понятен без магии SQL. На github-е SQLLEX имеется подробная документация с обширным набором примеров кода, доступных в разделе wiki. pip install sqllexGithubДокументация @sqlhub

🖥SQLModel Полезная библиотека SQLModel для Python, которая упрощает взаимодействие с SQL базами данных. С помощью SQLModel м
🖥SQLModel Полезная библиотека SQLModel для Python, которая упрощает взаимодействие с SQL базами данных. С помощью SQLModel можно использовать Pydantic-подобные классы, использующие аннотации типов Python для повышения читаемости. ▪GithubДокументация @sqlhub

⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь: Машинное обучение: @ai_machinelearning_big_data Go: @Golang_google C#: @csharp_ci Базы данных: @sqlhub Python: @python_job_interview C/C++/: @cpluspluc Data Science: @data_analysis_ml Devops: @devOPSitsec Rust: @rust_code Javascript: @javascriptv React: @react_tg PHP: @phpshka Docker: @docker Android: @android_its Мобильная разработка: @mobdevelop Linux: linuxacademy Big Data: t.me/bigdatai Хакинг: @linuxkalii Java:@javatg Собеседования: @machinelearning_interview 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy 🔥ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: @english_forprogrammers

🖥 Finetuning LLaMa + Text-to-SQL Llama 2 - отличная модель, но она не очень хорошо справляется с преобразованием текста в SQ
🖥 Finetuning LLaMa + Text-to-SQL Llama 2 - отличная модель, но она не очень хорошо справляется с преобразованием текста в SQL запросы. Приходится прибегать к тонкой настройке 💡. Вышла отличная библиотека для Llama 2 преобразования текста в SQL. git clone https://github.com/run-llama/modal_finetune_sql.gitGIthubIpynb @sqlhub

Яндекс Практикум открывает курс по Python для школьников 13-17 лет и приглашает наставников, готовых поделиться своими знания
Яндекс Практикум открывает курс по Python для школьников 13-17 лет и приглашает наставников, готовых поделиться своими знаниями с новым IT-поколением.  Формат работы: удалёнка, парт-тайм, можно совмещать с основной работой.  Что нужно будет делать: проводить вебинары, отвечать на вопросы в чатах, давать обратную связь, помогать, поддерживать и мотивировать студентов. Вознаграждение и бонусы:  оплата за ведение групп до 30 человек (количество групп можно выбрать самостоятельно)  бесплатное обучение на интенсиве по коммуникациям и эффективному преподаванию; сертификаты о социально-полезной деятельности для портфолио, прокачка менторских, лидерских и soft skills, нетворкинг.  Идеальный кандидат: имеет техническое/педагогическое образование (3 курс и старше), опыт работы от полугода (подойдут фриланс, pet-проекты) и желание обучать подростков.  Необходимые навыки: разрабатывать сайты/приложения/нейросети на Python и создавать ботов для Telegram. Узнать детали и откликнуться на вакансию наставника по Python-разработке.

PeerDB — упрощённое ETL для Postgres Инструмент помогает реализовать быстрое перемещение данных из и в вашу базу данных Postg
PeerDB — упрощённое ETL для Postgres Инструмент помогает реализовать быстрое перемещение данных из и в вашу базу данных Postgres Он позволяет инженерам данных создавать масштабируемые конвейеры легко и быстро, используя SQL Сервис предоставляет реальное время CDC (изменение захвата данных) с гарантией свежести данных менее 30 секунд на целевом устройстве Стоимость: #бесплатно (но есть платные тарифы) #Postgres #БД

🔍 ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев Почему не MongoDB? Чем плоха Mongo? У нее открытый исходный код, поддерживается разделение данных, но совершенно иная архитектура — с единой точкой отказа. При «падении» главного узла, то есть координатора, в БД начинается отработка отказа, во время которого БД недоступна. Кроме того, для достижения высокой доступности каждый сегмент Mongo должен запускаться как набор реплик —  больше узлов. Кольцевая архитектура Cassandra в этом смысле превосходнее. Драйвер Scylla «знает» о сегментах и добирается до конкретного узла/процессора, ответственного за запрашиваемую строку, делая распределение действительным. Но почему так важны отработка отказов без простоев и высокая доступность? На спотовых экземплярах — а это 1/4 стоимости вычислений — часто ежедневно случаются отработки отказов: узлы в k8s постоянно уничтожаются и воссоздаются, что чревато завершением всех запущенных в них подов/процессов, в том числе БД. Установка Scylla Сначала запустим локально, используя драйверы и что-нибудь на Cassandra Query Language: docker run -p 9042:9042 -p 7002:7000 -p 7001:7001 -p 9160:9160 -p 9180:9180 --name scylla --hostname scylla -d scylladb/scylla --smp 1 --developer-mode 1 Этой командой запустится одноузловой кластер Scylla. Так в режиме разработчика Scylla требуется минимум ресурсов в отличие от Cassandra, с которой у Docker Engine много работы. Применение драйвера Scylla Вот простой пример на Golang с использованием официального драйвера Scylla: import "github.com/gocql/gocql" func Connect(config Config) (*gocql.Session, error) { cluster := gocql.NewCluster(config.Hosts...) cluster.Keyspace = config.KeySpace cluster.CQLVersion = "3.11" cluster.RetryPolicy = &gocql.ExponentialBackoffRetryPolicy{ NumRetries: 5, Min: time.Millisecond * 5, Max: time.Second * 5} cluster.ProtoVersion = 3 cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy( gocql.RoundRobinHostPolicy()) cluster.ConnectTimeout = time.Second * 10 cluster.Consistency = gocql.One if config.Timeout != nil { cluster.Timeout = *config.Timeout } cluster.Authenticator = gocql.PasswordAuthenticator{ Username: config.Username, //'cassandra' по умолчанию Password: config.Password, //'cassandra' по умолчанию } session, err := cluster.CreateSession() if err != nil { return nil, err } return session, nil } Здесь стоит обратить внимание вот на что: cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy( gocql.RoundRobinHostPolicy()) Драйвером-клиентом TokenAware с помощью ключа раздела пробуется первый сегмент, затем методом циклического перебора — следующий, если первый недоступен. Для этого необходимо подключиться не к порту Cassandra по умолчанию 9042, а к порту Scylla с поддержкой сегментов 19042. Попробуем простой запрос: func Ping(session *gocql.Session) error { var str = new(string) if err := session.Query("SELECT uuid() FROM system.local;").Scan(str); err != nil { return err } if str == nil || len(*str) == 0 { return errors.New("failed sanity check") } return nil } // альтернатива «select 1;» в SQL Переходим в облако ПРОДОЛЖЕНИЕ