Базы данных (Data Base) @database_info Channel on Telegram

Базы данных (Data Base)

@database_info


Базы данных (Data Base). По всем вопросам @evgenycarter

Базы данных (Data Base) (Russian)

Вы хотите быть в курсе последних новостей и тенденций в мире баз данных? Тогда канал 'Базы данных (Data Base)' - идеальное место для вас! Здесь вы найдете самую актуальную информацию о различных базах данных, новые технологии, полезные советы по оптимизации работы с данными и многое другое. Кроме того, канал предлагает возможность задавать вопросы и обсуждать интересные темы с другими участниками. nnКто же стоит за каналом 'Базы данных (Data Base)'? Ведущий этого канала - @evgenycarter, профессионал в области баз данных с многолетним опытом работы. Он делится своими знаниями и опытом, помогая подписчикам разобраться в сложных вопросах и находить наилучшие решения. nnПрисоединяйтесь к нам прямо сейчас, чтобы не пропустить ни одной важной новости из мира баз данных! Вопросы, обсуждения, новости - все это ждет вас на канале 'Базы данных (Data Base)'.

Базы данных (Data Base)

13 Nov, 13:43


Чем отличаются друг от друга блокировки баз данных?

В управлении базами данных блокировки — это механизмы, которые предотвращают одновременный доступ к данным, обеспечивая их целостность и согласованность.

Основные типы блокировок:

🔴Shared Lock: позволяет нескольким транзакциям одновременно читать ресурс, но не модифицировать его
🔴Exclusive Lock: позволяет транзакции как читать, так и модифицировать ресурс
🔴 Update Lock: используется для предотвращения взаимоблокировки, когда транзакция намеревается обновить ресурс
🔴 Schema Lock: используется для защиты структуры объектов базы данных
🔴 Bulk Update Lock: используется во время массовых вставок
🔴 Key-Range Lock: используется в индексированных данных для предотвращения фантомных чтений
🔴 Row-Level Lock: блокирует конкретную строку в таблице
🔴 Page-Level Lock: блокирует конкретную страницу (фиксированный блок данных) в базе данных
🔴 Table-Level Lock: блокирует всю таблицу

#db

👉 @database_info

Базы данных (Data Base)

12 Nov, 14:00


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

🖥 Базы Данных & SQL: @SQL
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Python: @PythonPortal
👩‍💻 Java: @Java_Iibrary
👩‍💻 C#: @KodBlog
👩‍💻 С/С++: @Cpportal
👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

Базы данных (Data Base)

12 Nov, 09:30


Секреты успешной миграции: как перенести базу данных с выделенного сервера в облако

Обычно, когда речь заходит про миграцию базы данных, задача формулируется так: без простоя и с минимальными усилиями перенести базу в облако. Процесс кажется понятным, однако на практике приходится учитывать множество нюансов.

Сегодня мы на практическом примере рассмотрим все нюансы миграции PostgreSQL из выделенного сервера в Managed Service.

https://habr.com/ru/companies/selectel/articles/857590/

#db

👉 @database_info

Базы данных (Data Base)

11 Nov, 09:34


Что такое виртуальная память и как она помогает эффективно распределять ресурсы? Как система может выделить больше памяти, чем на самом деле доступно на сервере? На нашем вебинаре разберем ключевые вопросы управления памятью в Linux.

Узнаете об эволюции адресации памяти и поймете, зачем используется swap и как работает OOM Killer, защищая систему от нехватки ресурсов.

Погружаясь в тонкости управления памятью, вы сможете оптимизировать свои процессы в Linux и лучше понимать поведение системы под нагрузкой.

Присоединяйтесь 14 ноября в 19:00, чтобы расширить свои знания и улучшить свои навыки работы с памятью в Linux.

Присоединяйтесь и получите скидку на участие в курсе «Computer Sciences»: https://vk.cc/cEvuZl

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Базы данных (Data Base)

10 Nov, 13:31


Краткое руководство по шардингу баз данных

#db

👉 @database_info

Базы данных (Data Base)

09 Nov, 17:32


Битовая операция NOT в SQL Server: как переключить бит

Оператор XOR (^) позволяет инвертировать биты в SQL Server. Используя BitColumn = BitColumn ^ 1, вы сможете поменять 0 на 1 и наоборот.


UPDATE ВашаТаблица SET BitColumn = BitColumn ^ 1 WHERE ВашеУсловие;

Этот запрос инвертирует значения в столбце BitColumn для строк, которые соответствуют условию ВашеУсловие.


Введение в битовые операции
Битовые операции — это эффективный инструмент для управления отдельными битами. Они выполняются с помощью операторов AND, OR, XOR и NOT.


