Nikita
Ну да. Тут вопрос в том, чтобы познакомиться с MongoDB. Т.к. проект простой, и его можно реализовать и на MongoDB и на MySQL например.
Aleksandr
бери монго, не пожалеешь
yopp
Aleksandr
🌚
yopp
С такой постановкой задачи — практически гарантированно
Aleksandr
ну, опыт-то полезный все-равно
Aleksandr
опыт отрицательный не бывает имхо
Nikita
Так а как я могу ставить задачу по MongoDB, если я с ней не работал до этого? Собственно, поэтому и задаю вопросы в этом чате.
yopp
Aleksandr
походу задача стоит "разобраться с mongodb"
Egor
мне кажется в таких чатах нужен иисус - ему задешь вопрос - он отвечает постоянно да - и все - никаких больше холиваров и споров
а конкректные вопросы уже потом будут по ходу дела задаваться во время разработки
Aleksandr
лично я вообще перестал понимать что за задачи требуют именно SQL-базу типа mysql/postgress так меня от монго прет
Nikita
Ну, начнём с того, что при постановки задачи, я столкнулся с вопросом миграций, и спросил здесь про них. + Спросил, какой инструмент (ODM), зарекомендовал себя. То что миграции не нужны, это уже следствие вашего ответа. В моём понимании нужны, хоть и в ограниченном виде. Вопроса про выборку данных я не задавал.
Nikita
В моей задаче не должно быть проблем связанных с отсутствием SQL. С форматом хранения данных тоже не должно быть проблем.
Egor
yopp
Ну, начнём с того, что при постановки задачи, я столкнулся с вопросом миграций, и спросил здесь про них. + Спросил, какой инструмент (ODM), зарекомендовал себя. То что миграции не нужны, это уже следствие вашего ответа. В моём понимании нужны, хоть и в ограниченном виде. Вопроса про выборку данных я не задавал.
Даже если это игрушечный проект, если у вас нет четко зафиксированный проблемы которую он должен решать, и стратегии её решения, то вам рано выбирать технологию.
yopp
Вы не хотите услышать что ваша проблема не в технологии, а в постановке задачи
yopp
По этому вам дают советы котроые вас не устраивают
Nikita
yopp
И вам не дадут нормальны советов, потому что нет чётко ограниченного проблемного поля.
yopp
Egor
Egor
зачем какие-то го либы еще тащить, бред блин
yopp
Но вы не хотите слушать, смысла продолжать эту беседу нет
Aleksandr
yopp
yopp
Not invented here, очень страшный синдром
Alexander
Как обычно, проблема в мышлении. В монге миграции схемы данных, какие есть в табличных базах, действительно не нужны. Тут всегда миграции самих данных, которые не получается нормально автоматизировать. Но для людей, которые с этим не работали, это кажется дикостью. Потому и рассказывает человек о том, что без мигрций жизни нет и он не знает, как без них начать проект, не слыша тех, кто говорит, что они не нужны. Но и обратное тоже верно, если вы понимаете о чём я.
Egor
Nikita
Как обычно, проблема в мышлении. В монге миграции схемы данных, какие есть в табличных базах, действительно не нужны. Тут всегда миграции самих данных, которые не получается нормально автоматизировать. Но для людей, которые с этим не работали, это кажется дикостью. Потому и рассказывает человек о том, что без мигрций жизни нет и он не знает, как без них начать проект, не слыша тех, кто говорит, что они не нужны. Но и обратное тоже верно, если вы понимаете о чём я.
Но разве плохо, если такой инструмент будет существовать (на всяких случай), а если он не понадобится, то и норм? Теоретически кейс ведь возможен. С тем же MVP, когда сделано на коленке, и нужно перегнать данные в другую структуру.
Egor
он если даже с бд опередилться не может
Egor
а если ему еще в стек доп инструментов добавить, то он никогда не зарелизиться
Alexander
Dmitriy
но для этого как вам уже все выше сказали вам сначала надо определиться с самой постановкой задачи
Алексей
Nikita
Задача - есть приложение, которое установлено на разных серверах (не связанных). Используется MongoDB. Если я руками перегоню базу в новый формат на одном сервере, и обновлю приложение, на версию, которое работает с новой структурой БД, это одно дело. Но если к примеру всего 100 серверов? В моём понимании, в данном кейсе нужна версионность.
Если что, это не про приложение, которое планируется реализовать, а просто пример.
Egor
Dmitriy
Задача - есть приложение, которое установлено на разных серверах (не связанных). Используется MongoDB. Если я руками перегоню базу в новый формат на одном сервере, и обновлю приложение, на версию, которое работает с новой структурой БД, это одно дело. Но если к примеру всего 100 серверов? В моём понимании, в данном кейсе нужна версионность.
Если что, это не про приложение, которое планируется реализовать, а просто пример.
тут у меня возникает вопрос, почему ваши 100 нод приложения не работают с репликасетом монги или шардом, а каждая нода использует отдельное подключение к БД?
Egor
Nikita
Egor
Egor
Dmitriy
например финансовая отчетность по мсфо
yopp
yopp
На «слухи»
Egor
например финансовая отчетность по мсфо
ну типа в другую бд это все с помощью оплога монги выгружать и норм вроде как получается
они что ли каждую секунду генерятся эти отчеты что нужно прям с моногой аггрегировать
yopp
Dmitriy
yopp
Есть фундаментальное правило очередности создания чего угодно, от скрепки и хелловорлдов до заводов и аналитических бэкендов: make it work, make it right, make it scale
yopp
«100 серверов» это из make it scale. Это последний этап, когда у вас уже есть
а) работающая
2) корректно решенная бизнес-задача
Egor
yopp
🤦♂️
Egor
👆
это была шутка, конечно проще всего сделать UNLOGGED таблицу и перф на запись улучишиться раз в 10, с некоторыми поправкками кхм 😏
Yuri
Всем привет, подскажите можно ли написать такой запрос:
есть поле date.
Хочу сделать выборку всех записей у которых date+ nMillis меньше заданной даты
Nikita
Dmitriy
Nikita
"писать свою структуру в любую коллекцию по своему усмотрению в любой момент"
Dmitriy
"писать свою структуру в любую коллекцию по своему усмотрению в любой момент"
На практике такого не бывает, т.к. вы четко должны понимать какую логическую единицу обслуживает ваша таблица (коллекция в контексте монго)
Но т.к. в монго нет схемы данных вы в любой момент можете добавить в существующую коллекцию новые поля и они будут автоматически вставлены (а список полей коллекции расширен) при операции вставки или обновления (с удалением несколько сложнее, т.к. поле то удалится, но нельзя забывать об операции перестройки индекса)
Nikita
Dmitriy
Т.е. полностью удалить у всех документов
Aleksandr
Aleksandr
удлалит поле fieldName из всех документов collection
Nikita