@ru_python

Страница 2239 из 9768
Nikolay
16.02.2017
16:15:45
уважаемые знатоки

вопрос - это миграция или нет?

Stanislav
16.02.2017
16:15:56
key-value ваще пофиг что ты в нее пихаешь
диску похуй что ты в него пишешь процессору похуй что ему считать. какой толк об этом говорить ?

Google
Aragaer
16.02.2017
16:16:35
а почему условие "только если а нечетное"?

Nikolay
16.02.2017
16:16:45
а почему условие "только если а нечетное"?
а вот так захотелось, задача так стоит

Stanislav
16.02.2017
16:16:47
ну ты сам сказал - не похуй бизнеслогике. зачем говорить о том кому похуй я не понимаю

Nikolay
16.02.2017
16:17:04
можно это условие убрать, тогда две записи поменяются - вторая и третья

но не все

Stanislav
16.02.2017
16:17:11
ну тоесть переносим схему на бизнеслогику. у нас теперь пропадает схема или что ?

Aragaer
16.02.2017
16:17:18
посчитать и записать в базу можно как угодно. В базе сохраняется вариант объекта без поля с, значит миграции нет

Nikolay
16.02.2017
16:17:26
вот ты и понял все

Aragaer
16.02.2017
16:17:34
мы продолжаем поддерживать обе схемы

миграция, как я ее понимаю, нужна для того, чтобы больше не иметь дела со старыми схемами

Nikolay
16.02.2017
16:18:06
Stanislav
16.02.2017
16:18:11
разумеется, на уровне базы - пропадает
это ты не понял. мы просто понятие базы поднимаем до уровня бизнес логики

Google
Nikolay
16.02.2017
16:18:15
мутабельная она или основана на теймстемпах

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

Nikolay
16.02.2017
16:19:18
ты в коде у себя можешь обмазаться чем угодно, но миграции в key-value от этого не появятся, если ты руками не приведешь архитектуру к этому виду

вот и вывод - миграции по дефолту в key-value не нужны, а какую бизнес-логику ты поверх накрутишь - это уже вопрос к тебе самому

Stanislav
16.02.2017
16:20:42
тогда это не базой уже называется
только это и называется базой т.к. это инфраструктура которая охраняет данные непротиворечивыми и дает доступ к ними работать

Aragaer
16.02.2017
16:20:52
если я в key-value храню жсон блобы, то от того, что я один раз пройдусь, поменяв все блобы в новый формат, хуже не станет

Stanislav
16.02.2017
16:21:15
данные у меня лежат на харде

Nikolay
16.02.2017
16:21:15
а в коде у тебя бизнес-логика поверх этих данных

Stanislav
16.02.2017
16:21:47
поверх харда есть слои

Nikolay
16.02.2017
16:21:54
данные у меня лежат на харде
ну да, но ты же не будешь по этому поводу задвигать, что ФС не нужны

Stanislav
16.02.2017
16:21:55
которые эти данные дрочат

Nikolay
16.02.2017
16:22:01
потому что они не умеют в схему данных

Stanislav
16.02.2017
16:22:08
они то умеют

Nikolay
16.02.2017
16:22:15
они то умеют
хаха. нет

Eldar
16.02.2017
16:22:25
они то умеют
вот тут точно пиздеж

Stanislav
16.02.2017
16:22:34
просто схема там про иноды и файлики

Google
Nikolay
16.02.2017
16:22:36
вот мы тебя и поймали

Stanislav
16.02.2017
16:22:41
т.е. про доступ до блобов

Nikolay
16.02.2017
16:23:00
просто схема там про иноды и файлики
ну вот и в key-value схема тогда, по твоей логике - ключи и блобы

Eldar
16.02.2017
16:23:00
мета данные не есть схема

Nikolay
16.02.2017
16:23:06
только это не схема, а метаданные

в общем, ты хочешь от key-value того, чего там не должно быть архитектурно вообще никак

Stanislav
16.02.2017
16:23:59
ну извне в фс конечно не схема

Nikolay
16.02.2017
16:24:04
можешь написать руками, а можешь не писать и жить спокойно

Stanislav
16.02.2017
16:25:15
да, признаюсь я понял этот прием. я понял по какому праву монгорачье говорит про отсутствие схем и миграций

но это бессмысленно для практики

Nikolay
16.02.2017
16:26:14
никаких миграций на скейле не может быть в принципе, потому что ты не должен останавливать продакшен на сотне нод, чтобы добавить поле одно в базу

Stanislav
16.02.2017
16:26:27
нет я не про скейл

Nikolay
16.02.2017
16:26:33
или можешь, но что-нибудь сломается по дороге

нет я не про скейл
ну так key-value ценен именно в контексте скейла

Eldar
16.02.2017
16:26:44
ну извне в фс конечно не схема
а теперь фс замени на key-value

Stanislav
16.02.2017
16:27:10
ну в этом и проблема

Eldar
16.02.2017
16:27:21
там тоже самое получается key= inode а блоб - это value

и эту фигню ты не можешь никак изменить

Google
Nikolay
16.02.2017
16:28:12
ну в этом и проблема
в этом решение - мы уходим от реляционного ада и всяких “миграций” и просто пишем бизнес-логику

Eldar
16.02.2017
16:28:18
а схемы менять можнааа

Stanislav
16.02.2017
16:28:34
вы почему то считаете что переместив всю логику в аппликацию вы с чистой совестью можете просто расчленить систему на "о бля вот у нас кейвалуе с блобами а что в блобах нас не ебёт"

