
Oleg
14.06.2016
12:03:24
ой
start foo
call func
42
end foo
start foo
end foo
call func
start bar
42
end bar
call func
start bar
end bar

Dmitry
14.06.2016
12:04:38
ага, я тоже уже скомпилил его)

Oleg
14.06.2016
12:05:14
если аргумент помечен как ленивый, он вычисляться будет только в случае, если он будет нужен

Google

Oleg
14.06.2016
12:05:33
второй вызов foo
print == false поэтому внутри foo обращения к val не происходит
и аргумент val не вычисляется
кто-нибудь юзал mongodb?
не совсем понятно что это за зверь и подходит ли он для решения задач, которые обычно решаются реляционными БД

Pavel
15.06.2016
07:35:32
Нет не подходит, даже не думай брать это убожество

Oleg
15.06.2016
07:35:50
почему?
мне показалось интересным отсутствие единой структуры для коллекции (таблицы)
в чём основные различия, какую задачу можно решить обычной базой и не решить с помощью mongo?

Pavel
15.06.2016
07:41:12
https://engineering.meteor.com/mongodb-queries-dont-always-return-all-matching-documents-654b6594a827#.z6l6fqs87
В гугле полно аналогичных статей.
Транзакционности нету, foreign keys тоже

Google

Oleg
15.06.2016
07:42:55
а вот эти понятия уже мне мало о чём говорят

Pavel
15.06.2016
07:43:28
Монго хорошо подходит если тебе нужно очень много писать/читать однородных данных, вроде всяких метрик и логов
И часть данных не жалко потерять
Т.е. документов, которые не связаны реляцией между собой. Тогда монга показывает хорошую производительность и горизонтальную масштабируемость.
Если же у тебя сложные структурированные данные, связанные между собой, и есть конкурентный доступ на чтение/запись - то монга будет убийственна.

Oleg
15.06.2016
07:45:54
конкурентный доступ к записи или к таблице (или вообще к базе)?

Pavel
15.06.2016
07:46:28
Когда сразу несколько клиентов читают и записывают одни и те же данные.
В одной и той же ячейке грубо говоря.

Eto
15.06.2016
07:47:14

Oleg
15.06.2016
07:47:21
так, хорошо...
на этом всё?)

Pavel
15.06.2016
07:48:07
Ну нет не все, можно бесконечно расписывать преимущества postgres :D

Oleg
15.06.2016
07:48:40
у меня задача достаточно специфичная, пока mongodb вписывается в рамки
ну +/-
не хотелось бы наткнуться на какой-то подводный камень мощьный где-нибудь на втором месяце разработки

Eto
15.06.2016
07:50:09

Pavel
15.06.2016
07:51:20
http://digbigdata.com/wp-content/uploads/2013/05/media_httpfarm5static_mevIk.png
Картинка для помощи в выборе
https://www.quora.com/Which-companies-have-moved-away-from-MongoDB-and-why
http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/

Google

Pavel
15.06.2016
07:57:25
Что характерно, таких же плохих отзывов про постгрес не получается найти так просто https://www.quora.com/Which-companies-have-moved-away-from-PostgreSQL-and-why )

Oleg
15.06.2016
08:10:49
ничего против postgres не имею, мельком читал, старая и отлаженная реляционная база с некоторыми плюшками
а вот mongo это что-то новое и не до конца доделанное видимо

Pavel
15.06.2016
08:23:25
Ну по сравнению с постгресом новое конечно

Oleg
15.06.2016
08:27:16
просто, как я понимаю, при выборе mongo уже не те подходы должны использоваться для проектирования БД
учитывая наличие встроенных массивов вообще решает

Pavel
15.06.2016
08:33:47
встроенные массивы и json есть и в постгресе уже пару лет :)

Oleg
15.06.2016
19:16:23
а у redis теже проблемы? теряются записи, глючит при высокой нагрузке и тд?