Инструментарий для инвертирования бита
Инвертируем все с помощью NOT
Для инверсии всех битов в значении используйте оператор ~:


-- Наблюдаем за инверсией всех битов!
UPDATE ваша_таблица SET ваш_столбец = ~ваш_столбец WHERE ваше_условие;


Инвертирование с помощью вычитания
Элегантный способ инвертирования бит со значениями 0 или 1:


-- Из 0 делаем 1, из 1 — 0. Элегантно, не правда ли?
UPDATE ваша_таблица SET ваш_столбец = 1 – ваш_столбец WHERE ваше_условие;


Метод инвертирования нескольких битов
Для инвертирования определённых бит при наличии нескольких используйте XOR с битовой маской:


-- Теперь нацеливаемся на определённый бит
UPDATE ваша_таблица SET ваш_столбец = ваш_столбец ^ битовая_маска WHERE ваше_условие;

Битовая_маска — это число, которое в двоичной системе имеет 1 там, где находится нужный бит, и 0 — во всех остальных позициях.

Визуализация
Представьте процесс инвертирования бит как переключение выключателя света:

Исходное состояние Переключить Результирующее состояние
Выкл (0) 🔄 Вкл (1)
Вкл (1) 🔄 Выкл (0)
В SQL это будет выглядеть следующим образом:


UPDATE ваша_таблица SET ваш_столбец = 1 – ваш_столбец WHERE ваше_условие;

До инвертирования: ваш_столбец имеет значение 😐(0) или 😃(1). После инвертирования: теперь значение ваш_столбец противоположное — 😃(1) или 😐(0).

Тонкости работы
Когда вы инвертируете биты, учитывайте следующее:

✔️Тип данных: Удостоверьтесь, что операция выполняется над данными типа bit.
✔️Производительность: Ограничьте обновление условием WHERE, чтобы выполнить процесс эффективно.
✔️Точность инвертирования: Для работы с несколькими битами выберите правильную битовую маску.
✔️Безопасность: Используйте транзакции TRANSACTION для обеспечения надежности операций при работе с несколькими битами или строками.


#db

👉 @database_info

Базы данных (Data Base)

09 Nov, 13:13


Подборка Telegram каналов для программистов

https://t.me/piterspb Канал о Санкт-Петербурге 🌇❤️💙


Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин 👩
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Базы данных (Data Base)

06 Nov, 13:52


Хотите узнать секрет оптимизации SQL-запросов?

Очень важно понимать порядок выполнения.
В SQL-запросе операторы выполняются в следующем порядке:

1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
8. LIMIT / OFFSET

#db

👉 @database_info

Базы данных (Data Base)

06 Nov, 12:01


Обучаем аналитиков платформы данных и берём в команду ⚡️

Регистрируйся на онлайн-интенсив в Открытые школы Т1!

От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.

Лучшим участникам предложим оффер в Т1 — крупнейшую ИТ-компанию страны по версии RAEX и CNews Analytics 2023 🔝.

Зачем участвовать?

⚙️Получить поддержку наставников. В нашей команде — передовые специалисты в области разработки хранилищ данных и аналитических систем, которые помогут прокачать навыки. Карьерные треки для выпускников Открытых школ позволяют быстрее вырасти в мидла в Т1.

⚙️ Работать в классной компании, где есть все айтишные бонусы (ДМС, удалёнка и крутые офисы, спорт и обучение).

⌛️ Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы онлайн, занятия по вечерам.

Бигтех ждёт тебя, подавай заявку до 8 ноября!

#реклама
О рекламодателе

Базы данных (Data Base)

06 Nov, 10:25


Топ-10 самых популярных баз данных с открытым исходным кодом

1 - MySQL
2 - PostgreSQL
3 - MariaDB
4 - Apache Cassandra
5 - Neo4j
6 - SQLite
7 - CockroachDB
8 - Redis
9 - MongoDB
10 - Couchbase

#db

👉 @database_info

Базы данных (Data Base)

04 Nov, 10:30


Хотите автоматизировать рутину в базе данных?

5 ноября в 20:00 мск приглашаем вас на открытый вебинар «Триггеры в PostgreSQL». Узнайте, как с помощью триггеров можно управлять данными, автоматизировать процессы и поддерживать целостность данных в вашей базе.

На вебинаре вы:
- изучите основные возможности триггеров
- научитесь создавать их и управлять ими
- получите советы по оптимизации и отладке для реальных проектов.

Спикер Наталия Титова — опытный аналитик и преподаватель в области баз данных, анализа данных и DS. Старший преподаватель в департаменте прикладной математики МИЭМ НИУ ВШЭ.

Регистрируйтесь прямо сейчас и получите скидку на участие в курсе «PostgreSQL для администраторов баз данных и разработчиков».

