72 похожих чатов

Любопытно мнение насчет использования data fields в реляционной БД типа

MySql против колонок.
Так случилось, что у меня жестко пригорает от того, что на работе форсят вместо колонок для неиндексируемых полей пихать все в JSON поле data, мотивируя тем, что лишняя колонка в реляционной, карл, БД это оверкил, что сейчас MySQL эффективно ищет и по внутренностям JSON полей если уж что-то нужно, и по памяти эффективней и миграции лишний раз тяжелые гонять не надо..

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

Что вы об этом думаете? Плюсы / минусы?

8 ответов

6 просмотров

Ну это тупик для РБД. JSON либо вообще нельзя, либо очень трудно обрабатывать в реляционной БД

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

Просто у тебя некомпетентные коллеги...

Roman-N Автор вопроса
Ilya Zviagin
Просто у тебя некомпетентные коллеги...

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

Roman N
коллеги то вполне опытные ;) их можно понять: там ...

Если такую чушь несут — однозначно НЕТ! (может и опытные, но безграмотные, это могу допустить)

Roman N
коллеги то вполне опытные ;) их можно понять: там ...

Практичный аргумент очень простой — сделай попробуй поиск по полю из JSON, да ещё которое не обязательно (они все такие) и чтобы работало быстро на наборе данных в несколько миллионов записей

Roman N
коллеги то вполне опытные ;) их можно понять: там ...

Опыт != компетентность, особенно там, где дело касается баз данных. ;( > а помимо "концептуальных" возражений Производительность, производительность и производительность (я другого пока не увидел) — это не концептуальные возражения, нет? ;) Я к тому, что если для вас это единственная проблема этого подхода — храните хоть в JSON, хоть в blob. Подобные темы неоднократно обсуждались в соседних чатах, кстати (особенно "любимая" — как хранить разные (расширяемый набор) атрибуты номенклатур).

Похожие вопросы

Обсуждают сегодня

Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Как убрать предупреждение с минимальным количеством костылей?)
Jaroshevskii
7
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
а давно такие жирные буквы в админке?
Миша
4
Гнева и тупости пост. Как блять можно работать с маркетологами? Их в детстве всех родители случайно цепляли об дверные откосы? Поступила таска, на сайте "лишний счетчик Google...
Igor
4
Карта сайта