
Nikolay
16.02.2017
15:35:04
в каком месте?)
ну почитай хоть про релизы, начиная с 9.4, и не задавай таких вопросов

Stanislav
16.02.2017
15:35:14

Nikolay
16.02.2017
15:35:18

Роман
16.02.2017
15:35:41
для key-value hashstore не лучше будет?

Google

Nikolay
16.02.2017
15:35:51

Роман
16.02.2017
15:36:01
а, ну так-то да

Евгений
16.02.2017
15:36:18

Nikolay
16.02.2017
15:36:39
короче, если надо крутой поиск - бери Elasticsearch, он хороший. Если надо более четкие индексы и фильтрацию хитрую по JSON-полям документов - то postgresql

Евгений
16.02.2017
15:37:14
хоть голый sql делай
запарился

Nikolay
16.02.2017
15:37:25
в остальных случаях уже тонкости, иногда и какая-нибудь cassandra заходит отлично

Stanislav
16.02.2017
15:37:37
на самом деле я понял что я не так ненвижу монгу как ненавижу именно нереляционки. стоит один раз запихнуть в любую бд жсон и сразу возникают миллиарды проблем. трекинг изменений, миграции, прикручивание схемы. случаи где один раз засунул какашку и надо лезть чинить

Nikolay
16.02.2017
15:37:44
а монгу не бери, это реально какашка

Eugene
16.02.2017
15:38:11

Stanislav
16.02.2017
15:38:28
это потому что нет назначения
оно тупо трудоёмко и всё

Google

Eugene
16.02.2017
15:39:02
это просто не решает твои задачи, вот и все

Nikolay
16.02.2017
15:39:06

Маришка
16.02.2017
15:39:24
@Enchantner Что то да и изменила но, я думаю это не сработает...
https://github.com/Marina-chan/telegram_poster_bot/blob/master/bot/main.py

Nikolay
16.02.2017
15:39:30
задача key-value - охренительно скейлиться, чего не умеют реляционки
но это переносит всю говнологику на уровень приложения

Eugene
16.02.2017
15:40:35
@yui_meow а ботов с вебхуками писать уже не модно?

Stanislav
16.02.2017
15:40:38
опять же, зависит от задачи
не зависит оно от задачи.
алхимию нельзя научить детектить что жсон поле изменили,
от использования схемалесс в разы возрастает логика обработки на аппликации

Nikolay
16.02.2017
15:41:01

Stanislav
16.02.2017
15:41:08
это просто данность с которой нужно мириться если у тебя прямо очень подходит задача

Маришка
16.02.2017
15:41:09

Eldar
16.02.2017
15:41:18

Stanislav
16.02.2017
15:41:25

Eugene
16.02.2017
15:41:26

Nikolay
16.02.2017
15:41:29

Маришка
16.02.2017
15:41:42

Nikolay
16.02.2017
15:41:44
но это - редкий кейс
если ты в него упираешься - то ты неправильно юзаешь базу

Eldar
16.02.2017
15:42:22

Nikolay
16.02.2017
15:43:25
ящетаю, key-value база должна решать две вещи

Google

Nikolay
16.02.2017
15:43:49
быструю вставку-чтение и правильную работу со schemaless без выпадения в трейсбеки

Stanislav
16.02.2017
15:44:14

Nikolay
16.02.2017
15:44:32

Stanislav
16.02.2017
15:44:33
к тому же сейчас не упираюсь не упираюсь а потом хуяк уперся

Nikolay
16.02.2017
15:44:36
у тебя не реляционка

Stanislav
16.02.2017
15:44:57
у меня моделька в реляционке у которой есть жсонное поле с аттрибутами

Nikolay
16.02.2017
15:45:14
постгря?

Stanislav
16.02.2017
15:45:33
да
вобщем там на самом деле много боли
зеку пришлось хорошо поебаться чтобы всунуть жсон

Nikolay
16.02.2017
15:46:25
ну, ты просто в одной табличке смешал две концепции и паришься теперь

