индекс, вы представляете себе дерево данных и как будет проходить поиск или вы знаете какие либо правила по которым его создаете? Просто не совсем понятно, нужно ли мне в деталях понимать как дерево работает, я в общих чертах понял, но в голове картина не рисуется как будет происходить поиск когда создаю индексы в бд в каких то моих реальных кейсах, поэтому и задаю вам вопрос)
в пж несколько типов индексов, а также есть процент заполнения индекса, в зависимости от того, насколько у вас часто изменения в записях.
Да, представляю.
Как выработать такое представление в голове? Нужно ли разработчику оно, не специалисту по бд?
Попробовать порешать задачки по теории: графы, деревья, поиск, сортировка, поиск в дереве. Со скоростью выполнения.
Привет! Хочу присоединиться к обсуждению Можешь посоветовать интересные сайты с такими задачками ?
Посмотрите тут https://habr.com/ru/company/postgrespro/blog/441962/
хотел бы отметить. Вот приходит пыхер в штат, в 9 (опаздал конечно на пол часа). Сел. Через 5 минут подходит менджер и говорит. Дорогой друг. Ты попал в майнкрафт. Твори что хочешь, хочешь настрой сервер, чтобы его не ломали и он не тормозил, хочешь настрой нам фронт, а то плывёт дизайн, на всех браузерах по разному, хочешь программируй, хочешь займись базой данных. Ты тут один, денег нет на аутсорс, всё равно это всё надо делать тебе, так что ни в чём не отказывай. Скажи только одно, почему ты уже 5 минут у нас работаешь и не пишешь функционал, который нам был нужен внезапно и вчера? Вывод? Все работы разные. Для обычного кодера (вот как я) мне кажется проще проверить на реальном коде и не верить никому. Надо или глубоко разбираться в базах данных или уж не парить себе мозг и заниматься своей работой. Ну вот что должен делать кодер, чтобы заранее понять какая область видимости будет у индекса и насколько его прореженным надо создать? Да проще потом проверить по факту.
Я как раз с php работаю, тоже этого мнения, но вот закралась мысль, а в друг не так и я все не правильно делаю, может стоит стать более знающим разработчиком с широким кругом знаний, поэтому решил пока забить себе голову индексами, сижу деревья строю и пока ничего не понимаю, не знаю насколько это поможет, но раз люди говорят, что это нужно, то думаю не зря потрачу время
Дело в том что обычный кодер больше условных 100К РУР получать не может в принципе. Он - инструмент. И бизнесу он не нужен. Бизнесу нужен тот кто умеет решить проблемы. А для того чтобы уметь решать проблемы ты должен знать инструменты, с помощью которых ты будешь решать эти проблемы. И или ты знаешь как работает процессор, машина в принципе, ОС, СУБД, сетевой стек и как это все связать вместе чтобы решить проблемы бизнеса - или нет. Если ты это знаешь, поздравляю, ты - программист. А если еще и успешно решал проблемы бизнеса и умеешь с ним общаться, поздравляю - ты архитектор.
мда уж, люди тут в чате что только не говорят. Одно но. Тут вопрос был, что же делает базовик. Относительно нормальный ответ был одни "много чего".
Как по мне - базовика не существует. Ну не сможешь ты эффективно решать проблемы в отрыве от того как работает база. Поэтому программист должен быть DBD'ашником. А вот задачи DBA'шника (как то резервное копирование, мониторинг, защита от сбоев и т.д., то есть обеспечение нормальной работы сервиса) может делать DBA'шник или админ. Да, получается что условный админ помогает программисту, но горе тому кто будет считать что DBA это "на ступеньку ниже"(а то знаю я таких). DBA - это твой друг, товарищ и вообще - любимая жена / муж в рамках работы ))
уверен, что вы не правы. Базовик тот же кодер, только шибко упирается в свою базу данных. Но есть ли у вас вопрос?
ошибки проектирования в бд исправляются гораздо тяжелее, чем в прикладном сервисе, подумайте об этом.
Окей... А зачем он нужен, если я и так и индексы построю и хранимку напишу и оконку где надо нарисую и базу спроектирую.
потому что базовики в чате отказываются на себя работу брать по написанию вьюсов. Если бы соглашались, то исправлялись бы намного легче. А вот если базовик больше в чате мастерится, тогда да. Кодера в базу только пусти, мы вам сразу кей валуе хранилище сделаем.
вот сейчас какой то набор слов, то ли я тупой.
В чате кодеров мало. Тут DBD/DBA и программист с архитекторами в основном.
вы, например, не знаете отличий в индексах. Я вам дам пример 3 таблиц и вы не скажете какой индекс там будет лучше. Индекс сделаете, но производительность его будет неизвестна.
без привязки к реальной задаче - это сферический конь в вакууме.
Я, например, знаю. Так как я умею читать документацию, а BTREE и GIN индексы я писал вне Пг. Вы меня не поняли. Если вы не знаете теории СУБД вы не программист. Вы кодер.
ну вот какие могут быть ошбки в базе, если всё кодеры получают через вьюсы? И сидите вы целми днями, оптимизируйте свои данные, меняя вьюсы, кодеры ваши оптимизации "базовика" будут видеть только по первой линии, что жалоб меньше на производительность будет.
что такое вьюсы?
ааа, это спор кто такие кодеры и программисты. Тогда да, я принципиально себя всегда называю кодером в "профессиональных" кругах. Вне зависимости от своих и знаний оппонентов.
Расти не пробовали?
Подожди,а как использовать субд, не зная теории. Или как говорил мой знакомый, зачем нужны бд, когда можно взять текстовый файл и хранить всё там
А так частично соглашусь, но не англицизмом, а по-русски: печатная машинка. Ибо кодит по заданному другими алгоритму и больше ничего не делает
Ну вон ks знает зачем ему СУБД без теории. Ему Вьюху выдали, он умеет в нее CRUD. Если нужны какие-то другие данные, он пойдет к DBA и тот выдадит ему другую вьюху. Она будет отличаться 1-2мя полями, но зато кодер при деле, таска в джире стоит. лид/архитектор завизировал, DBD работает, ситема працуе... 3 человека минимум, а вообще 4, так как на 3х нужен ПМ. Чувствуете?... А не просто пошел и SQL запрос подправил в ORM'е или вообще в коде.
Ну вы вопрос-то задайте.
Пыхер? В 9? Да это на два с половиной часа раньшэ положэнного¡
не, ну первый день же. Все же хотят начать новую жизнь с первого дня! зы по утрам многие жалуются, мол сегодня холодно, так замёрз. А я никогда по утрам не мёрзну, так как я понял, что я каждый день опаздываю, хотя уже бегом бегу нафиг.
Вспоминаю, как лет 8 назад вышел на первый рабочий день в одну контору, пришёл прямо к 8-50 (рабочий день в 9 начинался у них), стою на улице, всё закрыто - замёрз. Пришёл начальник почти в 10 - и такой "Ты чего так рано припёрся? Я же сказал примерно в 9!"
Модэльная задача: есть сто миллионов пар число — слово. Числа 64-битные. Найти слово, соответствующее числу или сказать, что его нет. Вот тут можно померить, что будет если хранить просто массив чисел с указателями на слова. Что будет если хранить отсортированный массив с указателями на слова (и сколько потом займёт добпвление ещё нескольких значений по одному). Что будет, если хранить указатели по одноуровневому хэшу. Что будет, если из пар (число, указатель) сделать бинарное дерево (т.е. элемент или последний в иерархии или у него есть указатели — на кучу тех, кто меньшэ и кто большэ). Дерево сначала создать из массива, отсортированного, начиная с середины. Написать добавление в такое дерево по одному. Попробовать сделать такое дерево из отсортировагного массива с начала, а не с середины. Посмотреть, сколько займёт поиск в такой структуре.
Обсуждают сегодня