Git for Data
Dolt - это база данных, которую можно форкать, клонировать, делать merge, pull, push.
Вообщем все тоже самое что и в git.
Подключиться можно так же как и к MySQL, выполнять обычные запросы к бд.
Dolt полностью совместим с MySQL, поэтому может быть развернуть, как реплика MySQL.
It's like Git and MySQL had a baby. 😅
Dolt - это база данных, которую можно форкать, клонировать, делать merge, pull, push.
Вообщем все тоже самое что и в git.
Подключиться можно так же как и к MySQL, выполнять обычные запросы к бд.
Dolt полностью совместим с MySQL, поэтому может быть развернуть, как реплика MySQL.
It's like Git and MySQL had a baby. 😅
Dolthub
What Is Dolt? | Dolt Documentation
На канале был пост про супер быстрый линтер для Python ruff, где я спрашивал, зачем скорость для линтера?
Сегодня посмотрел видео в YouTube от evrone, где рассказывают про ruff и почему, он скорее всего вам не нужен.
Сегодня посмотрел видео в YouTube от evrone, где рассказывают про ruff и почему, он скорее всего вам не нужен.
Telegram
Data Explorers Hub
Вышел новый линтер для Python
Ruff.
Ruff стремится быть на порядки быстрее альтернативных инструментов, интегрируя при этом больше функций в единый общий интерфейс.
Линтер написан на Rust и разработчики заявляют очень быструю работу.
⚡️ 10-100x faster than…
Ruff.
Ruff стремится быть на порядки быстрее альтернативных инструментов, интегрируя при этом больше функций в единый общий интерфейс.
Линтер написан на Rust и разработчики заявляют очень быструю работу.
⚡️ 10-100x faster than…
This media is not supported in your browser
VIEW IN TELEGRAM
В DBeaver есть плагин для работы с OpenAI.
Сегодня попробовал его, простые задачи решает правильно.
Есть конечно вопросы к data privacy, но пишут
We prioritize data safety and user privacy.
- No Table Data: Only metadata like table and column names are shared with OpenAI. Actual table data is not transmitted.
- User Consent: On the first use of AI completion for a specific connection, DBeaver will prompt for your confirmation to send metadata.
This confirmation is mandatory to use the feature.
upd: закинул пару задач со StrataScratch, тоже решил правильно.
Сегодня попробовал его, простые задачи решает правильно.
Есть конечно вопросы к data privacy, но пишут
We prioritize data safety and user privacy.
- No Table Data: Only metadata like table and column names are shared with OpenAI. Actual table data is not transmitted.
- User Consent: On the first use of AI completion for a specific connection, DBeaver will prompt for your confirmation to send metadata.
This confirmation is mandatory to use the feature.
upd: закинул пару задач со StrataScratch, тоже решил правильно.
👍1
Подъехала новая архитектура ELTP.
Extract, Load, Transform, and Publish.
Этап publish похож на Reverse ETL, но как пишет автор статьи, вы не понимаете - это другое.
All Reverse ETL destinations are Publish-type destinations, but not all Publish destinations are Reverse ETL.
Сама статья в блоге Airbyte.
Похоже теперь каждая компания хочешь придумать модный buzz word, как DBT делают с modern data stack.
И потом продвигать новую концепцию на всех конференциях.
Extract, Load, Transform, and Publish.
Этап publish похож на Reverse ETL, но как пишет автор статьи, вы не понимаете - это другое.
All Reverse ETL destinations are Publish-type destinations, but not all Publish destinations are Reverse ETL.
Сама статья в блоге Airbyte.
Похоже теперь каждая компания хочешь придумать модный buzz word, как DBT делают с modern data stack.
И потом продвигать новую концепцию на всех конференциях.
👍3❤2
На youtube канале Honeypot вышла очередная документалка.
На это раз рассказывается история создания Ruby on Rails.
Так же на канале есть видео про:
- React
- GraphQL
- Kubernetes
- Vue
- Elixir
- Prometheus
а для тех кто плохо знает английский, есть замечательный плагин,
который делает закадровый перевод видео на русский язык.
На это раз рассказывается история создания Ruby on Rails.
Так же на канале есть видео про:
- React
- GraphQL
- Kubernetes
- Vue
- Elixir
- Prometheus
а для тех кто плохо знает английский, есть замечательный плагин,
который делает закадровый перевод видео на русский язык.
YouTube
Ruby on Rails: The Documentary
Ruby on Rails has one of the most faithful communities online, it also has one of the most controversial, rabble-rousing creators out there, Danish programmer, David Heinemeier Hansson. Widely known as DHH, David tells us how Rails went from a crazy idea…
Топ 8 расширений для PostgreSQL 🖥
🔵 PostGIS: Фундаментально преобразует PostgreSQL в систему баз данных, которая может эффективно обрабатывать пространственные данные. В нем представлены дополнительные типы данных, такие как geometry, geography, raster и другие.
🔵 pg_stat_statements: Отслеживает статистику запросов, выполняемых базой данных Postgres.
🔵 pgcrypto: Расширяет возможности PostgreSQL, предоставляя криптографические функции прямо в системе базы данных. Это расширение предлагает множество функций для создания хэшей, шифрования и дешифрования данных, позволяя вам выполнять безопасные криптографические операции с вашими данными в PostgreSQL.
🔵 pg_partman: Это расширение, которое упрощает создание и обслуживание разделов таблиц PostgreSQL.
🔵 postgres_fdw: Модуль postgres_fdw позволяет использовать оболочку внешних данных для доступа к таблицам на удаленных серверах Postgres.
🔵 pgvector: Добавляет поддержку векторных операций в PostgreSQL. Он позволяет PostgreSQL выполнять поиск по сходству, поиск ближайших соседей и другие сложные операции с векторными данными.
🔵 hstore: Это хранилище «ключ-значение» в PostgreSQL, функционирующее как расширение, позволяющее хранить наборы пар «ключ-значение» в одном типе данных PostgreSQL.
🔵 pgpcre: Это расширение PostgreSQL, которое интегрирует Perl-совместимые регулярные выражения (PCRE) в PostgreSQL. Он обеспечивает расширенные функции сопоставления строк и особенно полезен, когда встроенные возможности регулярных выражений PostgreSQL недостаточны для сложных требований сопоставления с образцом.
подробнее про все расширения тут
#postgres
#database
подробнее про все расширения тут
#postgres
#database
Please open Telegram to view this post
VIEW IN TELEGRAM
Tiger Data Blog
Top 8 PostgreSQL Extensions
Check our eight top PostgreSQL extensions, along with sample queries and instructions.
👍1
На Reddit иногда очень интересно почитать комменарии.
Эта ветка мемов под названием "Инженер данных пришел ко мне… слезы на глазах" в субреддите "dataengineering" вращается вокруг проблем первичных ключей. Комментатор Ein_Bear с юмором противопоставляет серьезность освоения навыков обработки данных, таких как индексирование и балансировка нагрузки, повседневной деятельности.
While you were out partying, I mastered the index.
While you were having casual sex, I studied load balancing.
While you were using Excel as a database, I trained in SSRS.
And now you have the audacity to ask me for help?
Другой пользователь, hisglasses66, объясняет сложность операции внутреннего соединения с несколькими условиями. Комментатор RuprectGern подчеркивает важность столбцов LastModified, а Jg-mz подчеркивает необходимость тщательной очистки данных. Общее настроение предполагает сочетание юмора и признания сложностей, связанных с разработкой данных.
Эта ветка мемов под названием "Инженер данных пришел ко мне… слезы на глазах" в субреддите "dataengineering" вращается вокруг проблем первичных ключей. Комментатор Ein_Bear с юмором противопоставляет серьезность освоения навыков обработки данных, таких как индексирование и балансировка нагрузки, повседневной деятельности.
While you were out partying, I mastered the index.
While you were having casual sex, I studied load balancing.
While you were using Excel as a database, I trained in SSRS.
And now you have the audacity to ask me for help?
Другой пользователь, hisglasses66, объясняет сложность операции внутреннего соединения с несколькими условиями. Комментатор RuprectGern подчеркивает важность столбцов LastModified, а Jg-mz подчеркивает необходимость тщательной очистки данных. Общее настроение предполагает сочетание юмора и признания сложностей, связанных с разработкой данных.
😁2
На YouTube очень много каналов по программированию и часто, непросто отделить годный контент от второстепенного.
Хочу посоветовать(по-моему мнению один из лучших каналов для разработчиков)
Hussein Nasser.
В основном автор разбирает темы backend разработки и разбирает их достаточно глубоко.
Все видео разделены на плэйлисты.
Например есть:
- Backend
engineering(beginner)
- Backend engineering(intermediate)
- Backend engineering(advanced)
- HTTP/2
- Network engineering
Так же у Hussein есть крутые курсы на Udemy, один из них я проходил и могу порекомендовать.
Fundamentals of database engineering
Хочу посоветовать(по-моему мнению один из лучших каналов для разработчиков)
Hussein Nasser.
В основном автор разбирает темы backend разработки и разбирает их достаточно глубоко.
Все видео разделены на плэйлисты.
Например есть:
- Backend
engineering(beginner)
- Backend engineering(intermediate)
- Backend engineering(advanced)
- HTTP/2
- Network engineering
Так же у Hussein есть крутые курсы на Udemy, один из них я проходил и могу порекомендовать.
Fundamentals of database engineering
Udemy
Fundamentals of Database Engineering
Learn ACID, Indexing, Partitioning, Sharding, Concurrency control, Replication, DB Engines, Best Practices and More!
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Top 9 HTTP Request Methods
1. HTTP GET - получает информаци с сервера. Он идемпотентен. Несколько одинаковых запросов возвращают один и тот же результат.
2. HTTP PUT- обновляет или создает ресурс. Он идемпотентен. Несколько одинаковых запросов обновят один и тот же ресурс.
3. HTTP POST - используется для создания новых ресурсов. Он не идемпотентен: создание двух идентичных POST приведет к дублированию создания ресурса.
4. HTTP DELETE - Используется для удаления ресурса. Он идемпотентен. Несколько одинаковых запросов приведут к удалению одного и того же ресурса.
5. HTTP PATCH - Метод PATCH применяет к ресурсу частичные изменения.
6. HTTP HEAD - Метод HEAD запрашивает ответ, идентичный запросу GET, но без тела ответа.
7. HTTP CONNECT - Метод CONNECT устанавливает туннель к серверу, указанному целевым ресурсом.
8. HTTP OPTIONS - этот метод описывает параметры связи для целевого ресурса.
9. HTTP TRACE - с помощью этого метода выполняется проверка обратной связи сообщения на пути к целевому ресурсу.
1. HTTP GET - получает информаци с сервера. Он идемпотентен. Несколько одинаковых запросов возвращают один и тот же результат.
2. HTTP PUT- обновляет или создает ресурс. Он идемпотентен. Несколько одинаковых запросов обновят один и тот же ресурс.
3. HTTP POST - используется для создания новых ресурсов. Он не идемпотентен: создание двух идентичных POST приведет к дублированию создания ресурса.
4. HTTP DELETE - Используется для удаления ресурса. Он идемпотентен. Несколько одинаковых запросов приведут к удалению одного и того же ресурса.
5. HTTP PATCH - Метод PATCH применяет к ресурсу частичные изменения.
6. HTTP HEAD - Метод HEAD запрашивает ответ, идентичный запросу GET, но без тела ответа.
7. HTTP CONNECT - Метод CONNECT устанавливает туннель к серверу, указанному целевым ресурсом.
8. HTTP OPTIONS - этот метод описывает параметры связи для целевого ресурса.
9. HTTP TRACE - с помощью этого метода выполняется проверка обратной связи сообщения на пути к целевому ресурсу.
👍3
Data Quality Fundamentals
Когда данные отсутствуют, являются неточными или ошибочными, инициативы по обеспечению качества данных обречены на провал, в результате чего предприятия оказываются в невыгодном положении в плане соблюдения конфиденциальности и ведения бизнеса.
«Основы качества данных» O’Reilly — это полное руководство и первая книга, опубликованная O’Reilly, в которой рассказывается о том, как лучшие в своем классе команды по работе с данными проектируют технические системы для получения достоверных и надежных данных в большом масштабе.
Книга выпущена издательством O'Reilly совместно с Monte Carlo (Один из лидеров в сфере Data Quality и Data Observability)
p.s книга в комментариях
#book
#dataquality
Когда данные отсутствуют, являются неточными или ошибочными, инициативы по обеспечению качества данных обречены на провал, в результате чего предприятия оказываются в невыгодном положении в плане соблюдения конфиденциальности и ведения бизнеса.
«Основы качества данных» O’Reilly — это полное руководство и первая книга, опубликованная O’Reilly, в которой рассказывается о том, как лучшие в своем классе команды по работе с данными проектируют технические системы для получения достоверных и надежных данных в большом масштабе.
Книга выпущена издательством O'Reilly совместно с Monte Carlo (Один из лидеров в сфере Data Quality и Data Observability)
p.s книга в комментариях
#book
#dataquality
👍8
Log Parsing Cheat Sheet
1. GREP выполняет поиск в любых входных файлах, выбирая строки, соответствующие одному или нескольким шаблонам.
2. CUT вырезает выбранные части каждой строки из каждого файла и записывает их в стандартный вывод.
3. SED считывает указанные файлы, изменяя входные данные, как указано в списке команд.
4. AWK сканирует каждый входной файл на наличие строк, соответствующих любому набору шаблонов.
5. SORT сортирует текстовые и двоичные файлы по строкам.
6. UNIQ считывает указанный входной файл, сравнивая соседние строки, и записывает копию каждой уникальной входной строки в выходной файл.
Эти команды часто используются в сочетании для быстрого поиска полезной информации в лог файлах.
1. GREP выполняет поиск в любых входных файлах, выбирая строки, соответствующие одному или нескольким шаблонам.
2. CUT вырезает выбранные части каждой строки из каждого файла и записывает их в стандартный вывод.
3. SED считывает указанные файлы, изменяя входные данные, как указано в списке команд.
4. AWK сканирует каждый входной файл на наличие строк, соответствующих любому набору шаблонов.
5. SORT сортирует текстовые и двоичные файлы по строкам.
6. UNIQ считывает указанный входной файл, сравнивая соседние строки, и записывает копию каждой уникальной входной строки в выходной файл.
Эти команды часто используются в сочетании для быстрого поиска полезной информации в лог файлах.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Data Pipelines Overview
Data pipelines являются фундаментальным компонентом эффективного управления и обработки данных в современных системах. Эти пайплайны обычно включают в себя 5 основных этапов: Collect, Ingest, Store, Compute, Consume.
Collect:
Данные собираются из хранилищ данных, потоков данных и приложений, полученных удаленно с
устройств, приложений или бизнес-систем.
Ingest:
В процессе приема данные загружаются в системы и организуются в очередях событий.
Store:
После этапа ingest организованные данные хранятся в data warehouse/data lake/data lakehouse, а также в различных системах, таких как базы данных, что обеспечивает хранение после приема.
Compute:
Данные подвергаются агрегированию, очистке и манипуляциям в соответствии со стандартами компании, включая такие задачи, как преобразование формата, сжатие данных и секционирование. На этом этапе используются методы пакетной и потоковой обработки.
Consume:
Обработанные данные доступны для потребления через инструменты аналитики и визуализации, хранилища операционных данных, механизмы принятия решений, пользовательские приложения, информационные панели, обработку данных, услуги машинного обучения, бизнес-аналитику и аналитику самообслуживания.
Data pipelines являются фундаментальным компонентом эффективного управления и обработки данных в современных системах. Эти пайплайны обычно включают в себя 5 основных этапов: Collect, Ingest, Store, Compute, Consume.
Collect:
Данные собираются из хранилищ данных, потоков данных и приложений, полученных удаленно с
устройств, приложений или бизнес-систем.
Ingest:
В процессе приема данные загружаются в системы и организуются в очередях событий.
Store:
После этапа ingest организованные данные хранятся в data warehouse/data lake/data lakehouse, а также в различных системах, таких как базы данных, что обеспечивает хранение после приема.
Compute:
Данные подвергаются агрегированию, очистке и манипуляциям в соответствии со стандартами компании, включая такие задачи, как преобразование формата, сжатие данных и секционирование. На этом этапе используются методы пакетной и потоковой обработки.
Consume:
Обработанные данные доступны для потребления через инструменты аналитики и визуализации, хранилища операционных данных, механизмы принятия решений, пользовательские приложения, информационные панели, обработку данных, услуги машинного обучения, бизнес-аналитику и аналитику самообслуживания.
👍3
DevOps vs. SRE vs. Platform Engineering.
В чем разница?
Концепции DevOps, SRE и Platform Engineering возникли в разное время и разрабатывались разными людьми и организациями.
DevOps как концепция была представлена в 2009 году Патриком Дебуа и Эндрю Шафером на конференции Agile. Они стремились сократить разрыв между разработкой программного обеспечения и его эксплуатацией, продвигая культуру сотрудничества и общую ответственность за весь жизненный цикл разработки программного обеспечения.
SRE, или Site Reliability Engineering, была впервые разработана компанией Google в начале 2000-х годов для решения операционных задач управления крупномасштабными и сложными системами. Google разработала методы и инструменты SRE, такие как система управления кластерами Borg и система мониторинга Monarch, чтобы повысить надежность и эффективность своих услуг.
Platform engineering - это более новая концепция, основанная на фундаменте SRE-инжиниринга. Точные истоки platform engineering не известны, но обычно считается, что это расширение практик DevOps и SRE с упором на предоставление комплексной платформы для разработки продуктов, которая поддерживает всю бизнес-перспективу.
В чем разница?
Концепции DevOps, SRE и Platform Engineering возникли в разное время и разрабатывались разными людьми и организациями.
DevOps как концепция была представлена в 2009 году Патриком Дебуа и Эндрю Шафером на конференции Agile. Они стремились сократить разрыв между разработкой программного обеспечения и его эксплуатацией, продвигая культуру сотрудничества и общую ответственность за весь жизненный цикл разработки программного обеспечения.
SRE, или Site Reliability Engineering, была впервые разработана компанией Google в начале 2000-х годов для решения операционных задач управления крупномасштабными и сложными системами. Google разработала методы и инструменты SRE, такие как система управления кластерами Borg и система мониторинга Monarch, чтобы повысить надежность и эффективность своих услуг.
Platform engineering - это более новая концепция, основанная на фундаменте SRE-инжиниринга. Точные истоки platform engineering не известны, но обычно считается, что это расширение практик DevOps и SRE с упором на предоставление комплексной платформы для разработки продуктов, которая поддерживает всю бизнес-перспективу.
👍1
Порядок выполнения SQL запроса.
SQL запросы выполняются базой данных в несколько этапов.
- Парсинг sql - выражения и проверка его валидности.
- Преобразование SQL во внутреннее представление, такое как реляционная алгебра.
- Оптимизация внутреннего представления и создание плана выполнения, использующего информацию индекса.
- Выполнение плана и возвращение результатов
Выполнение SQL запроса достаточно сложная операция и требует множества факторов, таких как:
- Использование индексов и кешей.
- Порядок объединения таблиц.
- Управление параллелизмом.
- Управление транзакциями.
для чего нужно понимание выполнения запроса?
В комментариях пример задачи.
SQL запросы выполняются базой данных в несколько этапов.
- Парсинг sql - выражения и проверка его валидности.
- Преобразование SQL во внутреннее представление, такое как реляционная алгебра.
- Оптимизация внутреннего представления и создание плана выполнения, использующего информацию индекса.
- Выполнение плана и возвращение результатов
Выполнение SQL запроса достаточно сложная операция и требует множества факторов, таких как:
- Использование индексов и кешей.
- Порядок объединения таблиц.
- Управление параллелизмом.
- Управление транзакциями.
для чего нужно понимание выполнения запроса?
В комментариях пример задачи.
👍5
Data Engineering Zoomcamp
Очередной запуск Data Engineering Zoomcamp
стартует 15 января 2024.
В курсе есть достаточно интересные изменения.
Первое из них и наверное самое главное, что инструментом для окестрации выбран MageAI, про него был небольшой пост в канале. До этого в курсе использовали airflow и prefect.
Так же будет модуль по стримингу с использованием Kafka и ksqlDB.
В качестве хранилища данных традиционно используется BigQuery.
С каждым годом курс становиться все интереснее.
В прошлом году проходил zoomcamp, в качестве облачной платформы использовал yandex cloud, а в качестве хранилища Сlickhouse. С таким стэком лабы тоже засчитывали.
Подробнее про курс тут
#обучение
Очередной запуск Data Engineering Zoomcamp
стартует 15 января 2024.
В курсе есть достаточно интересные изменения.
Первое из них и наверное самое главное, что инструментом для окестрации выбран MageAI, про него был небольшой пост в канале. До этого в курсе использовали airflow и prefect.
Так же будет модуль по стримингу с использованием Kafka и ksqlDB.
В качестве хранилища данных традиционно используется BigQuery.
С каждым годом курс становиться все интереснее.
В прошлом году проходил zoomcamp, в качестве облачной платформы использовал yandex cloud, а в качестве хранилища Сlickhouse. С таким стэком лабы тоже засчитывали.
Подробнее про курс тут
#обучение
👍7
Git Branching strategies
Стратегия ветвления - это соглашение или набор правил, которые описывают, когда создаются ветки git, правила именования ветвей, какое использование ветвей и т. д. Стратегии ветвления позволяют разделить работу, сгруппированную по концептуальным идеям. Эти концептуальные идеи могут разрабатываться параллельно и могут также включать исправления ошибок. Разным проектам требуются разные модели ветвления в зависимости от их размера, рабочего процесса и стратегий развертывания.
Некоторые из наиболее популярных стратегий ветвления git:
🤓 Gitflow - Scheduled deployment strategy.
🤓 Github flow - Branch per feature deployment strategy.
🤓 Gitlab flow - State branching strategy.
Ветвление позволяет группам разработчиков легко сотрудничать внутри одной центральной базы кода. Выбор правильной стратегии ветвления является ключом к обеспечению хорошей периодичности безопасного выпуска кода в рабочую среду. Знание и понимание различных стратегий ветвления является ключом к принятию этого решения. Это также гарантирует, что процесс CI/CD будет эффективно запускаться, обеспечивая более быстрое развертывание стабильного кода в рабочей среде.
Плдробнее про стратегии ветвления в крутом гайде.
А какой стратегией пользуетесь вы?
Стратегия ветвления - это соглашение или набор правил, которые описывают, когда создаются ветки git, правила именования ветвей, какое использование ветвей и т. д. Стратегии ветвления позволяют разделить работу, сгруппированную по концептуальным идеям. Эти концептуальные идеи могут разрабатываться параллельно и могут также включать исправления ошибок. Разным проектам требуются разные модели ветвления в зависимости от их размера, рабочего процесса и стратегий развертывания.
Некоторые из наиболее популярных стратегий ветвления git:
Ветвление позволяет группам разработчиков легко сотрудничать внутри одной центральной базы кода. Выбор правильной стратегии ветвления является ключом к обеспечению хорошей периодичности безопасного выпуска кода в рабочую среду. Знание и понимание различных стратегий ветвления является ключом к принятию этого решения. Это также гарантирует, что процесс CI/CD будет эффективно запускаться, обеспечивая более быстрое развертывание стабильного кода в рабочей среде.
Плдробнее про стратегии ветвления в крутом гайде.
А какой стратегией пользуетесь вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Pradeep Loganathan's Blog
Git Branching strategies
GIT branching strategies are conventions, or a set of rules, that describes when branches are created. Choosing the right branching strategy is key to empower development teams to collaborate effectively.
👍4
HOW DISCORD STORES TRILLIONS OF MESSAGES
В 2017 году в блоге discord вышел пост how we store billions of messages. Разработчики рассказали о том, как они провели миграцию с MongoDB на Cassandra. Они знали, что будут расти и поэтому выбирали базу с возможностью scalbilty, fault-tolerant and low maintence.
Но с ростом данных они столкнулись с рядом проблем. В 2017 году сетап составлял 12 нод Cassandra, а к началау 2022 достиг 177 нод. Появились проблемы с базой, задержки стали непредсказуемы, операции по обслуживанию базы стали обходиться дорого.
После этого было принято решение поменять архитектуру. Выбор пал на ScyllaDB - совместимая с Cassandra база данных, написанная на C++. Эта миграция обещала лучшую производительность.
Требования к миграции были просты, нужно перенести триллионы сообщений без простоев, и сделать это нужно быстро.
Было решено начинать двойную запись новых данных в Cassandra и ScyllaDB и одновременно начинать предоставлять средство миграции Spark ScyllaDB. Примерные оценки завершения миграции составили 3 месяца, что не очень вдохновило инженеров.
Команда собралась для обсуждения проблемы и решила написать инструмент миграции на Rust.
К слову в discord уже была библиотека для работы с базой данных, которую решили расширить.
После завершения работы над инструментом для миграции, оценка переноса данных составил 9 дней!!
На данный момент сетап составляет 72 ноды ScyllaDB по 9TB каждая.
Очень круто, что большие компании делиться своим опытом.
Можно найти неочевидные решения.
На очереди пост
How Quora scaled MySQL to 100k+ Queries Per Second
Оригинальный пост тык.
Видео разбор от Hussein Nasser.
В 2017 году в блоге discord вышел пост how we store billions of messages. Разработчики рассказали о том, как они провели миграцию с MongoDB на Cassandra. Они знали, что будут расти и поэтому выбирали базу с возможностью scalbilty, fault-tolerant and low maintence.
Но с ростом данных они столкнулись с рядом проблем. В 2017 году сетап составлял 12 нод Cassandra, а к началау 2022 достиг 177 нод. Появились проблемы с базой, задержки стали непредсказуемы, операции по обслуживанию базы стали обходиться дорого.
После этого было принято решение поменять архитектуру. Выбор пал на ScyllaDB - совместимая с Cassandra база данных, написанная на C++. Эта миграция обещала лучшую производительность.
Требования к миграции были просты, нужно перенести триллионы сообщений без простоев, и сделать это нужно быстро.
Было решено начинать двойную запись новых данных в Cassandra и ScyllaDB и одновременно начинать предоставлять средство миграции Spark ScyllaDB. Примерные оценки завершения миграции составили 3 месяца, что не очень вдохновило инженеров.
Команда собралась для обсуждения проблемы и решила написать инструмент миграции на Rust.
К слову в discord уже была библиотека для работы с базой данных, которую решили расширить.
После завершения работы над инструментом для миграции, оценка переноса данных составил 9 дней!!
На данный момент сетап составляет 72 ноды ScyllaDB по 9TB каждая.
Очень круто, что большие компании делиться своим опытом.
Можно найти неочевидные решения.
На очереди пост
How Quora scaled MySQL to 100k+ Queries Per Second
Оригинальный пост тык.
Видео разбор от Hussein Nasser.
Discord
How Discord Stores Billions of Messages
We decided early on to store all chat history forever so users can come back at any time and have their data available. This is a lot of data: how do we do it?
👍7
Forwarded from Data Engineering Zoomcamp
Hi everyone!
The next iteration of the course is starting soon (in 1.5 months). In the meantime, you probably have a ton of questions
That's why we organize a Q&A stream on December 18 (Monday) at 17:00 CET where we will answer all your questions
Sign up here: https://lu.ma/1u1jlz4x
Also, on Monday (tomorrow) we will have a workshop that many of you will find relevant. We will talk about using Terraform for setting up a data warehouse (ClickHouse)
Sign up here: https://lu.ma/5fil21de
The next iteration of the course is starting soon (in 1.5 months). In the meantime, you probably have a ton of questions
That's why we organize a Q&A stream on December 18 (Monday) at 17:00 CET where we will answer all your questions
Sign up here: https://lu.ma/1u1jlz4x
Also, on Monday (tomorrow) we will have a workshop that many of you will find relevant. We will talk about using Terraform for setting up a data warehouse (ClickHouse)
Sign up here: https://lu.ma/5fil21de
lu.ma
Introduction to Data Engineering Zoomcamp · Luma
Live session about the upcoming Data Engineering Zoomcamp course - Alexey Grigorev
About the event
Join us for a Q&A session with Alexey Grigorev, the…
About the event
Join us for a Q&A session with Alexey Grigorev, the…
👍1
Terraform stack
Новая фича от terraform, которая упрощает предоставление инфраструктуры и управление ею в любом масштабе.
В HashiCorp говорят, что stack одно из крупнейших изменений в инфраструктуре terraform.
Какие задачи решат terraform stack?
Использование небольших модулей и рабочих пространств для создания компонуемой инфраструктуры имеет ряд преимуществ. Разделение кода Terraform на управляемые части помогает:
- Ограничить радиус (не смог дословно перевести)при изменении ресурсов
- Сократить время работы
- Разделение управленческих обязанностей в пределах команды
-Обход многоэтапных вариантов использования, таких как подготовка кластера Kubernetes.
Вообще, похоже чем то на кубер?
DevOps есть в канале, расскажут подробнее?
Подробнее тут.
Но ранее HashiCorp заявили, что terraform распространяется по коммерческой лицензии, так что пока не понятно, как буду обстоять дела с новыми функциями terraform.
Новая фича от terraform, которая упрощает предоставление инфраструктуры и управление ею в любом масштабе.
В HashiCorp говорят, что stack одно из крупнейших изменений в инфраструктуре terraform.
Какие задачи решат terraform stack?
Использование небольших модулей и рабочих пространств для создания компонуемой инфраструктуры имеет ряд преимуществ. Разделение кода Terraform на управляемые части помогает:
- Ограничить радиус (не смог дословно перевести)при изменении ресурсов
- Сократить время работы
- Разделение управленческих обязанностей в пределах команды
-Обход многоэтапных вариантов использования, таких как подготовка кластера Kubernetes.
Вообще, похоже чем то на кубер?
DevOps есть в канале, расскажут подробнее?
Подробнее тут.
Но ранее HashiCorp заявили, что terraform распространяется по коммерческой лицензии, так что пока не понятно, как буду обстоять дела с новыми функциями terraform.