Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   mongodb и frontend (https://javascript.ru/forum/offtopic/60113-mongodb-i-frontend.html)

kobezzza 17.12.2015 12:34

Цитата:

я с детства не занимаюсь гулянками и бабами) я ж не быдло, так что норм все
Я занимаюсь, но у меня в статусе и так написано, что я быдло кодер :)

Цитата:

When your application starts up, Mongoose automatically calls ensureIndex for each defined index in your schema. Mongoose will call ensureIndex for each index sequentially, and emit an 'index' event on the model when all the ensureIndex calls succeeded or when there was an error. While nice for development, it is recommended this behavior be disabled in production since index creation can cause a significant performance impact. Disable the behavior by setting the autoIndex option of your schema to false, or globally on the connection by setting the option config.autoIndex to false.
Не забудь на проде autoIndex выключить.

Цитата:

А как тебе квери билдер?
Ну, тут ничего особенного, но я бы предпочёл иметь SQL подобный язык запросов, как в OrientDB.

cyber 17.12.2015 13:52

Mаxmaxmаximus, слушай, а расскажи как ты парсер js писал, как он работает?

kobezzza 17.12.2015 14:23

Цитата:

Сообщение от cyber (Сообщение 400271)
слушай, а расскажи как ты парсер js писал, как он работает?

Библиотеки для работы с JS: парсинг, валидация, преобразование в AST и обратно в код:

esprima + estools;

babel (babylon);

acorn

Библиотеки для написания парсеров:

jison (аналог Bison, его использует CoffeeScript)

bison

***

Если интересует сам принцип парсинга - то это посимвольный обход строки и формирование последовательностей токенов (лексем), затем на основе лексем строится AST, в котором учитываются приоритеты операторов, уровни вложенности и т.д. Затем работа идёт с АСТ, а после всех преобразований из АСТ мы генерим нужный нам код (будь то js, байткод, LLVM и т.д.).

Хотя это примитивное описание, т.к. алгоритмов парсинга и построения AST существует несколько, например низходящий или восходящий и т.д. Для уточнения этих нюансов лучше читать специальную литературу :)

cyber 17.12.2015 14:25

Цитата:

Сообщение от kobezzza
. Для уточнения этих нюансов лучше читать специальную литературу

По советуешь что-то конкретное ?

kobezzza 17.12.2015 14:27

Цитата:

Сообщение от cyber (Сообщение 400276)
По советуешь что-то конкретное ?

http://rutracker.org/forum/viewtopic.php?t=2128977

cyber 17.12.2015 15:32

kobezzza, спасибо)

Mаxmaxmаximus 17.12.2015 21:40

Цитата:

Сообщение от kobezzza
OrientDB

Я знаю что графовые быстрее и все такое, они как реляционные но как документные в общем самы лучшие базы данных в мире) но я решил начать с монго типа как с популярной. Отлично что ты это посоветовал, ни что не мешает под капот потом её запихнуть. Блин а то что она на яве это же плохо? Да и вообще она умеет распределяться? В смысле на многих узлах работать как монго.

kobezzza 17.12.2015 23:47

Цитата:

Я знаю что графовые быстрее и все такое, они как реляционные но как документные в общем самы лучшие базы данных в мире)
Orient это графы + документо-ориентированная (как монга) - т.е. это комбинированная СУБД. Но вообще "лучших" баз не бывает и нормальный кейз, когда в проекте юзается 2-3 СУБД, например: PostgeSQL (основная субд) + Redis (для горячего кеша) + ElasticSearch (самый лучший полнотекстовый поиск) + Neo4J (графы).

Лучше всего масштабируются столбцовые базы, например, Cassandra от Facebook.

Почитай Фаулера NoSQL и многое станет более понятно.

Цитата:

Блин а то что она на яве это же плохо?
Половина топовых СУБД написаны на Яве. Не переживай.

Цитата:

Да и вообще она умеет распределяться? В смысле на многих узлах работать как монго.
Да, есть схожий с монго механизм из коробки. А вообще странный вопрос, ибо любую СУБД можно масштабировать (ну разве что с графами не получится), просто не везде есть механизм "из коробки". А вообще я как то был на мастер классе от TopFace, так они уверяли, что их система масштабирования гораздо эффективнее коробочной их СУБД, в принципе нет причин им не верить :) Но конечно написание своей системы масштабирования - геморой :)

Mаxmaxmаximus 18.12.2015 00:16

А чому не сделают универсальную БД в которой ты просто будешь говорить вот тут у меня табличка, а вот тут коллекция графов, а вот тут реляционная табличка)? и чел будет выбирать тот способ хранения инфы который лучше подойдет к его данным. И просто придумать универсальный интерфейс взаимодействия с даными всех форм и размером, ну чтобы при запросе можно было и реляционную табличку подгрузить, и сразу её наполнить в документоориентированном стиле и все такое. М?

п.с. да да, ты уже понял что я вношу в список дел сделать такую базу)))

kobezzza 18.12.2015 00:26

Цитата:

А чому не сделают универсальную БД в которой ты просто будешь говорить вот тут у меня табличка, а вот тут коллекция графов, а вот тут реляционная табличка)?
Пытаются. В тот же постгрес добавили документы. Или Orient - графы и документы + интегрированная Lucene (это движок elastic search, но без фич эластика) Топовые реляхи, такие как MS SQL Server и Oracle тоже добавляют фичи из NoSQL баз и т.д.

Но реальность такова, что пока отдельные решения лучше комбайнов. Например многие СУБД умеют полнотекстовый поиск, но они даже близко не подошли к возможностям ElasticSearch. Мб лет через 10-20 комбайны станут нормальными :)


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