[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.46842 Reply
File: Cw5XYlRVIAEmt6k.jpg
Jpg, 49.04 KB, 720×480 - Click the image to expand
edit Find source with google Find source with iqdb
Cw5XYlRVIAEmt6k.jpg
Эй, посоны. Я вот думаю заюзать Эластик в качестве основного хранилища. Это здравая идея или ну его на хуй?

Смотрю в его сторону, так как у нас планируется хранение едва ли не всех объектов OpenStreetMap и поиск по ним, а это охуеть как дохуя. Ну и ещё миллионы пользователей, ревью, лайков и т. д. Это оправдано или хватит обычного постгреса/монги?
>> No.46843 Reply
Постгрес лучше.
>> No.46844 Reply
>>46843
А если вот такая шняга:

Есть таблицы/коллекции/индексы, скажем, вот такие:

Пользователи:
* Кластер пользователей
* Трипы[]

Места:
* lat
* lon
* Кластер мест

Трипы:
* Участники[]

Кластеры пользователей:
* x
* y
* Кластер мест

Кластеры мест:
* x
* y

Кластеры пользователей и мест представляют собой интересы пользователя и места, которые удовлетворяют тем или иным интересам. Ну, это, вот это всё — результаты работы ещё не написанной нами карты Кохонена и ещё одной невероятной функции, которая принимает на вход координаты на плоскости пользователей и возвращает координаты на плоскости мест и наоборот.

И нам нужен запрос вроде:
Выбрать места, которые:
1. Находятся не дальше, чем на таком-то расстоянии от таких-то географических координат.
2. Находятся не дальше, чем на таком-то расстоянии от любой из точек на плоскости мест, соответствующих интересам любого из участников трипа (trip → participant.usersCluster.placesCluster).

Это одним SQL-запросом можно сделать? (Я в SQL неоче.) Если да, то как долго оно будет работать, учитывая, что на OpenStreetMap мест чуть более, чем пиздец как дохуя?
>> No.46845 Reply
>> No.46846 Reply
>>46845
Про эту штуку читал, ну и с миллиардами строк, я так понимаю, оно работать должно приемлемо шустро. Но это GPL, что не особо приемлемо. Ну и ещё интересно, как быстро в постгресе будут выполняться сложные запросы с аналитическими функциями на всех этих миллиардах строк?
>> No.46847 Reply
>>46846
I am releasing software that uses PostGIS, does that mean my software has to be licensed using the GPL like PostGIS? Will I have to publish all my code if I use PostGIS?

Almost certainly not. As an example, consider Oracle database running on Linux. Linux is GPL, Oracle is not, does Oracle running on Linux have to be distributed using the GPL? No. So your software can use a PostgreSQL/PostGIS database as much as it wants and be under any license you like.

The only exception would be if you made changes to the PostGIS source code, and distributed your changed version of PostGIS. In that case you would have to share the code of your changed PostGIS (but not the code of applications running on top of it). Even in this limited case, you would still only have to distribute source code to people you distributed binaries to. The GPL does not require that you publish your source code, only that you share it with people you give binaries to.
>> No.46848 Reply
Вообще если проект дохуя дорогой, с огромной клиентской базой, то лучше такие вопросы задавать highload-профессионалам, а не анонам с мелкой русскоязычной борды.
>> No.46849 Reply
>>46848
Так-то оно и будет, а пока что надо сделать прототип, чтобы найти инвесторов. И хотелось бы, чтобы прототип был не из говна и палок.
>> No.46850 Reply
>>46849
Прототипы всегда из говна и палок, например Twitter сначала был на RubyOnRails, потом стали на джаву и скалу переписывать.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]