Pavel
15.06.2016
19:21:25
Нет
Смотря что понимать под глючит. При определенных нагрузках у него тоже начинают отваливаться коннекты, но это десятки тысяч запросов в секунду
У редиса начинаются проблемы если данные целиком не влазят в оперативку

Oleg
15.06.2016
19:29:51
прихожу к выводу, что оптимальным решением будет использовать все 3
postgres для важных, структурированных данных
mongo для записи результатов запросов к api (внешнему)
redis для каких-то быстрых мелочей, типа кеша обработки и тд

Dmitry
15.06.2016
19:59:44
Я юзал arangodb

Oleg
15.06.2016
20:00:53
@DmitryBubnenkov на D или вообще?

Dmitry
15.06.2016
20:01:00
Из минусов очень драйверов для ди не хватает. А юзать по хттп ужос
Для разношерстных данных очень даже удобна. Некоторые вещи в реляционную бд ну никак не вписываются
На ди
У меня онлайн тест на json основан
И я там все хранил

Google

Oleg
15.06.2016
20:01:40
а разница между этим и mongodb?

Dmitry
15.06.2016
20:02:03
Там есть удобный язык встроенных запросов на мотив sql
По коллекциям удобно ходить с ним

Oleg
15.06.2016
20:02:32
язык не важен...

Dmitry
15.06.2016
20:03:10
Геоданные умеет. К примеру близость объектов и тд. Но это я тока буду юзать

Oleg
15.06.2016
20:03:22
mongo тоже умеет

Dmitry
15.06.2016
20:03:25
Пока тока игрался
Графы умеет
По хттп работает
Весит меньше

Oleg
15.06.2016
20:04:35
что весит меньше?
база с теми же данными?

Dmitry
15.06.2016
20:04:58
Сама БД. Из минусов под виндой пару раз сама в оффлайн уходила
Дистрибутив

Oleg
15.06.2016
20:05:22
ну это вообще не критерий
если разница на 100 порядков, то это, конечно важно

Dmitry
15.06.2016
20:06:05
Мне в идеале нужна субд вообще без установки для ди. Нереляционная
К сожалению ничего внятного пока нет

Oleg
15.06.2016
20:06:45
не могу понять как вообще пал выбор на эту базу, если есть mongo

Dmitry
15.06.2016
20:06:45
Мне геоданные нужно хранить. Пока думаю над архитектурой

Google

Oleg
15.06.2016
20:07:21
геоданные умеет (хотя мне кажется совсем лишняя фича для бд)

Dmitry
15.06.2016
20:07:27
Просто мне было удобнее тесты проводить прямо с json. Без его перевода в bson

Oleg
15.06.2016
20:07:30
из установки я только архив распаковал

Dmitry
15.06.2016
20:07:41
Мне жта фича дико нужна

Oleg
15.06.2016
20:08:02
ещё раз повторю mongo умеет геоданные)))

Dmitry
15.06.2016
20:08:04
Без геоданных мне БД не подходят
Ну вот как нить ее изучу тоже
Мне близость между объектами надо считать
И тд

Oleg
15.06.2016
20:09:10
может я не в теме, но это звучит, как "база без возможности брать sin от комплексного числа мне не подходит"

Dmitry
15.06.2016
20:09:32
Ну у меня вся работа с пространственными БД

Oleg
15.06.2016
20:09:41
???
пространственные БД это, кажется немного другое

Dmitry
15.06.2016
20:09:59
Ну геоданные одни. Geojson

Oleg
15.06.2016
20:10:08
ну и что?)))

Dmitry
15.06.2016
20:10:21
А куда их пихать то?

Oleg
15.06.2016
20:10:25
расстояние это 2 числа перемножить и сложить
всмысле куда?)
поле X: float, и Y:float

Dmitry
15.06.2016
20:10:46
Ну расстреляние оно на глобусе

Oleg
15.06.2016
20:10:58
да ладно?

Dmitry
15.06.2016
20:10:59
Долготы и широты