https://vk.cc/cE2o8A

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Базы данных (Data Base)

04 Nov, 09:45


Быстрое добавление тысяч записей в SQLite через Django

Для высокопроизводительного массового внесения записей в базу данных SQLite через Django используйте функцию bulk_create(). Она позволяет осуществить вставку множества записей за один запрос.


from myapp.models import MyModel

# Подготовим данные для массового внесения
bulk_records = [MyModel(field1='value1', etc.) for _ in range(thousands)]

# А вот и массовое внесение в действии!
MyModel.objects.bulk_create(bulk_records)


Применение этого метода значительно сокращает количество операций взаимодействия с базой данных и благоприятствует улучшению производительности.

#db

👉 @database_info

Базы данных (Data Base)

01 Nov, 08:53


Быстрый выбор случайной строки из большой таблицы MySQL

Для эффективного извлечения случайной записи из большой таблицы в MySQL стоит избегать команды ORDER BY RAND(). Вместо этого используйте уникальный идентификатор id. Сначала определите максимальное значение id, генерируйте случайное число в пределах этого диапазона и затем получите строку с соответствующим id:


-- Отказываемся от полного сканирования таблицы, затратного по времени!
SELECT * FROM your_table
WHERE id >=
(SELECT FLOOR(1 + RAND() *
(SELECT MAX(id) FROM your_table)))
LIMIT 1;

-- Вместо 'your_table' укажите корректное имя вашей таблицы (если она не носит название 'your_table').


Применение этого подхода будет позволять быстро получать случайное значение без лишней нагрузки на сервер. Экономьте свое время!

#db

👉 @database_info

Базы данных (Data Base)

31 Oct, 12:00


PostgreSQL: возврат 0, если avg(price) пусто (NULL)

Заменить NULL на 0 в PostgreSQL поможет функция COALESCE(ваша_колонка, 0):


SELECT COALESCE(ваша_колонка, 0) FROM ваша_таблица;

Следовательно, если значение в ваша_колонка равно NULL, будет возвращён 0.

#db

👉 @database_info

Базы данных (Data Base)

31 Oct, 10:00


Ваш бизнес всё ещё привязан к Oracle? Время избавиться от лишних расходов и рисков!

5 ноября в 20:00 мск мы проведём бесплатный открытый урок о том, почему PostgreSQL — это лучшая альтернатива и как провести миграцию без боли и сбоев.

На уроке мы сравним возможности PostgreSQL и Oracle, покажем, с чего начать миграцию баз данных и как избежать ошибок. Реальная демонстрация и разбор кейсов — вы увидите, как легко перейти на PostgreSQL.

Участники вебинара не только поймут все нюансы миграции, но и получат скидку на курс «Миграция с Oracle на PostgreSQL».

Не упустите возможность узнать, как сократить расходы на лицензии и повысить производительность вашей базы данных.

Регистрируйтесь на открытый вебинар прямо сейчас! 👇

https://vk.cc/cDM5w4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Базы данных (Data Base)

29 Oct, 07:55


Визуализация связей таблиц в SQL Server

Выявить связи между таблицами в SQL Server можно обратившись к системным представлениям. Представленный ниже запрос вернёт информацию о всех внешних ключах:


SELECT
fk.name AS ForeignKey,
tp.name AS ParentTable,
cp.name AS ParentColumn,
tr.name AS ReferencedTable,
cr.name AS ReferencedColumn
FROM
sys.foreign_keys AS fk
INNER JOIN
sys.tables AS tp ON fk.parent_object_id = tp.object_id
INNER JOIN
sys.tables AS tr ON fk.referenced_object_id = tr.object_id
INNER JOIN
sys.foreign_key_columns AS fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN
sys.columns AS cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id
INNER JOIN
sys.columns AS cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id


Выполнение этого запроса позволит получить карту взаимосвязей, отображающую каждый внешний ключ, связанную с ним таблицу, её столбец, таблицу-референт и столбец в ней. Это отличный инструмент для комплексного анализа структуры базы данных.

#db

👉 @database_info

Базы данных (Data Base)

28 Oct, 06:01


Какие известные фестивали проходят в октябре?

Конечно же OTUS FEST!

Присоединяйтесь к трёхдневному IT-фестивалю.

Вас ждут 9 спикеров, мастер-классы, полезные знакомства и разбор интересных случаев из практики. Мы обсудим темы, которые волнуют IT-индустрию, поделимся технологическими хитростями, ответим на ваши вопросы.

