📘 Большой, профессиональный перевод документации PostgreSQL на русском с примера кода и запросов
▪Подробный гайд от установки и настройки
▪Основы и темы и синтаксиса языка SQL
▪Все виды запросов, типы данных, функции и операторы
▪Преобразование типов, индексы и многое другое
📌 Документация
▪Подробный гайд от установки и настройки
▪Основы и темы и синтаксиса языка SQL
▪Все виды запросов, типы данных, функции и операторы
▪Преобразование типов, индексы и многое другое
📌 Документация
@sqlhub
❤8👍4🔥2
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Проблемы при переходе с MS SQL на PostgreSQL. Типы данных
— Лучшие ресурсы чтобы выучить Git и Github
— Деревья ltree в PostgreSQL – простым языком
— Пишем свой QTableView (продолжение: кастомные стили)
— Row Level Security with an ARRAY of tenants set in session parameter
— What the pluck?
— Partition Strategies: Fundamental Concepts for PostgreSQL Partitioning
— WEREWOLF WEED
— Deploying Adminer on Google App Engine (GAE) with Private and Public IP Connectivity
— O problema de SQL que quase me enlouqueceu
— The Benefits of Hiring a Professional Website Development Company in Bangalore
— Implicit vs. explicit JOINs
— A simple example of a nested SQL query
Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
Хорошего дня!
#sql #digest
@sqlhub
Почитать:
— Проблемы при переходе с MS SQL на PostgreSQL. Типы данных
— Лучшие ресурсы чтобы выучить Git и Github
— Деревья ltree в PostgreSQL – простым языком
— Пишем свой QTableView (продолжение: кастомные стили)
— Row Level Security with an ARRAY of tenants set in session parameter
— What the pluck?
— Partition Strategies: Fundamental Concepts for PostgreSQL Partitioning
— WEREWOLF WEED
— Deploying Adminer on Google App Engine (GAE) with Private and Public IP Connectivity
— O problema de SQL que quase me enlouqueceu
— The Benefits of Hiring a Professional Website Development Company in Bangalore
— Implicit vs. explicit JOINs
— A simple example of a nested SQL query
Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
Хорошего дня!
#sql #digest
@sqlhub
👍8🔥3❤1
Процесс выполнения
SQL-запросов
в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.
2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.
3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.
4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.
5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.
6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.
7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.
8. В то же время менеджер блокировок накладывает блокировки, чтобы несколько транзакций могли выполняться одновременно, не конфликтуя между собой. Таким образом, обеспечивается изоляция и согласованность.
Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍10❤4
scdb - это легкий и быстрый механизм хранения данных типа "ключ-значение", отличающийся простотой и скоростью работы, написанная на Go.
Инструмент создан по образцу архитектуры хранения Bitcask, известной своей эффективностью при операциях записи.
▪Основной принцип построения scdb (и Bitcask) основан на файловых системах с лог-структурой. При таком подходе все изменения добавляются в конец журнала, что делает запись исключительно быстрой, поскольку она осуществляется последовательно. Такая конструкция не только обеспечивает быстродействие, но и гарантирует целостность данных: даже в случае сбоя системы можно легко восстановить данные благодаря этому методу, основанному только на приложении.
▪Кроме того, в scdb реализован процесс, известный как объединение файлов журнала. Со временем, когда ваше приложение записывает все больше данных, количество файлов журнала естественным образом увеличивается. Объединение лог-файлов - это техника, которая объединяет файлы для предотвращения фрагментации и поддержания производительности. Это похоже на домашнюю уборку, обеспечивающую организованность и эффективность хранения данных.
▪Таким образом, если вы разрабатываете приложение, требующее быстрой записи данных и простого, но надежного решения для хранения данных, scdb может оказаться именно тем механизмом, который вы ищете. Он создан для того, чтобы обеспечить разработчикам, подобным вам, удобство хранения и извлечения пар ключ-значение.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥1
SQLite: База данных, на которой работают миллиарды устройств
Если вы когда-либо пользовались смартфоном, просматривали веб-страницы или взаимодействовали с цифровыми устройствами, то, скорее всего, вам приходилось работать с SQLite.
SQLite незаметно питает наш цифровой мир. Впервые выпущенный в 2000 г., этот компактный механизм баз данных сегодня используется в миллиардах приложений, браузеров, операционных систем и устройств.
Что же делает SQLite столь широко используемым? Несколько ключевых качеств:
☑️ Компактность и самодостаточность.
- Вся библиотека представляет собой один файл размером от 750 КБ с нулевыми зависимостями
- Встраивается непосредственно в хост-приложение вместо клиент-серверной установки
☑️ Портативность и долговечность
- Кроссплатформенный формат файлов работает на любой архитектуре
☑️ Быстрота и надежность
- Поддерживает десятки тысяч транзакций в секунду
☑️ Простота использования
- Простой, стабильный API на языке C, не требующий настройки
- Проверено более чем 20 годами использования в различных приложениях.
Результат? SQLite сегодня используется в миллиардах устройств. 🤯
Устройства на базе iOS и Android, браузеры Chrome, Safari и Firefox, языки программирования Python и PHP - SQLite присутствует везде!
Благодаря своей универсальности и вездесущности SQLite за прошедшие годы нашла свое применение в самых неожиданных приложениях.
Какие самые необычные варианты использования SQLite вы видели или слышали?
@sqlhub
Если вы когда-либо пользовались смартфоном, просматривали веб-страницы или взаимодействовали с цифровыми устройствами, то, скорее всего, вам приходилось работать с SQLite.
SQLite незаметно питает наш цифровой мир. Впервые выпущенный в 2000 г., этот компактный механизм баз данных сегодня используется в миллиардах приложений, браузеров, операционных систем и устройств.
Что же делает SQLite столь широко используемым? Несколько ключевых качеств:
☑️ Компактность и самодостаточность.
- Вся библиотека представляет собой один файл размером от 750 КБ с нулевыми зависимостями
- Встраивается непосредственно в хост-приложение вместо клиент-серверной установки
☑️ Портативность и долговечность
- Кроссплатформенный формат файлов работает на любой архитектуре
☑️ Быстрота и надежность
- Поддерживает десятки тысяч транзакций в секунду
☑️ Простота использования
- Простой, стабильный API на языке C, не требующий настройки
- Проверено более чем 20 годами использования в различных приложениях.
Результат? SQLite сегодня используется в миллиардах устройств. 🤯
Устройства на базе iOS и Android, браузеры Chrome, Safari и Firefox, языки программирования Python и PHP - SQLite присутствует везде!
Благодаря своей универсальности и вездесущности SQLite за прошедшие годы нашла свое применение в самых неожиданных приложениях.
Какие самые необычные варианты использования SQLite вы видели или слышали?
@sqlhub
❤17👍4🔥1
💥 15 примеров задач по SQL на собеседовании по вакансии системного аналитика
Если вы читаете этот материал, скорее всего, вы рассматриваете перспективы карьерного роста в области системного анализа, и возможно, готовитесь к собеседованию.
Важным аспектом работы системного аналитика является умение эффективно работать с базами данных, и SQL — это ключевой инструмент для этого. Будьте готовы, что на техническом собеседовании вас могут попросить назвать операторы SQL, написать запросы для извлечения, обновления или удаления данных, создания новых таблиц и многого другого. Давайте посмотрим на некоторые примеры таких заданий.
📌 Читать дальше
@sqlhub
Если вы читаете этот материал, скорее всего, вы рассматриваете перспективы карьерного роста в области системного анализа, и возможно, готовитесь к собеседованию.
Важным аспектом работы системного аналитика является умение эффективно работать с базами данных, и SQL — это ключевой инструмент для этого. Будьте готовы, что на техническом собеседовании вас могут попросить назвать операторы SQL, написать запросы для извлечения, обновления или удаления данных, создания новых таблиц и многого другого. Давайте посмотрим на некоторые примеры таких заданий.
📌 Читать дальше
@sqlhub
❤7👍2🔥2👎1
🦾 Вектореные базы данных
Вектор - это массив чисел, выражающий положение точки в пространстве по нескольким измерениям.
Как векторы связаны с эмбедингами?
В машинном обучении эмбединги - это векторы, представляющие такие точки данных, как слова, предложения, изображения и т.д.
Как работает векторная база данных?
Векторная база данных хранит эмбединги для различных точек данных, таких как документы, изображения, продукты и т.д. Она сопоставляет эти эмбединги с исходными данными.
Как векторные базы данных используются в ИИ?
Векторные базы данных имеют несколько ключевых направлений использования в ИИ:
- Семантический поиск - поиск информации на основе смысла.
- Большие языковые модели - понимание слов в контексте для генерации и обобщения информации.
- Обнаружение аномалий - выявление аномальных точек данных.
- Классификация изображений - категоризация изображений на основе визуальных свойств.
Weaviate - это векторная база данных с открытым исходным кодом, которая хранит как объекты, так и векторы, позволяя сочетать векторный поиск и структурированную фильтрацию с отказоустойчивостью и масштабируемостью облачной нативной базы данных, доступной через
📌 Github
@sqlhub
Вектор - это массив чисел, выражающий положение точки в пространстве по нескольким измерениям.
Как векторы связаны с эмбедингами?
В машинном обучении эмбединги - это векторы, представляющие такие точки данных, как слова, предложения, изображения и т.д.
Как работает векторная база данных?
Векторная база данных хранит эмбединги для различных точек данных, таких как документы, изображения, продукты и т.д. Она сопоставляет эти эмбединги с исходными данными.
Как векторные базы данных используются в ИИ?
Векторные базы данных имеют несколько ключевых направлений использования в ИИ:
- Семантический поиск - поиск информации на основе смысла.
- Большие языковые модели - понимание слов в контексте для генерации и обобщения информации.
- Обнаружение аномалий - выявление аномальных точек данных.
- Классификация изображений - категоризация изображений на основе визуальных свойств.
Weaviate - это векторная база данных с открытым исходным кодом, которая хранит как объекты, так и векторы, позволяя сочетать векторный поиск и структурированную фильтрацию с отказоустойчивостью и масштабируемостью облачной нативной базы данных, доступной через
GraphQL, REST
и различные языковые клиенты.📌 Github
@sqlhub
👍8❤6🔥2
⚡️ Совет по работе с базами данных
Удаление сотен тысяч строк происходит медленно, влияет на производительность и не освобождает память.
Однако удалить старые данные можно очень эффективно, если разбить таблицу на временные диапазоны и удалить один из них.
@sqlhub
Удаление сотен тысяч строк происходит медленно, влияет на производительность и не освобождает память.
Однако удалить старые данные можно очень эффективно, если разбить таблицу на временные диапазоны и удалить один из них.
@sqlhub
👍20🔥5❤4
1. Введение
2. Установка и управление сервером
3. Использование psql
4. Конфигурирование
5. Общее устройство PostgreSQL
6. Изоляция и многоверсионность
7. Очистка
8. Буферный кеш и журнал
9. Базы данных и схемы
10. Системный каталог
#video #database
https://www.youtube.com/watch?v=yevXLP2LA4Q&list=PLaFqU3KCWw6LPcuYVymLcXl3muC45mu3e
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥9❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Именно поэтому долговечность - самое важное свойство базы данных.
Может случиться много неприятных вещей: отключение электричества, системные сбои или отказ оборудования.
❓Как базы данных гарантируют, что мы не потеряем наши данные?❓
Основная идея заключается в том, чтобы хранить данные в энергонезависимом хранилище, например на диске.
Всякий раз, когда пользователь выполняет транзакцию, база данных делает две вещи:
▪️записывает данные в отдельный журнал
▪️производит обновление.
Журнал позволяет обрабатывать транзакции во время перезагрузки.
Запись в журнал происходит быстро, потому что это двоичный файл только для добавления.
Что делать, если база данных распределена?
Этот случай более сложный, поскольку серверы базы данных должны координировать свои действия
Существует процесс, в котором один из серверов выступает в роли координатора:
▪️он передает сообщение о фиксации всем участникам
▪️ожидает всех подтверждений
▪️сообщает о фиксации или откате
@sqlhub
Может случиться много неприятных вещей: отключение электричества, системные сбои или отказ оборудования.
❓Как базы данных гарантируют, что мы не потеряем наши данные?❓
Основная идея заключается в том, чтобы хранить данные в энергонезависимом хранилище, например на диске.
Всякий раз, когда пользователь выполняет транзакцию, база данных делает две вещи:
▪️записывает данные в отдельный журнал
▪️производит обновление.
Журнал позволяет обрабатывать транзакции во время перезагрузки.
Запись в журнал происходит быстро, потому что это двоичный файл только для добавления.
Что делать, если база данных распределена?
Этот случай более сложный, поскольку серверы базы данных должны координировать свои действия
Существует процесс, в котором один из серверов выступает в роли координатора:
▪️он передает сообщение о фиксации всем участникам
▪️ожидает всех подтверждений
▪️сообщает о фиксации или откате
@sqlhub
👍13🔥5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
👍23😁16🔥6🤩4👏3❤1👎1🥰1🤔1
RelBench - это бенчмарк, который призван способствовать эффективным, надежным и воспроизводимым исследованиям в этом направлении.
Он включает в себя коллекцию реалистичных, масштабных и разнообразных датасетов, структурированных в виде реляционных таблиц.
Эта прорывная технология открывает широкие возможности для работы с данными и поднимает новые интересные исследовательские вопросы.
▪Github
▪Проект
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
ℹ️HNSWℹ️
Иерархический маленький мир (Hierarchical Navigable Small-World graph, HNSW) — один из самых быстрых алгоритмов приблизительного поиска ближайших соседей. Поисковый индекс в HNSW представляет собой многоуровневую структуру, в которой каждый уровень является графом близости. Каждый узел графов соответствует одному из векторов запросов.
Алгоритм индексирования HNSW позволяет эффективно осуществлять поиск ближайших соседей в векторных базах данных.
Поиск ближайших соседей в HNSW использует метод увеличения (zooming-in). Он начинается во входной ноде самого верхнего уровня и рекурсивно выполняет жадный обход графов на каждом уровне, пока не достигнет локального минимума на самом дне.
Подробности об алгоритме и методике поиска хорошо описаны в научной работе. Важно запомнить, что каждый цикл поиска ближайших соседей состоит из обхода узлов графов с вычислением расстояний между векторами. Ниже мы рассмотрим эти этапы, чтобы использовать данный метод для создания крупномасштабного индекса.
Как это работает?
▪️HNSW организует векторы в многослойную графовую структуру.
▪️Узлы в каждом слое поддерживают связи на основе расстояний в векторном пространстве.
▪️Навигация происходит иерархически, начиная с верхнего слоя и спускаясь вниз для уточнения поиска.
▪️Более высокие слои строятся путем подвыборки узлов из нижних слоев.
Почему HNSW?
▪️Скорость: иерархическая структура означает, что алгоритм поиска может перемещаться по графу быстрее, чем при плоской структуре.
▪️Масштабируемость: Поскольку кэш-память хранит только верхний слой, а затем добавляет только соседние векторы в дальнейших слоях, это очень эффективно и масштабируемо.
▪️Адаптируемость: HNSW очень надежен и может одновременно работать с импортом и запросами.
@sqlhub
Иерархический маленький мир (Hierarchical Navigable Small-World graph, HNSW) — один из самых быстрых алгоритмов приблизительного поиска ближайших соседей. Поисковый индекс в HNSW представляет собой многоуровневую структуру, в которой каждый уровень является графом близости. Каждый узел графов соответствует одному из векторов запросов.
Алгоритм индексирования HNSW позволяет эффективно осуществлять поиск ближайших соседей в векторных базах данных.
Поиск ближайших соседей в HNSW использует метод увеличения (zooming-in). Он начинается во входной ноде самого верхнего уровня и рекурсивно выполняет жадный обход графов на каждом уровне, пока не достигнет локального минимума на самом дне.
Подробности об алгоритме и методике поиска хорошо описаны в научной работе. Важно запомнить, что каждый цикл поиска ближайших соседей состоит из обхода узлов графов с вычислением расстояний между векторами. Ниже мы рассмотрим эти этапы, чтобы использовать данный метод для создания крупномасштабного индекса.
Как это работает?
▪️HNSW организует векторы в многослойную графовую структуру.
▪️Узлы в каждом слое поддерживают связи на основе расстояний в векторном пространстве.
▪️Навигация происходит иерархически, начиная с верхнего слоя и спускаясь вниз для уточнения поиска.
▪️Более высокие слои строятся путем подвыборки узлов из нижних слоев.
Почему HNSW?
▪️Скорость: иерархическая структура означает, что алгоритм поиска может перемещаться по графу быстрее, чем при плоской структуре.
▪️Масштабируемость: Поскольку кэш-память хранит только верхний слой, а затем добавляет только соседние векторы в дальнейших слоях, это очень эффективно и масштабируемо.
▪️Адаптируемость: HNSW очень надежен и может одновременно работать с импортом и запросами.
@sqlhub
👍16🎉2🔥1
ℹ️Масштабирование базы данныхℹ️
Масштабировать чтение базы данных очень просто. Проблемы начинаются, когда вы хотите масштабировать записи!
▪️Почему?
Чтобы масштабировать чтение, вы просто реплицируете данные на несколько узлов.
Ведущий узел обрабатывает запросы на запись, а последующие - на чтение.
Однако масштабирование операций записи - это совсем другое дело.
Чтобы масштабировать запись, вы позволяете нескольким узлам обрабатывать запросы на запись.
Это более известно как активно-активная настройка.
Идея заключается в том, что когда узел получает запрос на запись, он распространяет изменения на другие узлы.
Но такая схема может привести к конфликтам.
На этом этапе вам необходимо иметь какой-то алгоритм разрешения конфликтов.
@sqlhub
Масштабировать чтение базы данных очень просто. Проблемы начинаются, когда вы хотите масштабировать записи!
▪️Почему?
Чтобы масштабировать чтение, вы просто реплицируете данные на несколько узлов.
Ведущий узел обрабатывает запросы на запись, а последующие - на чтение.
Однако масштабирование операций записи - это совсем другое дело.
Чтобы масштабировать запись, вы позволяете нескольким узлам обрабатывать запросы на запись.
Это более известно как активно-активная настройка.
Идея заключается в том, что когда узел получает запрос на запись, он распространяет изменения на другие узлы.
Но такая схема может привести к конфликтам.
На этом этапе вам необходимо иметь какой-то алгоритм разрешения конфликтов.
@sqlhub
👍6👎3👏2🔥1
ℹ️База данных и паролиℹ️
Несмотря на удобство, самостоятельное хранение паролей создает значительные риски для безопасности.
В идеале мы должны стремиться к тому, чтобы по возможности не заниматься хранением паролей самостоятельно.
Некоторые альтернативные подходы включают в себя:
▪️Использование сторонних служб аутентификации (например, OAuth) для обработки входа в систему.
▪️Использование федеративного управления идентификацией и единого входа (SSO) для минимизации использования паролей.
НЕЛЬЗЯ:
- Хранить пароли в формате обычного текста
- Хешировать пароли без разделения
ОБЯЗАТЕЛЬНО:
- Хешировать пароли перед хранением с помощью криптографических функций.
- Следуйте отраслевым стандартам, таким как OWASP, для реализации соления и хэширования.
- Правильно проверяйте попытки входа в систему, сравнивая хэши входных паролей и хранимых хэшей по времени.
Несмотря на удобство, самостоятельное хранение паролей создает значительные риски для безопасности.
В идеале мы должны стремиться к тому, чтобы по возможности не заниматься хранением паролей самостоятельно.
Некоторые альтернативные подходы включают в себя:
▪️Использование сторонних служб аутентификации (например, OAuth) для обработки входа в систему.
▪️Использование федеративного управления идентификацией и единого входа (SSO) для минимизации использования паролей.
НЕЛЬЗЯ:
- Хранить пароли в формате обычного текста
- Хешировать пароли без разделения
ОБЯЗАТЕЛЬНО:
- Хешировать пароли перед хранением с помощью криптографических функций.
- Следуйте отраслевым стандартам, таким как OWASP, для реализации соления и хэширования.
- Правильно проверяйте попытки входа в систему, сравнивая хэши входных паролей и хранимых хэшей по времени.
👍15❤2🔥2😁1
Вероятно, вы думаете, что с такими большим количеством запросов могут справиться только какие-то мощные микросервисы. На самом деле все обстоит несколько иначе.
Shopify использует 𝗺𝗼𝗱𝘂𝗹𝗮𝗿 𝗺𝗼𝗻𝗼𝗹𝗶𝘁𝗵 𝗮𝗽𝗽𝗿𝗼𝗮𝗰𝗵( модульную монолитную архитектуру), они хранят весь свой код в одной модульной кодовой базе.
Монолитная архитектура - самая простая архитектура для понимания и реализации.
Поскольку монолитный дизайн прост в построении и позволяет командам быстро работать на начальном этапе разработки, он может помочь продвинуть разработку приложения.
Централизация развертывания приложения и поддержки кодовой базы имеет множество преимуществ.
Вся функциональность доступна в одной папке; вам нужно будет управлять только одним репозиторием. Кроме того, это означает, что необходимо поддерживать один конвейер тестирования и развертывания, что может сэкономить много времени.
Возможность обращаться к различным компонентам, а не полагаться на API веб-сервисов, - однно из самых привлекательных приемуществ монолитной архитектуры по сравнению с несколькими отдельными сервисами.
Shopify реализовала одну из версий модульного монолита на 𝗥𝘂𝗯𝘆 𝗼𝗻 𝗥𝗮𝗶𝗹𝘀. Они организуют кодовую базу вокруг реальных концепций (таких как заказы, доставка, инвентаризация и выставление счетов), что облегчает разметку кода и людей, которые его понимают. Каждый компонент представляет собой мини-приложение на Rails (модуль).
Каждый компонент претендует на единоличное владение данными, с которыми связан, и определяет прямой, специализированный интерфейс с границами домена, передаваемыми через публичный API.
Cтатистики работы Shopify на черной пятнице:
🔹 145 миллиардов запросов (~60 миллионов в минуту)
🔹 99,999+% аптайма
🔹 5 ТБ/мин данных из всей инфраструктуры
🔹 MySQL 5.7 и 8 обрабатывают более 19 миллионов запросов в секунду (QPS)
🔹 22 ГБ/сек журналов и 51,4 ГБ/сек метрических данных
🔹 9 миллионов проходов в секунду данных трассировки
🔹 Их Apache Kafka обслуживал 29 миллионов сообщений в секунду в пиковый момент
🔹 Все работает в облаке Google Cloud
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5❤2🤯2
1. Python+SQL работа с базами данных
2. Python анализ данных с Pandas. PandaSQL
3. Python анализ данных с Pandas. Join, merge, concat в Pandas
4. Python+SQL часть 2, создание таблиц
5. Python+SQL. Операции с записями
6. Устраиваемся на работу. Решаем тестовое задание на позицию Python Junior
#video #python #sql
https://youtube.com/watch?v=Q7FtqwF5GDw&list=PLysMDSbb9HcxdvtQSkYoO7xaF3SvGUD8n
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥5❤3
Популярная ORM prisma получила обновления.
Prisma - это продвинутая ORM для
Node.js и TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB и CockroachDB
https://github.com/prisma/prisma
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥1🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1