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
Discord Blog
Discover the latest news and app updates, stories, company insights, and plenty more about Discord, all in one place.
👍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.
Dagster embedded ETL
Громкое название?
Так же думаю)
На днях будет преза от Dagster, где они расскажут, почему не стоить тратить деньги на Fivetran/Airbyte и похожие инструменты.
Зачем выносить этап ingestion в отдельный инструмент, когда это все можно делать в Dagster.
Звучит интересно, как будет на самом деле, посмотрим.
Мы все уже слышали истории про убийцу airflow и похожее.
Громкое название?
Так же думаю)
На днях будет преза от Dagster, где они расскажут, почему не стоить тратить деньги на Fivetran/Airbyte и похожие инструменты.
Зачем выносить этап ingestion в отдельный инструмент, когда это все можно делать в Dagster.
Звучит интересно, как будет на самом деле, посмотрим.
Мы все уже слышали истории про убийцу airflow и похожее.
YouTube
Embedded ELT: Save your budget and simplify your data platform with Dagster Embedded ELT.
Most data pipelines require data movement steps. While elaborate 3rd party services like Fivetran, Airbyte, or Stitch have become popular plug-and-play solutions, their cost tends to balloon over time. Often the value of these services is limited, especially…
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
4 наиболее часто используемых типов очередей на одной диаграмме.
Очереди — это популярные структуры данных, широко используемые в системе. На диаграмме показаны 4 различных типа очередей, которые часто используются.
- Простая очередь FIFO
Простая очередь следует принципу FIFO (первым пришел — первым вышел). Новый элемент вставляется в конец очереди, а элемент удаляется из начала очереди.
Если мы хотим отправлять пользователям уведомления по электронной почте всякий раз, когда получаем ответ о платеже, мы можем использовать очередь FIFO. Письма будут отправлены в том же порядке, что и ответы на платежи.
- Круговая очередь
Циклическую очередь также называют циклическим буфером или кольцевым буфером. Его последний элемент связан с первым элементом. Вставка происходит в начале очереди, а удаление — в конце очереди.
Известная реализация — кольцевой буфер LMAX с малой задержкой. Торговые компоненты общаются друг с другом через кольцевой буфер. Это реализуется в памяти и очень быстро.
- Приоритетная очередь
Элементы в этой очереди имеют заранее определенные приоритеты. Берем из очереди элемент с наивысшим (или наименьшим) приоритетом. Под капотом это реализовано с использованием максимальной или минимальной кучи, где элемент с наибольшим или наименьшим приоритетом находится в корне кучи.
Типичный вариант использования — направление пациентов с самой высокой степенью тяжести в отделение неотложной помощи, а остальных — в обычные палаты.
- Deque
также называется двусторонней очередью. Вставка и удаление могут происходить как в начале, так и в хвосте. Deque поддерживает как FIFO, так и LIFO (Last In First Out), поэтому мы можем использовать его для реализации стековой структуры данных.
Очереди — это популярные структуры данных, широко используемые в системе. На диаграмме показаны 4 различных типа очередей, которые часто используются.
- Простая очередь FIFO
Простая очередь следует принципу FIFO (первым пришел — первым вышел). Новый элемент вставляется в конец очереди, а элемент удаляется из начала очереди.
Если мы хотим отправлять пользователям уведомления по электронной почте всякий раз, когда получаем ответ о платеже, мы можем использовать очередь FIFO. Письма будут отправлены в том же порядке, что и ответы на платежи.
- Круговая очередь
Циклическую очередь также называют циклическим буфером или кольцевым буфером. Его последний элемент связан с первым элементом. Вставка происходит в начале очереди, а удаление — в конце очереди.
Известная реализация — кольцевой буфер LMAX с малой задержкой. Торговые компоненты общаются друг с другом через кольцевой буфер. Это реализуется в памяти и очень быстро.
- Приоритетная очередь
Элементы в этой очереди имеют заранее определенные приоритеты. Берем из очереди элемент с наивысшим (или наименьшим) приоритетом. Под капотом это реализовано с использованием максимальной или минимальной кучи, где элемент с наибольшим или наименьшим приоритетом находится в корне кучи.
Типичный вариант использования — направление пациентов с самой высокой степенью тяжести в отделение неотложной помощи, а остальных — в обычные палаты.
- Deque
также называется двусторонней очередью. Вставка и удаление могут происходить как в начале, так и в хвосте. Deque поддерживает как FIFO, так и LIFO (Last In First Out), поэтому мы можем использовать его для реализации стековой структуры данных.
👍3