Stanislav
16.02.2017
15:46:27
и у постгри смешные поведения на сложных запросах

Nikolay
16.02.2017
15:47:05
я просто к чему веду - не должно быть в архитектуре миграции структуры json в идеале
потому что это другой тип хранилища вообще

Stanislav
16.02.2017
15:47:55
в тебе говорит монго адепт )
миграции есть всегда это базис вообще

Nikolay
16.02.2017
15:48:40
слушай, при всей моей нелюбви к монге, мапредьюс джоба с дата-локалити - это правильный способ делать массовые изменения в key-value хранилище

Stanislav
16.02.2017
15:48:56
на фронтенде чуть табличку подверстали и вместо инта шлется строка, всё пиздец нужна миграция

Nikolay
16.02.2017
15:49:05
key-value работает не так

Google

Stanislav
16.02.2017
15:49:18

Nikolay
16.02.2017
15:49:36
но редким

Stanislav
16.02.2017
15:50:09
ничего не знаю. схема меняется, старые данные под новую схему обновляются => миграция

Nikolay
16.02.2017
15:50:31
нету схемы в key-value хранилищах в общем случае
что бы там ни обновилось - это проблемы твоего уровня приложения
если прям совсем критичное изменение и надо срочно заапдейтить все записи - тогда да, мапредьюс
но это редкий случай
key-value должен быть максимально простым, в этом его суть
миграциям в этой архитектуре места нет по сути

Admin
ERROR: S client not available

Stanislav
16.02.2017
15:52:03

Nikolay
16.02.2017
15:52:40

Stanislav
16.02.2017
15:52:44
еще раз - ты ожидаешь от базы данных. твои юзеры ожидают от базы данные

Nikolay
16.02.2017
15:53:03
каким боком тут вдруг схема появилась?

Stanislav
16.02.2017
15:53:20
и данные в базе должны соответствовать хоть немножко этим ожиданиям
ожидания = схема

Nikolay
16.02.2017
15:53:28
данные в key-value - это блоб по сути, все

Google

Nikolay
16.02.2017
15:53:46
иногда его можно немножко кверить, но в целом это блоб

Stanislav
16.02.2017
15:53:49
т.е. читаем рандом и пытаемся интерпретировать его как мы хотим ?

Nikolay
16.02.2017
15:54:11
и правильный способ в нем что-то поменять (хотя этого делать особо не надо) - это писать мапредьюс

Stanislav
16.02.2017
15:54:14
это блоб на уровне хранения а на уровне аппликации мы ожидаем его распарсить

Nikolay
16.02.2017
15:54:23
и мы о нем даже там знаем только то, что это json и что в нем есть пара таких и таких полей. но тут и смысл schemaless - тебе не надо об этом думать вообще
не надо миграции писать

Stanislav
16.02.2017
15:55:30

Nikolay
16.02.2017
15:55:49

Stanislav
16.02.2017
15:55:59
а не надо более общим

Nikolay
16.02.2017
15:56:01
миграция - это что-то из мира реляционок

Stanislav
16.02.2017
15:56:11
у более общего нет смысла

Nikolay
16.02.2017
15:56:26
отнюдь

Stanislav
16.02.2017
15:57:08
/thread

Nikolay
16.02.2017
15:57:14
когда ты говоришь о большом распределенном key-value хранилище - там нет и не может быть никаких миграций

Aragaer
16.02.2017
15:57:32
есть миграция, когда schemaless хранило данные в одном формате, а теперь хранит в новом, а мы не хотим в коде иметь преобразование из старого в новый или наоборот

Nikolay
16.02.2017
15:57:37

Aragaer
16.02.2017
15:57:45
в key-value может поменяться принцип именования ключей

Nikolay
16.02.2017
15:58:06

Stanislav
16.02.2017
15:58:07
>а мы не хотим в коде иметь преобразование из старого в новый или наоборо
но мы всёравно вынуждены это делать алё

Nikolay
16.02.2017
15:58:14
короче говоря, мапредьюс и все такое

Stanislav
16.02.2017
15:58:22