ВСЁ про Базы Данных в одном месте / ХАЙЛАЙТЫ
Вставка
- Опубліковано 30 жов 2023
- Привет
Станьте IT специалистом с нуля в Skillfactory: go.skillfactory.ru/bOtuyQ
Скидка на обучение +5% к действующей акции на сайте по промокоду PULLUPONTHEBLOCK
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Регистрируйтесь и пользуйтесь PaaS-сервисами Selectel со 100% кэшбеком: slc.tl/xz0wz
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
ЛЕШГО!
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Я wndtn, мне 20 c чем-то лет, и я изучаю computer science и программирую ~10 лет.
Я into С++, и всякие low-level штуки.
У меня есть небольшой проект, xplatform, который вы сможете найти на github, и через него практиковаться в изучении всей базы программирования, и если вам повезет(если вы упорный), вы станете хорошим программистом %)
Если нужна помощь в программировании 1 на 1, чекайте ссылки .
всем добра
Телега - t.me/wndtn
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда:
Telega и чатик - t.me/wndtn
Boosty(менторинг для РФ) - boosty.to/wndtn
Instagram - / winderton
Github проекта(код с канала) - github.com/winderton
Технологии в видео:
- SQL
- Postgres
- Redis
- ElasticSearch
- Python
Ссылки:
- habr.com/ru/articles/752620/
- cstack.github.io/db_tutorial/
- www.amazon.com/s?k=7+database...
Если не найдете каких-то ссылок и материалов из видео, пишете коммент об этом, я добавлю.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Оборудование:
Камера - Sony a7ii
Объектив - SIgma F1.4 DG
Микрофон - AudioTechnica at2035
Звуковая карта - Scarlett Solo
Петличка - Rode smartlav+
Клавиатура - HyperX Alloy
Вторая клавиатура - apple magic keyboard(black edition)
Монитор DELL 25'
Монитор Asus mg248q
Iphone 11 pro(зеленый)
CAMLINK elgato - для стриминга
JBL headset
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Музыка:
technica
Про терминал видос надо?)
делай
да
да)
Гоу
да
Обожаю людей за то, что они запускают дум везде, спасибо
Полностью поддерживаю !
Изучаю Пай уже почти год. Перелопатил тысячу бездарных видисов. У тебя уже второй видос просто потрясает своей полезностью и конкретностью. Это 10 баллов, уважаемый.
эх, помню времена, когда только-только нашёл твой канал, было интересно но ничего не понятно, теперь уже после того как начал работать, понимаю что ты рассказываешь и даёшь ну прям очень годные ролики))
Я студент, и сейчас практически ничего не понимаю😅
и че помогло? хотя бы на 100 рублей стал зарабатывать?))
@@ctrlalt01 помогло еще как)) а насчет зп - не жалуюсь на размер, зарабатываю более чем достаточно, ни в чем себе не отказываю
@@ctrlalt01как человек, который получает гораздо больше 100 в айти, могу сказать что контент очень годный, впервые на канале, но похоже что останусь надолго 😂
@@ctrlalt01da.
Вин позязя мы очень ждем 10 часовой ролик по современным плюсам 🥺🙏
Спасибо за этот выпуск - актуально, понятно, подробно. Очень круто! Про терминал видос нужен.
Как всегда замечательный видос!
А можно отдельное видео про особенности SQLite базы данных?)
Как про базу данных без отдельного сервера, которую можно прикрутить независимо в практически любом проекте.
И соответственно какие ограничения привносит отсутствие серверной части БД, почему она не поддерживает хеш индексы, особенности имеющихся индексов, динамичность типов данных и всякое такое
Можно еще дополнительно затронуть плагинов к ней
Но на мой взгляд есть очень много особенностей чистого SQLite на которые было бы интересно пролить свет)
Давай чувак лупи 🤙🏾🤙🏾🤙🏾, за терминал обязательно, с удовольствие посмотрю. С нетерпением буду ждать.
За линух конечно же в первую очередь ☝🏽
я вообще здесь со стороны тестирования, но подача топ и за контент спасибо, очень полезен 🙌🏼 успехов
Очень хорошее видео, которое раскрывает возможности использования этих БД инструментов. Хоть я и не пользовался ранее базами данных, думаю их действительно можно применять в решении множества задач, так что спасибо)
Жду видео про генеративные и углубленные нейронки
Ждём продолжения) спасибо большое за создание ролика, полезно очень
Шикарный ролик, спасибо. Ни взять, ни дать. Кстати, Elastic можно на беке использовать?
Спасибо за видео, изучаю БД и теперь стало намного понятнее, что к чему.
Спасибо огромное за видео) это пушка, построение целой архитектуры офигенно объяснил за 20 минут🔥
Благодаря твоего видео узнал о решении многих насущных вопросах, особенно про поиск по бд и хранении медиафайлов
Будет круто, если в продолжении будет подробнее про транзакции, их внутреннее устройство, про разные уровни изоляции транзакций. И про внутреннее устройство индексов.
Слишком мелко для видео
@@alekseykirov4647 можно это среди прочего рассказать
@@alekseykirov4647 и про сложные запросы в бд, которыми программисты своих детей перед сном пугают. На каждом втором собесе: "О, а вы писали сложные запросы? Как оптимизировать запросы?" и т.д. Что там такого сложного может быть? Положил данные. Достал данные.
Колоссальная работа! Топ видосы, спасибо, ждем по терминалу)
Виндер, ты угодил в лингвистическую ловушку реляционных бд.
Отношение - это не связь между таблицами (которые ты показываешь стрелочками), отношение - это и есть сама таблица)
Строка в ней - это кортеж, а колонка - атрибут.
Поддерживаю, для меня это целое открытие было когда это понял. Я помню что нам в универе что-то говорили о том что таблица это отношение, но почему-то в тот момент я это не уловил в полной мере.
джойн двух таблиц будет умножением отношений и тоже будет давать отношение:) так что все так и, одновременно, сложнее
@@ooboontoo а что сложнее? отношение может быть визуально представлено как таблица
Крутой видос!! Четко, информативно, качественно! Спасибо!
Никогда не думал о том что ответы бд можно кешировать для ускорения доступа. Как всегда узнаю что-то новое, спасибо за такой годный контент брат
Офигенно, спасибо! Да, хотелось бы. А про какое видео ты говорил, где PostgreSQL && C++?
Твое объяснения очень заходят и хотелось бы видоса про bash. И не просто там пробежаться по базовым командам а рассказать про годные инструменты и их использование в рил проектах
Погоди погоди, в реляционных базах данных именно сами таблицы называют отношениями (и названы реляционными потому что в основе них таблицы - relationship)
Отличный ролик, спасибо за материал.
Спасибо за видео очень интересно
Спасибо большое, наконец то все встало на свои места )))
Офигенное видео. Спасибо!
Чееееел, конечно же нужен видос про то, сколько всяких удобных плюшек ты научился накатывать и использовать в терминале.
(Да и в любом инструменте, которым периодически приходится пользоваться)
крутое видео,интересная подача,спасибо за выпуск))
Спасибо за контент!
Расскажи, если знаешь как подключается гугл аутентификация на примере сайта или приложения. Если не сложно конечно, хотя мне кажется это не так популярно....
Очень здорово и просто объясняешь, спасибо огромное.
Очень хорошо объясняешь. Я впервые услышал про Redis, но понял его привлекательность. Такая же фигня с Elastic.
Великолепный видос! за такое кол-во практики отдельное спасибо!
Я бы за работу в терминале. Настройку сервера и среды. Было бя очень интересно! 😊
Блин просто пушка
Ты мотивируешь развивать проекты)
отличный видос! после просмотра, картина уровней взаимодействия стала четче.
Нереально крутой контент! Спасибо, братан!
честно - очень познавательно для "далекого" от темы человека (систем/девопс инженер).
Подталкивает потихоньку к софтвер инжинирингу.
(вообще интересно почему так сложно "въехать" с 10+ годами опыта с разными системами, все адекватно, очевидно и понятно, но сесть и начать писать код - прям трудно).
Жду про терминал видео)❤
5:31 Видос про терминал конечно не помешает. Но не про команды как таковые, а про то как перестать бояться терминала, что он на самом деле удобнее, чем кажется на первый взгляд. А то новички порой даже про автокомплит не знают, что уж говорить о других фишках, которые делают использование терминала удобнее.
Интересная штука ceph. Не приходилось ещё со столькми файлами работать.
Спасибо за видос! Очень рад что ты выпустил видео про БД
очень хотелось бы увидеть видео про терминал!
Wndtn, благодарю! Терминал необходим! Без него никуда! Очень надо. И вот это вот всё, чтобы хоть как-то сориентироваться.
Чисто технически Elastic может быть базой данных - он также хранит данные и предоставляет инструменты для работы с ними - и может использоваться без каких либо баз данных. Другое дело, что его обычно используют в связке с базами данных, которые являются примарными источниками данных и могут если что перестроить хранилище Elastic, если допустили ошибку при построении индекса например и в целом порешать подобные проблемы.
Внутри Elastic складывает данные в "файлы" своего формата, с которым ему удобно работать и, как было упомянуто в видео, записывает в так называемые индексы. Можно воспринимать индексы как "телефонную книгу", где например записано, какие record ID имеют значение по которому мы ищем. Например нам нужны книги где в названии есть слово "вирус", Elastic в индексе названий собирает все что имеют слово "вирус" и достает список ID книг. Дальше просто собирает уже целые записи со всеми данными по айдишникам. Этот основной принцип называется inverted index, на нем также работают подобные движки, типо Solr и Cassandra.
Спасибо за видос!
Ееее, видосик вышел, кайф
Про терминал интересно от тебя услышать)
Очень классное видео, так хорошо и понятно рассказано, поймёт даже второгодник
Видел многие твои видео в реках, но не смотрел их, а тут решил глянуть и понял что я многое не знаю, спасибо за просвещение, пойду наверное сам теперь углублюсь. Подписался на тебя
Максимально мотивирующие видосы делаешь, вообще огонь
Ну молодец 🎉ну красава👍как я ждал что хоть кто-то додумается не тратить наше время на приветствия и воду👌👍
про терминал супер маст хэв, го видос по нему!
Ты че такой крутой? Суперски преподносишь информацию, спасибо за материал!!
Отличный ролик, спасибо за видео
давай видос по командной строке эт очень полезно будет
Видос просто кайф отдельное спасибо что на питоне т. к сам его учу сейчас и меня это вдохновило написать похожее приложение чтобы пощупать как это все работает
О, видос, поехали
Winderton, У тебя крутые видосы. Сможешь рассказать в каких случаях происходит миграция, какие базы предпочитают для миграции, можно ли изначально выбрать "Ту самую" базу данных, что бы избежать дальнейшую миграцию? Знаю что у Discord была миграция, хотелось бы услышать как они это пережили. Спасибо
Про дискорд на Хабре статью читал "Как Discord хранит триллионы сообщений"
Тут речь не про мишрацию с одной базы на другую, а скорее про обновление структуры базы между разными версиями приложения. Для этого можно использоваться liquibase или flyway
Виииин, подписана на тебя не так давно, изучаю сейчас язык, но не все понимаю, как работает 😢. Требую помощи и разъяснений 😅плиз. А еще, в этом ролике ты сказал про ммр 4к😂, так вот я задрот на Вокере, могла бы тебе пару каток засолить 😂 что скажешь?
Кайф!)
Супер конструктивно! Благодарю
Автор далек от БД. Отношение это и есть сама таблица. А то что он назвал отношениями на самом деле называется связи.
очень нужен ролик по терминалу
Это классное видео ☝️
"Сразу полетели"
Блин, абажаю, когда не надо ждать интро или ускорять видео)
Мужик ,ты крут💪
Redis еще как Pub/Sub можно использовать.
Для моих маленьких проектов предпочитаю использовать JSON. Но видео классное)
Привет! Видео для начинающих очень даже ничего! С удовольствием бы глянул про терминал
А чем эластик лучше полнотекстовых индексов в бд? Я так понимаю с postres и mysql в нем необходимость практически отпадает?
эластик вроде похож на noSQL
Думаю Проблема в кешировании в том что если база все время обновляется то кеширование только усугубит положение так как появляться данные будут через раз (если каждую секунду что то меняется). Пример с тем же сайтом что пользователь пополнил баланс но в кешировании осталось только первоначальное значение то юзер подумает баланс не пополнился
респект за быстрый старт!
Годный видос, прям топ
А уже пришли и напихали про то, что relation пришло из теории множество и вообще отношение в данном контексте это просто прямое произведение множеств значений, которое иначе представляется сетом кортежей, который (сет) по удивительному стечению обстоятельств выглядит как "таблица" (но не обязательно является таблицей)?
А вот всякие джойны и тд - это уже примеры реляционной алегебры между несколькими отношениями. То есть она реляционная не потому что между таблицами есть relationship а потому что таблицы это relations и поэтому между ними есть relationship.
Я собирался напихать, но догадывался, что я могу быть не первым. На самом деле даже от сеньоров слышал это заблуждение
Так что коммент топ
Господи, да как же я раньше то джойны писал без этого
вероятно иногда - весьма неряшливо.
Пойду апплаиться на архитектора, спасибо
А почему это видео нельзя скачать через приложение? Ставятся какие-то запреты?
я не понял, если я собираюсь делать инди игру, мне нужно учить mongodb и sql? М?
а с редисом через dbeaver никак нельзя работать??
немного неточно говоришь -- отношениями являются сами таблицы, а не стрелочки между ними. Отношение с математической точки зрения, конечно. Стрелочки -- это ограничения или внешние ключи или связи (функциональные зависимости). Также sql, к сожалению, не полон по Тьюрингу (исключая множество не стандартизированных расширений языка), ты не сможешь, например, при помощи sql посчитать расстояния между городами (расстояния между вершинами в графе), только для наперед заданного максимального расстояния L
Ну если быть честным, то в конечном итоге в случае например с постгресом все хранится в файлах :) на диске)
Всегда восхищался гениальностью реляционок вообще и языка SQL в частности. Это же просто праздник какой-то!
подожди, если редис работает в облаке, то в чем отличие от обычной бд? типо мы же все равно обращаемся по сети
Спасибо за ролик познавательно! У меня вот ошибка выходит когда запускаю elastic.py
with open('cities.csv') as f:
reader = csv.DictReader(f)
helpers.bulk(es, reader, index='pulluphardgucci')
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb4 in position 672: invalid start byte
encoding='latin-1'
Крутой урок!
Ответил на комментарий про неправильное употребление термина "реляционная", распишу тут подробнее, может кто-то тоже для себя это открытие сделает.
Вот как получается: отношение в дискретной математике - это подмножество произведения множеств. Например, если мы возьмем множество букв A...Z и множество чисел 1,2..., то их произведением будет множество всех возможных пар A1, A2, A3, B1 и т.д. Если мы возьмем какой-то набор таких пар, например (A1, B1, B2) - то это будет подмножеством всех возможных пар. То есть - отношение на множестве произведения. И вот, если мы создаем таблицу, у которой первый столбец содержит букву, а второй - число, и добавим в нее записи [A, 1], [B, 1], [B, 2] - то эта таблица и будет представлением (способом записи/хранения) этого отношения (подмножества произведения).
А если мы добавляем больше столбцов - мы просто перемножаем большее количество множеств, увеличивая размерность этого произведения. И получается, что данные в таблице - это подмножество из множества вообще всех возможных записей, которые могут быть в этой таблице. И каждая строка - просто точка в этом многомерном пространстве.
Из этого вытекают некоторые свойства реляционных БД, которые отличают их от просто "таблиц как в экселе". Например, ограниченность множества возможных значений (за счет строгой типизации столбцов) и отсутствие гарантий сохранения порядка записей.
redis выходит как слой ДАО?
14:00 так постгря, как и все бд нормальные, сам умеет в кэширование, в поиск по кэшу, плюсом сам умеет тянуть какую-то часть данных из кэша, а недостающие добирать с диска.
Зачем редис то нужнен?
А почему не рассказал про планировщик(оптимизатор) баз? Это же офигеть какой интересный и важный элемент, в mssql почти что ИИ.
Про терминал ох как хочется видосика. Если бы бы не был подписан, то подписался бы, чтобы не пропустить его
Зачем использовать ElasticSearch когда PostgreSQL по умолчанию поддерживает полнотекстовый поиск?
Повторить основной функционал действительно можно средствами постгреса, но в реальных, боевых условиях разделить частые запросы на поиск, вынести их на отдельную машину вместо лишней нагрузки на кластер бд очевидно выигрышное решение. Это опуская все нюансы о гибкости, производительности и дополнительной функциональности эластика в своих конкретных задачах
Го сильную историю о терминале и его практическое использование!
Лучше о командной строке)
Спасибо!
То что доктор прописал, мне это как раз нужно было
Полезное и очень наглядное видео.
Непонятно, почему при разработке своего проекта с БД приходится вписывать логин и пароль базы данных на ПК. Ведь при установке стороннего приложения оно никогда не спрашивает ни логин, ни пароль от БД. Получается прога уже знает их?
(По видео:
Зачем-то речь записана с ускорением, для новичков это слишком быстро. Тем более качественное ускорение есть в самом плеере Ютуба, а вот замедление там полный шлак.
Код желательно делать в разы крупнее, иногда даже на увеличении он очень мелкий, при этом весь экран остается пустым.)
А как Fig поставить, если регестрация приостановлена : (
спасибо!
Давай видео про терминал, давно пора)
Приятного всем просмотра)
16:30 и чуть далее. И чем монга лучше таблицы с jsonb в пг? В 99% случаев монга нафиг не нужна.
Лайк за то, что на примере катания на велосипеде у райдера фулл-фейс шлем.
Шо, тоже МТБшник? 😏😁
По работе приходится кешировать кусок базы в файлы и работать уже с ними, ибо работаем в "реальном времени" (судейство соревнований), а база явно на калькуляторе крутится и периодически блокирует доступ по "слишком много подключений"...
Звёздочка в count означает не "все строчки", а название колонки, количество элементов которой будет считать бд, обычно индекс.