@ru_python

Страница 1101 из 9768
Sergey
23.06.2016
07:09:06
даже если бы это был не пайтон чат, я бы предположил что ты юзаешь пробелы вместо табов
Если бы это не был Python чат, то я бы предположил, что ты не следуешь pep8 и используешь табы вместо пробелов.

abc
23.06.2016
07:14:50
если использовать ObjectID от MongoDB тогда и писать нужно в MongoDB

Google
abc
23.06.2016
07:15:16
Ведь MongoDB гарантирует уникальность ObjectID в пределах активной БД

abc
23.06.2016
07:16:47
проще тогда считать SHA256 хеш от какого то значения из сохраняемых данных ( при условии что они неизменяемые) и добавлять стандартный ид от постгреса

Cykooz
23.06.2016
07:17:00
Ведь MongoDB гарантирует уникальность ObjectID в пределах активной БД
Монга гарантирует это обычным использование уникального индекса. А сам ObejctID можно сгенерировать в питоне. В документации можно даже найти описание из чего он строится и примерно оценить вероятность коллизий.

Vadim
23.06.2016
07:17:07
если использовать ObjectID от MongoDB тогда и писать нужно в MongoDB
завести монго только для хранение юзеров? она уже научилась без танцев не терять данные кстати?

abc
23.06.2016
07:17:55
чтобы монга не теряла данные ееж надо в кластере использовать с репликой. один инстанс монги это сам себе буратино

Sergey
23.06.2016
07:17:57
Ведь MongoDB гарантирует уникальность ObjectID в пределах активной БД
Я вот не уверен, в доках по монге это не написано. ObjectId(<hexadecimal>)¶ Returns a new ObjectId value. The 12-byte ObjectId value consists of: a 4-byte value representing the seconds since the Unix epoch,a 3-byte machine identifier,a 2-byte process id, anda 3-byte counter, starting with a random value.

Vadim
23.06.2016
07:18:02
точенй посетителей, а не совсем юзеров

abc
23.06.2016
07:18:09
но в 90% случаев монга не нужна это да. просто хайп и модно

я сейчас активно использую RethinkDB как замену MongoDB, там плющек больше язык запросов более широкий, и одни только changefeed чего стоят

H
23.06.2016
07:19:33
а когда она теряет данные? я за джва года не сталкивался ни разу

при интерте или апдейте? есть ли issue?

abc
23.06.2016
07:20:28
я слышал но у меня тоже не было. наверное такое бывает если диск у монги закончился. она же практически ничего не говорит когда так

Google
abc
23.06.2016
07:20:47
или при резком шатдаун. а синк на диск еще не успел пройти

H
23.06.2016
07:20:48
лол, диск закончился

текстовые файлы тоже теряют данные!

H
23.06.2016
07:21:20
я с монги перехожу на постгрес 9.5 сейчас

abc
23.06.2016
07:21:33
в версии монги 2, журнал включался опционально вроде.. чтобы инсерты быстрее шли его отключали

Cykooz
23.06.2016
07:21:37
H
23.06.2016
07:21:55
тоже буду обьекты хранить, но постгрес 9.5 чета совсем клевый

Sergey
23.06.2016
07:22:03
Я тоже много слышал, что монга данные теряет, но так никто из так, кто это говорит, никаких примеров не смог привести.

abc
23.06.2016
07:22:11
вот бы постгрес научился масштабироваться горизонтально как монга, было бы вообще хорошо. но пока он только вертикально может

основная причина использования монги если убрать весь хайп, это легкое масштабирование. воткнул еще одну ноду и все

H
23.06.2016
07:23:08
не знаю, не знаю

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

по 10 раз меняю структуру в неделю

abc
23.06.2016
07:23:42
ну и в много есть GridFS я ее активно использую. потому как не надо думать как размазывать файлы по серверам, за тебя это делает GridFS

Sergey
23.06.2016
07:23:45
тоже буду обьекты хранить, но постгрес 9.5 чета совсем клевый
Он уже научился строить уникальный индекс по json/array полям?