Вы узнаете:
- На что обращать внимание при выборе фреймворков?
- С чего начать импортозамещение в ИБ?
- Как подходить к описанию архитектуры на разных уровнях?
- Как разработать стратегию тестирования, которая действительно работает?
- Чего ждать от революции в большой языковой модели?
- Чем «импортозаместить» Nginx?
- Куда движется российский геймдев?
- Какие важные тренды появились в HR за последние годы?
- Что делать аналитикам, чтобы их не заменил ИИ?

Ждём всех, кто работает с информационными технологиями.
Будет круто.

29, 30, 31 октября: можете выбрать любой удобный день или все три сразу.

Участие бесплатное

Записаться на OTUS FEST - https://otus.pw/5Whr/?erid=LjN8KSVbd

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Базы данных (Data Base)

27 Oct, 21:47


Как настроить master-slave репликацию в mysql (кратко)?

Необходимы 2 сервера: master и slave.

1. На обеих сервера устанавливаем сервер MySQL одинаковой версии.
2. Включаем сервер базы данных на обеих серверах.
3. Настраиваем master - в /etc/my.cnf устанавливаем слеюущие значения:


# выбираем ID сервера, произвольное число, лучше начинать с 1
server-id = 1
# путь к бинарному логу
log_bin = /var/log/mysql/mysql-bin.log
# название Вашей базы данных, которая будет реплицироваться
binlog_do_db = newdatabase


Перезапускаем сервер базы данных.

4. Подключаемся к master серверу, создаем пользователя и назначаем ему права для выполнения репликации.


mysql -u root -p <пароль root сервера БД>
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;


5. На master сервере делаем дамп базы данных c блокировкой таблиц.


mysqldump -u root -p --lock-all-tables newdatabase > newdatabase.sql


6. Переносим дамп базы на slave сервер, создаем базу данных с таким же именем и импортируем базу.


CREATE DATABASE newdatabase;
mysql -u root -p newdatabase < newdatabase.sql


7. Настраиваем slave в /etc/my.cnf:


# ID Слейва, удобно выбирать следующим числом после Мастера
server-id = 2
# Путь к relay логу
relay-log = /var/log/mysql/mysql-relay-bin.log
# Путь к bin логу на Мастере
log_bin = /var/log/mysql/mysql-bin.log
# База данных для репликации
binlog_do_db = newdatabase


Перезапускаем сервер базы данных.

8. Запускаем репликацию на slave сервере.


CHANGE MASTER TO MASTER_HOST='10.10.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='password',
MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 107;
##Указанные значения мы берем из настроек Мастера
После этого запускаем репликацию на Слейве:
START SLAVE;


9. Проверяем статус репликации:


SHOW SLAVE STATUSG


#db

👉 @database_info

Базы данных (Data Base)

26 Oct, 11:37


Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Базы данных (Data Base)

24 Oct, 21:44


Шпаргалка по выбору базы данных

#db

👉 @database_info

Базы данных (Data Base)

24 Oct, 13:00


⁉️Хотите повысить свою квалификацию и стать дата-инженером?

Инвестируйте в успех своей карьеры прямо сейчас начав обучение на курсе «Data Engineer» от OTUS.

После обучения вы сможете:

✔️ Разворачивать, налаживать и оптимизировать инструменты обработки данных
✔️ Адаптировать датасеты для дальнейшей работы и аналитики
✔️ Создадите сервисы, которые используют результаты обработки больших объемов данных
✔️ Принимать участие в разработке архитектуры данных в компании

➡️ Пройдите короткий тест прямо сейчас, чтобы получить специальную цену на обучение: https://vk.cc/cDb8uM

🎁 А еще приятный бонус: до конца октября действует скидка 10% на обучение.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Базы данных (Data Base)

24 Oct, 12:42


База данных баз данных

Откройте для себя и узнайте о 900 системах управления базами данных

https://dbdb.io/

#db

👉 @database_info

Базы данных (Data Base)

24 Oct, 11:22


Писать чистый SQL проще с pgx и sqlc в Go


Что такое pgx и sqlc?

pgx: это надежный набор инструментов и драйвер для PostgreSQL в Golang. Этот модуль также предоставляет полезные инструменты для облегчения работы со сложными запросами, делая их менее подверженными ошибкам.

sqlc: это инструмент для генерации кода, который преобразует ваши SQL-запросы в файлах .sql в Go-код с типобезопасностью как для параметров запроса, так и для результатов. Пример можно посмотреть здесь: sqlc playground. sqlc также поддерживает pgx "из коробки", что делает эту комбинацию отличным решением для работы с базами данных.

https://remvn.dev/posts/writing-raw-sql-easier-with-pgx-and-sqlc-in-go/

#sql

👉 @database_info

Базы данных (Data Base)

22 Oct, 09:10


Хотите узнать, как использовать Patroni для управления высокодоступными кластерами PostgreSQL?

Ждем вас на открытом вебинаре 24 октября в 20:00 мск, где мы разберем:

- что такое Patroni и как он помогает обеспечить высокую доступность для PostgreSQL;
- основные компоненты и архитектуру Patroni;
- настройку и конфигурацию Patroni для работы с PostgreSQL;
- примеры использования Patroni для управления кластером PostgreSQL;
- практические советы по оптимизации и мониторингу работы кластера.

👨‍💻🛠👨🏻‍💻 Урок для DevOps-инженеров, системных администраторов, backend-разработчиков и тимлидов, стремящихся обеспечить высокую доступность PostgreSQL.

Спикер Андрей Поляков — старший разработчик в Unlimint.

Встречаемся в преддверии старта курса «Highload Architect». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cD2naD

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Базы данных (Data Base)

22 Oct, 08:30


Совет по работе с базой данных💡

Дубликаты строк легко создаются по ошибке и почти так же легко удаляются: вы можете в *одном* SQL-запросе определить их, а также указать, какой из них оставить!

Вот самый быстрый способ 👆

#sql

👉 @database_info

Базы данных (Data Base)

22 Oct, 08:05


Как найти дубли в sql

Для того чтобы найти дубликаты в базе данных SQL, можно использовать операторы SELECT и GROUP BY совместно с оператором HAVING. Например, следующий запрос позволяет найти все строки, у которых значение определенного столбца повторяется более одного раза:


SELECT столбец, COUNT(*) AS количество
FROM таблица
GROUP BY столбец
HAVING COUNT(*) > 1;

Этот запрос выведет все уникальные значения столбца "столбец", а также количество раз, которое каждое значение повторяется в таблице. Результатом будут только те строки, где значение столбца повторяется более одного раза, что указывает на наличие дубликатов.

Также можно использовать операторы JOIN или подзапросы для более сложных запросов на поиск дубликатов. Важно помнить, что перед выполнением подобных операций на поиск дубликатов необходимо создать резервную копию базы данных или таблицы, чтобы избежать потери данных.

#sql

👉 @database_info

Базы данных (Data Base)

21 Oct, 13:28


Хотите узнать, как эффективно управлять PostgreSQL в облаках и Kubernetes-кластерах?

Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:

- как правильно готовить Docker-контейнер для запуска PostgreSQL;
- управление развертыванием через Kubernetes с использованием операторов;
- добавление мониторинга и алертинга с помощью Prometheus и Grafana;
- использование новых возможностей репликации и быстрого запуска standby-реплики;
- интеграция задач миграции и обслуживания базы данных в CI/CD (на примере Gitlab).

Встречаемся в преддверии старта курса «PostgreSQL. Advanced». Все участники вебинара получат специальную цену на обучение!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCZGUb

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Базы данных (Data Base)

21 Oct, 05:10


SQL Injection - теория и примеры

В прошлом видео я поспешил рассказать и показать SQL Injection на практике, а в этом видео я хочу сделать шаг назад и поговорить чуть больше о теории и больше рассмотреть небольших примеров.

источник

#sql

👉 @database_info

Базы данных (Data Base)

18 Oct, 05:12


База данных 101: SSL/TLS для начинающих

Ещё раз делюсь с вами знаниями из моей повседневной работы в качестве Developer Advocate в ScyllaDB, и на этот раз я собираюсь рассказать вам о безопасных и зашифрованных соединениях! Это тема, которая может вызвать беспокойство у новичков, но я постараюсь сделать её проще для вас.

Если вы только начинаете работать с базами данных в общем или конкретно с базами данных, вам стоит начать с прочтения моей первой статьи "Базы данных 101: Консистентность данных для начинающих".

https://dev.to/scylladb/database-101-ssltls-for-beginners-4lmn

#db

👉 @database_info

Базы данных (Data Base)

17 Oct, 20:09


SQL injection - почему, зачем и как защититься от SQL инъекции

В этом видио хотелось бы поговорить про очень опасную на мой взгляд хакерскую атаку SQL Injection. Это одна из старейших атак и она все ещё актуальна. Сегодня мы рассмотрим примеры использования SQL Injection на примере небольшого C# приложения. В других языках программирования и фреймворках все работает идентично.

источник

#sql

👉 @database_info

Базы данных (Data Base)

15 Oct, 21:17


Базы данных 101: Консистентность данных для начинающих

В конце 2022 года я решил прояснить ситуацию, когда речь заходит о базах данных, потому что это всегда было проблемой. Как бэкенд-разработчику, мне «нравилось» ненавидеть сложные запросы к базам данных. С этой мыслью я бросил себе вызов начать с нуля и изучить этот малоисследованный мир просто ради удовольствия.

https://dev.to/scylladb/database-101-why-so-interesting-1344

#db

👉 @database_info