Eldar
16.02.2017
16:29:09
ну потому что получается уже новая бд, которая не key-value

Nikolay
16.02.2017
16:29:13
хорошо. понятие миграции для бизнеслогики ты тоже отрицаешь ?
я же выше писал - ты можешь реализовать бизнес-логику таким образом поверх key-value, что у тебя будут классические миграции. Но это - замшелая практика, которая на большом скейле не работает и в общем случае не нужна

а монго - говно на очень большую долю как раз потому, что этого не понимает

Stanislav
16.02.2017
16:30:38
если классические то миграции. а если неоклассические то не миграции )

Nikolay
16.02.2017
16:30:45
не умеет скейлиться и нарушает zero-one-infinity правииило

Admin
ERROR: S client not available

Nikolay
16.02.2017
16:31:11
если классические то миграции. а если неоклассические то не миграции )
напиши мне свое определение “миграции базы данных”

Stanislav
16.02.2017
16:32:26
вот хорошее определение

мы продолжаем поддерживать обе схемы

миграция, как я ее понимаю, нужна для того, чтобы больше не иметь дела со старыми схемами

но надо определить что такое схема. этим я сейчас займусь

Nikolay
16.02.2017
16:32:51
это определение имеет смысл только в контексте, если есть схема

а тут ее нет вообще

Stanislav
16.02.2017
16:33:00
да, а схема есть всегда

Nikolay
16.02.2017
16:33:04
нет

Google
Stanislav
16.02.2017
16:33:13
ну давай я определю

Nikolay
16.02.2017
16:33:21
я тебе выше написал - вот у тебя key-value, у каждого документа своя, независимая структура

Stanislav
16.02.2017
16:33:34
ну давай я напишу сначала

Nikolay
16.02.2017
16:33:37
там нет никакой схемы, есть просто куча json-документов

Eldar
16.02.2017
16:34:12
ну по идее схема - это описание структуры единицы данных

Eldar
16.02.2017
16:34:31
ок

он слился чтоль?

Nikolay
16.02.2017
16:38:55
думает, видимо

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

например, представим себе стартап - “умный гитхаб”. Хранится не сам код, а AST по каждому файлу с кодом, то есть дерево синтаксиса, чтобы код было легко анализировать. И лежит это все в каком-нибудь хранилище типа Elasticsearch. Так вот - есть документы, есть у них ключи-айдишники и есть таймстемп их добавления в базу

схемы нет и не может быть в принципе, потому что каждый документ - результат парсинга AST. Ты можешь сделать запрос, чтобы узнать, например, в каких документах используется оператор goto или какие документы не соответствуют pep8

и миграций тут тоже, соответственно, быть никаких не может в принципе

Eldar
16.02.2017
16:50:18
не ну точно слился

может быть даже осознал свою ошибку и сделал себе сэппуку

Stanislav
16.02.2017
16:53:19
схема это тип тип это информация о том то что мы пишем и то что мы хотим получить читая ну очевидно говорить про "схему вообще" не имеет никакого смысла потому что работа с данными идёт снизу вверх и идет постоянно. т.е. если мы работаем на уровне фс то мы имеем дело с инодами, конкретными форматами и нам не похуй какая у них схема. если мы поднимаемся на уровень выше то нам похуй на структуру данных в которой хранится таблица файликов мы просто имеем интерфейс уровня открыть файл, прочитать/записать байты, и файлу похуй что в этих байтах хранится, для него это байты теперь идём дальше - есть кейвалуе с жсоном. самому кейвалуе похуй что находится в жсоне, он просто знает что это жсон. может ла ним быть похуй какая схема у системы в целом ? может, но по отношению к юзеру у неё всёравно будет схема в виде формочек потому что сука данные без знания о том как их интерпретировать это шум. Так что понятие схемы раскрывается том уровне на котором мы рабоаем с данными. а на каком уровне с данными работает кодерок ? почему монгомразь говорит что реляционке не похуй какая схема ? потому что кодерок делегирует реляционке делать некоторую работу по поддержанию непротиворечивости данных самой бд. и до какого то момента абстракции надо информацией становятся текучими и то что монгомразь отрицает как "схему бд" но упорно делает в аппликации запрашивая из жсона поля, имена которых она ожидаем там увидеть это тоже схема, просто на уровне аппликации, и это законно является схемой потому что кодерок с ней ебётся большую часть времени

Eldar
16.02.2017
16:54:25
схема это тип кажется ты путаешь схему с доменом

Nikolay
16.02.2017
16:55:42
ты почти все правильно написал, за исключениием того, что в случае key-value понятие “схемы” либо вообще не существует, либо существует только внутри твоей бизнес-логики, если тебе так удобно.

Stanislav
16.02.2017
16:56:05
>ибо существует только внутри твоей бизнес-логики, я это и написал

Nikolay
16.02.2017
16:57:15
а то, что кто-то ожидает из базы определенные поля увидеть - это лишь значит, что у него либо есть общая спека, подкрепленная бизнес-логикой (+ он делает проверки на ошибки в коде), либо он упорот и таких нельзя пускать писать код

ну работаешь на уровне аста - имеешь схему определяющуюся астом. поднимаешься выше/ниже значит схему идеем другую. в тех понятиях которые я описал не противоречиво
ну так это не схема же уже, это просто какая-то абстрактная херня. Можно AST заменить на file.bmp и реализовать в коде поиск по картинкам

Страница 2239 из 9768