H
23.06.2016
07:24:00
теперь когда в проде, можно и схему сделать для релейшенов, но чет лень

Cykooz
23.06.2016
07:24:06
У меня были реальные примеры корапта данных в монге, но они были из-за того, что в монге нет транзакций, а все нужные данные нельзя было сохранить/обновить за один запрос к только одному документу.

H
23.06.2016
07:24:26
abc
23.06.2016
07:24:40
там как бы есть "шутливые" транзакции в пределах одного документа)))

Google
Sergey
23.06.2016
07:24:52
вроде как я видел что-то такое
9.4 точно не умел, в итоге после месяца тестов мы решили ехать на монгу.

abc
23.06.2016
07:24:59
в общем если джоины не нужны то можно и в монгу

но например у меня есть проект бухгалтерии, и я низачто не буду переводить его на монгу) только транзакции только postgresql

Sergey
23.06.2016
07:26:27
Монга хороша своей нереляционнной природой. Там, где данные не реляционны, это даёт огромный профит по производительности из-за отсутствия join-ов

abc
23.06.2016
07:27:22
иногда очень трудно сразу же понять природу данных. монга и рефинк дб подходят круто если приходит какой то json мы пока не знаем че там, просто сохраним как есть. потом разберемся

Sergey
23.06.2016
07:27:24
Запросит поле из одного документа явно быстрее, чем сджойнить 10 табличек

abc
23.06.2016
07:27:51
но rethinkdb на голову выше монги по построению запросов просто как небо и земля

Cykooz
23.06.2016
07:28:00
в общем если джоины не нужны то можно и в монгу
Это слишком расплывчатое определение, не покрывающее всех кейсов. Я бы уточнил - если не нужна консистентность, все запросы будут не зависимы и допустимо выполнить первую чать запросов, а вторую часть запросов зафейлить.

abc
23.06.2016
07:28:20
ну да монго же не гарантирует ACID

Sergey
23.06.2016
07:28:36
А транзакции скорее всего будут, wired tiger их умеет.

Уже в 3.2 есть read concern

abc
23.06.2016
07:29:02
если будут транзакции то у монги будет проблема с репликами как я думаю

монга это же CAP больше

Sergey
23.06.2016
07:29:22
Не умеет
http://source.wiredtiger.com/2.4.1/transactions.html

abc
23.06.2016
07:29:45
если у постгреса убрать транзакции то он будет масштабироваться как монга)

H
23.06.2016
07:30:36
9.4 точно не умел, в итоге после месяца тестов мы решили ехать на монгу.
не, 9.4 не интересен, в 9.5 как раз добавили работу с обьектами, я ждал когда добавят редактирование полей, а не замена обьектов

Sergey
23.06.2016
07:30:40
если будут транзакции то у монги будет проблема с репликами как я думаю
С репликами или с шардами? Реплики-то тут причём?

abc
23.06.2016
07:30:57
да шарды верно ссори

Sergey
23.06.2016
07:31:18
Ну на шардах транзакции никак не сделать, это хоть где

Google
Sergey
23.06.2016
07:31:55
Ну или крайне сложно и с кучей ограничений

Cykooz
23.06.2016
07:32:12
http://source.wiredtiger.com/2.4.1/transactions.html
Хм, а можете подсказать ссылочку на применение всего этого отнсительно MongoDB? Я вот когда стал использовать 3.2 с WiredTiger так и не нашёл ничего про настоящие транзакции. Не нашёл ни какого описания как открыть транзакцию, закомитить или сделать ролбек.

Cykooz
23.06.2016
07:33:15
Зачем тогда этот WiredTiger без монги? Лучше уж тогда сразу PostgreSQL пользовать.

H
23.06.2016
07:34:54
не понимаю, зачем люди берут монгу и хотят там транзакции, база ведь не об этом...

abc
23.06.2016
07:36:39
привычка. большинство по привычке в монге пилит документы на коллекции и потом пытается их джоинить