Базы данных (Data Base)

15 Oct, 09:00


Возможности для молодых людей в «Алабуге»

В особой экономической зоне «Алабуга» активно развивается лидерская программа «100 Лидеров». В ней могут поучаствовать молодые специалисты от 19 до 29 лет.

У участников есть возможность познакомиться с топ-менеджерами компании, поиграть в бизнес-игры, пройти собеседования с реальным шансом трудоустройства в компанию «Алабуга».

Питание и проживание за счет компании.

Работа в «Алабуге» - это зарплата от 78 до 200 тысяч рублей и участие в реализации проектов мирового уровня.

Следующий поток - с 28 по 31 октября!
Заявку можно подать на сайте

Базы данных (Data Base)

14 Oct, 21:12


PostgreSQL Antipatterns: «вращаем» JSON

Принимать сложные параметры запроса в виде JSON - полезно, хранить его в базе - удобно, но работа с ним в рамках SQL-запроса зачастую вызывает затруднения.

Сегодня столкнулся с очередным нетипичным вариантом использования - "перекладыванием" значений из JSON-строк в столбцы примерно такого вида:


SELECT
json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'ru') ->> 'ru' ru
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'en') ->> 'en' en
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'de') ->> 'de' de
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'fr') ->> 'fr' fr
FROM
(
VALUES
('{"language" : "ru", "value" : "Бухгалтерия"}'::json)
, ('{"language" : "en", "value" : "Accounting"}')
, ('{"language" : "de", "value" : "Buchhaltung"}')
, ('{"language" : "fr", "value" : "Comptabilité"}')
) T(js);


https://habr.com/ru/companies/tensor/articles/850522/

#db

👉 @database_info

Базы данных (Data Base)

14 Oct, 07:02


Любая крупная БД рано или поздно начинает испытывать проблемы с производительностью.

Причина проблем может крыться в медленной работе запросов. Неоптимизированные запросы влияют на скорость выполнения различных задач, потребляют много ресурсов и усложняют доступ к данным.

Как же их отслеживать и оптимизировать?

Узнаете на открытом вебинаре «Как оптимизировать производительность запросов в PostgreSQL?»

Вы узнаете:
- как оптимизация запросов влияет на скорость обработки данных
- что влияет на производительность запросов
- как правильно использовать индексы для повышения производительности
- как выявлять медленные запросы с помощью инструментов мониторинга

Будет интересно: аналитикам, инженерам и разработчикам БД, бэкенд-специалистам, тимлидам и проект-менеджерам.

Спикер: Алексей Железной, преподаватель OTUS и старший инженер данных.

Бонус! Всем участникам – скидка 5% на любой курс OTUS и полезные гайды.

16 октября, 18:30 МСК, Бесплатно

Записаться на событие - https://otus.pw/8zDPl/?erid=LjN8KUAhZ

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Базы данных (Data Base)

13 Oct, 21:11


7 эффективных стратегий для масштабирования базы данных

🔵 Индексация: Анализируйте запросы вашего приложения и создавайте подходящие индексы для ускорения работы.
🔵Материализованные представления: Предварительно вычисляйте результаты сложных запросов и сохраняйте их для быстрого доступа.
🔵 Денормализация: Упрощайте сложные соединения для повышения скорости выполнения запросов.
🔵 Вертикальное масштабирование: Увеличивайте ресурсы сервера (процессоры, оперативную память, хранилище) для улучшения производительности.
🔵 Кэширование: Храните часто запрашиваемые данные в быстром хранилище, чтобы снизить нагрузку на базу данных.
🔵 Репликация: Создавайте копии основной базы данных на разных серверах для увеличения объема операций чтения.
🔵 Шардинг: Разделяйте таблицы на более мелкие части и распределяйте их по серверам для улучшения работы с записью и чтением.

#db

👉 @database_info

Базы данных (Data Base)

13 Oct, 08:53


Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Базы данных (Data Base)

11 Oct, 10:04


#вакансия #job #vacancy #remote #parttime #преподаватель #educator #DBA #PostgreSQL #Oracle

Компания: OTUS – EdTech платформа.

Вакансия - Преподаватель онлайн-курса. (Интересные темы по программе курса и нагрузку можно выбирать):

«PostgreSQL Advanced»
«Миграция с Oracle на PostgreSQL»

Формат
: удалённая работа.
Занятость: частичная.

Требуется практический опыт работы по тематике курса. По курсу PostgreSQL Advanced практический опыт работы с облачными технологиями будет плюсом. Можно без опыта преподавания. Мы с удовольствием поможем Вам освоить Best Practices преподавания: для этого у нас есть вводный курс по преподаванию и пробные уроки с методистом.

Преподаватель раскрывает тему урока с помощью теории и примеров из практики.

