Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   ........... OrientDB ........... (https://javascript.ru/forum/offtopic/53202-orientdb.html)

kobezzza 26.03.2015 16:53

Цитата:

Сообщение от Gozar (Сообщение 363376)
Кстати ты не в курсе, как бы лучше по тегам базу построить?

Зависит от организации тегов. Если как в Amazon-е анализируется статистика и показывается реклама в зависимости от неё, то самое оптимальное использовать граф (тем более в Ориент он из коробки), а если простая система тегов аля твиттер, то простая коллекция с хеш-индексом.

Цитата:

Сообщение от Gozar (Сообщение 363376)
Типа как на youtube

Однозначно граф.

Gozar 26.03.2015 16:55

kobezzza,
Цитата:

Тормоза только при создании(добавлении нового тэга и связывании документа с тегами через грани), дальше выборка должна быть быстрой
Выше написал, ты успел перелистнуть.

kobezzza 26.03.2015 16:55

Цитата:

Сообщение от Gozar (Сообщение 363378)
Наверное стоит создать одну таблицу тегов, а от документа кинуть на них грани? Тормоза только при создании(добавлении нового тэга и связывании документа с тегами через грани), дальше выборка должна быть быстрой :)

Да, норм.

Gozar 26.03.2015 16:57

Ещё раз спасибо за пояснения, мне работать пора :D

kobezzza 26.03.2015 16:59

Цитата:

Сообщение от Gozar (Сообщение 363387)
Ещё раз спасибо за пояснения, мне работать пора :D

Нез, обращайся :)

Zend 27.03.2015 20:50

Цитата:

.query('update (select expand( in() ) from Test where @rid = ' + gid + ') set status = 1')
мне всё больше начинает нравиться. на мой вкус это очень удобно


вау, можно писать свой функции
.query('update (select expand( in() ) from Test where @rid = ' + gid + ') set status = testFn(outcome)')

Gozar 03.04.2015 20:32

Цитата:

Сообщение от Zend
вау, можно писать

Хочу добавить своё WOW!

OrientDB рвёт MySQL как грелку :D Страшные JOIN-ы превращаются в приятные выборки, там где 9 строчные mysql запросы превращаются в понятные 3 строчные. Хочу забыть мускул как страшный сон.

Gozar 04.04.2015 10:36

Цитата:

Сообщение от kobezzza
Вручную никогда нельзя делать автоинкремент.

Честно говоря если для получения нового значения нужно создать транзакцию update+select, то никак по другому как ручной, такой автоинкремент не назвать. Другого же способа создать autoincrement я не нашёл. Возможно в будущем добавят функцию, что очень желательно, но пока только связка вручную (транзакцию update+select).

kobezzza 04.04.2015 10:48

Цитата:

Сообщение от Gozar (Сообщение 364915)
Честно говоря если для получения нового значения нужно создать транзакцию update+select, то никак по другому как ручной, такой автоинкремент не назвать. Другого же способа создать autoincrement я не нашёл. Возможно в будущем добавят функцию, что очень желательно, но пока только связка вручную (транзакцию update+select).

В многих NOSQL СУБД есть для таких задач selectAndUpdate / selectAndRemove, в Orient такого нет? Просто транзакции это из пушки по воробьям в таком кейзе и сильно ударит по производительности запроса.

kobezzza 04.04.2015 10:54

http://www.orientechnologies.com/doc...l#sql---update

Смотреть return :)


Часовой пояс GMT +3, время: 02:46.