Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (3)
  • Объясните, зачем нужны документо-ориентированные БД (MongoDB)?

    mocksoul
    @mocksoul
    Смысл ряляционных баз когда то был лишь в том, чтобы дать ответ на _любой_ вопрос за _любой_ промежуток времени. Т.е. например есть какая-то бд в компании и надо сделать какой-нибудь отчёт.

    В интернет-приложениях все несколько по иному. Чаще всего запросы к БД одинаковые за редким исключением (поиск). BigTable и прочие завязываются на этот принцип, создавая индекс на нужные запросы при изменении данных асинхронно.

    Таким образом, после изменения данных сразу обновляются и индексы для нужных запросов. В SQL индексы тоже есть, но они на более низком уровне.

    MongoDB строит индексы автоматически при первом запросе. Посему это очень похоже на схему lang <-> memcache <-> sql. Но на порядок быстрее, т.к. сам mongodb быстрее чем memcached (я сам сие не проверял ещё и верю с трудом, но все в один голос твердят что это так).

    Второй бонус — более простая репликация. В частности, у того же mongodb концепция master-slave и шардов находится в самом сердце.

    Третий бонус — map/reduce для обработки данных. Выполняются на встроенном языке (у mongodb это spidermonkey, т.е. яваскрипт).

    В общем и целом изначально написанное на mongodb приложение будет теоретически быстрее чем SQL вариант. По крайней мере с быстрой реализацией, наподобие MongoDB.
    Ответ написан
    2 комментария
  • Python. С чего начать учить?

    mocksoul
    @mocksoul
    Хех, с `python -m this`

    А если серьёзно, то с задачи. Необязательно сразу начать творить супер-мега-веб-проекты, можно написать себе консольный будильник например. В общем и целом проблем с изучением питона нет у тех, кто уже является программистом на каком-либо другом языке. Есть отличия, но они все весьма очевидные при рассмотрении под лупой =).

    Вышеупомянутая Dive Into Python — точно must read, даже уже тем кто будильник на питоне написать способен.

    Ну и, конечно, разглядывание исходников адекватных программ на питоне. Например, ту же django распотрошите — и будете уже почти гуру. Но сложного в этом на самом деле ничего нет.
    Ответ написан
    Комментировать