Условия:
стандартное занятие длится 1,5 часа с 20:00 до 21:30 по МСК.
уроки проводятся в онлайн формате на Webinar ru.
на занятиях используется презентация с теорией и практические примеры, чтобы раскрыть тему урока.

С нами Вы сможете:
внести свой вклад в развитие IT
структурировать свой опыт и знания.
развивать личный бренд.
прокачать софт-скиллы.
получать от 3000 до 6000 руб. за один вебинар (полтора часа) + отдельно оплачивается проверка ДЗ, разработка/ доработка/ актуализация материалов к занятиям и другие активности.

Бонусы:
наши курсы со скидкой/бесплатно.
возможность приглашать в свою команду на работу лучших выпускников.
воркшопы и конференции для наших преподавателей.

Подробнее в telegram: @ElenaAlias

Базы данных (Data Base)

10 Oct, 22:09


PostgreSQL 'VALUES -> ANY' transformation: должна ли СУБД делать работу за пользователя?

Недавно, на хабре вышла статья про один нюанс в оптимизаторе PostgreSQL [1]. Будучи предельно технической и скучной по-определению, она триггернула интересную дискуссию в комментах и дала мне, как разработчику систем баз данных, возможность взглянуть на систему с точки зрения разработчика приложений. Это оказалось продуктивным для обеих сторон и привело к патчу и треду в сообществе. Данный пост - про ещё одну точку оптимизации - использование конструкции VALUES в выражениях SQL.

Здесь я также мимоходом хочу затронуть весьма глобальный вопрос: а должна ли open-source СУБД исправлять огрехи пользователя? Я имею в виду оптимизировать запрос ещё до начала поиска оптимального плана, устраняя само-соединения, подзапросы, упрощая выражения - всё то, чего можно добиться изменением приложения. Вопрос не праздный, поскольку в той же дискуссии [1] было указано, что стоимость планирования запроса в Oracle быстро растет при усложении текста запроса, что скорее всего вызвано, в том числе, большой номенклатурой правил оптимизации.

https://habr.com/ru/articles/847940/

#db

👉 @database_info

Базы данных (Data Base)

10 Oct, 11:01


🫣 Больше всего кибер-атак приходится на вечер понедельника

У этого заголовка две цели. Во-первых, это реальный факт — количество атак за квартал увеличилось на 12%

А во-вторых, привлечь ваше внимание к кибербезопасности. Теме, о которой так мало говорят в прикладном и доступном формате

💡В своем блоге Денис Макрушин рассказывает об исследовании угроз и разработке security-инноваций. Как предотвратить кражу данных и обезопасить свой труд

В канале уже есть посты про уязвимости и угрозы, которые несут реальную опасность для людей

Рекомендуем подписаться, если вы хоть как-то связаны с IT и технологиями

👉 [подписаться]

Базы данных (Data Base)

10 Oct, 05:30


🚀 Новая функция для улучшенного драйвера PostgreSQL

При сортировке строк вам надоели эти надоедливые значения NULL, которые появляются первыми?

В PostgreSQL есть функция, позволяющая задать, должны ли значения NULL быть перед или после всего остального. И теперь это поддерживается в Laravel!

#db

👉 @database_info

Базы данных (Data Base)

08 Oct, 17:27


⚡️ Совет по работе с базами данных

Расширение традиционной схемы базы данных с помощью NoSQL-подобных JSON-столбцов может сделать схему более понятной.

Но вы также должны убедиться, что эти JSON-документы соответствуют ожидаемой схеме!

#db

👉 @database_info

Базы данных (Data Base)

08 Oct, 12:01


Хотите узнать, как эффективно работать с аналитическими запросами в PostgreSQL и оптимизировать большие данные?

Ждем вас на открытом вебинаре 10 октября в 20:00 мск, где мы разберем:

- проблемы аналитических запросов в PostgreSQL;
- методы оптимизации и удачный выбор технологий;
- продолжение изучения работы PostgreSQL с большими данными.

Урок для аналитиков, инженеров, архитекторов БД и всех, кто интересуется большими данными.

Встречаемся в преддверии старта курса «PostgreSQL. Advanced». Все участники вебинара получат специальную цену на обучение!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cC9wiR

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Базы данных (Data Base)

08 Oct, 11:20


SQL. Решаем ТЕСТОВЫЕ ЗАДАНИЯ из AMAZON и FACEBOOK (подробный разбор)

00:00 - Где искать задачи с собеседований IT-компаний?
00:53 - Решаем задачу из Amazon
09:36 - Решаем задачу из Facebook
20:44 - Задача со звездочкой из моей работы. Пишите ваши решения в комментарии!

источник

#db

👉 @database_info