Cykooz
23.06.2016
07:37:22
не понимаю, зачем люди берут монгу и хотят там транзакции, база ведь не об этом...
Это всё маркетинговый хайп, желание попробовать что то новое и модное, и вера в то что большая чать данных можно представить без связей, что можно всё запихачить в один документ.

abc
23.06.2016
07:37:27
я был свидетелем, как один проект выбрал монгу. хотя там вся структура отлично ложилась на РСУБД. ох какие танцы были когдда клиент захотел отчеты в разных разрезах...

Cykooz
23.06.2016
07:39:45
На монгу неплохо ложится кейс когда надо только вставлять данные, но не изменять их потом. Иначе сталкиваешься с необходимостью поддерживать "денормализованное" состояние документов (например поменял имя юзера, и надо его поменять во всех других документах, в которых оно есть)

Admin
ERROR: S client not available

abc
23.06.2016
07:40:37
да верно. и это реальная проблема, ошибка архитектора при выборе базы я бы сказал. за такое увольняют потом. потому что пойдут просто офигенные издержки

H
23.06.2016
07:41:08
ну вот у меня так и есть, надо только апдейтить поля, не связанные никак друг с другом, что довольно удобно

Cykooz
23.06.2016
07:41:37
Ну и правилльно выше писали, что единственный значимый плюс монги - это лёгкое шардирование из коробки. Больше особых плюсов нету.

H
23.06.2016
07:41:42
статью на хабре тут смотрю, ебать тут индекс у пострес

https://habrastorage.org/files/4c1/01d/d32/4c101dd32fe1465088bb16e40b505c58.png

полгига!

H
23.06.2016
07:42:04
юзает кто-то jsonb сейчас в постгресе?

Richard
23.06.2016
07:42:06
А отсутствие схемы?

Google
Richard
23.06.2016
07:42:18
И сколько должно быть данных чтобы потребовалось шардирование?

H
23.06.2016
07:42:37
отсутствие схемы - jsonb

H
23.06.2016
07:42:45
где угодно храни

Cykooz
23.06.2016
07:42:51
H
23.06.2016
07:42:57
https://habrahabr.ru/post/274313/

Sergey
23.06.2016
07:43:07
jsonb даже в 9.5 с ограничениями

H
23.06.2016
07:43:11
Мы юзаем
а сколько строк и сколько индекс весит?

Richard
23.06.2016
07:43:52
а сколько строк и сколько индекс весит?
Строк 24 миллиона, индекс — мы его не индексируем.

Мы используем json как и положено: для хранения безструктурных данных.

H
23.06.2016
07:44:21
без поиска вообще?

Cykooz
23.06.2016
07:44:23
статью на хабре тут смотрю, ебать тут индекс у пострес
Так то в постгре индексирование jsonb гораздо лучше чем в монге. В монге например нельзя запилить индекс на ключ. Можно только на значение.

Richard
23.06.2016
07:44:27
24 миллиона было полгода назад, сейчас под тридцатник уже, наверное.

H
23.06.2016
07:44:42
подтягиваешь объект по id?

abc
23.06.2016
07:45:32
и кстати. если все таки нужен NoSQL и джоины, то тогда лучше брать RethinkDB. там джоины между таблицами (а таблицы без структуры) из коробки

Richard
23.06.2016
07:45:40
без поиска вообще?
Ищем, но т.к. в json данные без структуры по всей таблице но по строке. Т.е. строки определённого типа содержат одинаковые записи. И вот когда ты все нужные строки отфильтровал там их так мало оказывается что дальше просто поиск по json нормально работает.

так, мой клиент не позволяет редактировать сообщения :/

Какой клиент под мак это позволяет?

H
23.06.2016
07:46:44
официальный?

Sergey
23.06.2016
07:46:51
Какой клиент под мак это позволяет?
Официальный не из аппстора

Richard
23.06.2016
07:47:15
Telegram? Не Telegram Desktop?

H
23.06.2016
07:47:21
т.е у вас там совсем каша в базе? просто у меня одинаковые обьекты, но различаются немного

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