Базы данных (Data Base)

05 Oct, 12:14


PostgreSQL Antipatterns: устраняем вложенные интервалы

Недавно попался на глаза примерно вот такой запрос, которым хотели отобрать в таблице (очевидно, для последующего удаления) все id записей интервалов, которые полностью перекрыты каким-то другим интервалом того же owner'а:

https://habr.com/ru/companies/tensor/articles/847128/

#db

👉 @database_info

Базы данных (Data Base)

03 Oct, 08:05


Функция STUFF() в SQL

Функция STUFF() в SQL используется для замены части строки другой строкой, начиная с определенной позиции и на заданную длину.

Синтаксис функции:


STUFF (string_expression, start, length, replace_with_expression)


- `string_expression` — это исходная строка, в которую вносится изменение.
- `start` — позиция, с которой начинается замена.
- `length` — количество символов, которые будут удалены из строки.
- `replace_with_expression` — строка, которая будет вставлена на место удаленных символов.

Пример использования:


SELECT STUFF('Hello World', 7, 5, 'SQL');


В этом примере функция заменяет часть строки "World" начиная с 7-й позиции и длиной в 5 символов на строку "SQL". Результат:


Hello SQL


Таким образом, STUFF() позволяет удобно заменять часть строки другой строкой на основе указанных параметров.

#db

👉 @database_info

Базы данных (Data Base)

01 Oct, 15:13


Компания Uber создала собственную базу данных с нуля. Она получила название Schemaless DB.
В ее рамках они хотели добиться высокой доступности операций записи.

Uber сделала это возможным благодаря использованию умной и простой техники под названием Buffered Writes.
В двух словах, Buffered Writes означает, что каждый запрос на запись хранится как минимум на двух узлах - Primary Leader и Secondary Leader.

Вот как это работает:

Клиент делает запрос в обработчик запросов.

Обработчик запросов отправляет запросы на запись на Secondary Leader. Данные сохраняются в специальной буферной таблице на Secondary Leader.

Затем он также отправляет запрос на запись на Primary Leader. Только если обе записи прошли успешно, клиент получает подтверждение успешной записи.

Задача Primary Leader заключается в репликации данных.

Но если leader выходит из строя до успешной асинхронной репликации, Secondary Leader служит временной резервной копией данных.

Background Worker следит за Primary Follower, чтобы узнать, когда появится запись после репликации

Как только запись появляется на Primary Follower, Background Worker удаляет запись из Buffer Table.

Здесь следует отметить несколько важных моментов:

- Количество вторичных лидеров настраивается

- Secondary leader выбирается случайным образом

- Буферизованные записи используют идемпотентность. Если существует несколько записей с одинаковыми идентифицирующими полями, то не имеет значения, сколько раз был сделан запрос.

#db

👉 @database_info

Базы данных (Data Base)

01 Oct, 12:13


Что поможет обеспечить стабильную работу высоконагруженной системы?
Эффективный мониторинг.


О том, как лучше отслеживать и поддерживать стабильность систем под высокой нагрузкой, вы узнаете на открытом уроке «Мониторинг в высоконагруженных проектах»

👨‍💻🛠👨🏻‍💻 Будет интересно: девопсам, сисадминам, бэкенд-разработчикам, тимлидам.

Вы научитесь:
Настраивать мониторинг для высоконагруженных проектов
Настраивать мониторинг для выявления и предотвращения проблем
Использовать данные мониторинга для повышения стабильности и производительности системы
Усиливать отказоустойчивость архитектуры

А ещё получите ценные советы для оптимизации мониторинга в реальных проектах.

Урок проведёт Олег Мифле, бэкенд-разработчик VK с 15-летним опытом в IT

🆓 Участие бесплатное. Урок в рамках старта курса «Highload Architect»

🔴 Записаться на открытый урок: https://vk.cc/cBIXkK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Базы данных (Data Base)

30 Sep, 07:02


В поисках улучшения производительности базы данных: Всеобъемлющее руководство с 8 ключевыми стратегиями

По мере роста программного обеспечения наступает момент, когда необходимо улучшить производительность хранения данных. Это может проявляться в замедлении скорости поиска, ухудшении операций записи или общем снижении производительности. Хотя понимание этих проблем важно, не менее важно знать распространенные подходы к их решению.

В этой статье я постараюсь собрать все доступные техники, которые я учитываю при работе с производительностью баз данных. Я начну с простых советов и постепенно буду вводить более сложные методы по мере увеличения стоимости их реализации.

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

https://levelup.gitconnected.com/in-search-of-improving-database-performance-a-comprehensive-guide-with-8-key-strategies-3496f2262cdb


#db

👉 @database_info

6,939

subscribers

464

photos

413

videos