Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vp-webdev
7 лет назад

Создание web-сервиса. Всё, но не сразу. Вступление.

Мы поставили перед собой задачу — сделать современный удобный сервис по поиску автомобильных запчастей. Помимо предложений от магазинов там должен быть аукцион и запросы на покупку от покупателей. Изучив конкурентов стало понятно, что все сайты имеют старый некрасивый дизайн и не самое удачное юзабилити. В этой нише ни у кого нет приложений под смартфоны.



Для реализации данной задачи был выбран язык программирования Python и фреймворк Django — для бекенда и базу данных PostgreSQL. С помощью этих инструментов будет реализован только API. Данный подход сэкономит время, потому что не придётся разделять сайт на веб версию и отдельно api.
Для веб-версии (браузерной) будет использован фреймворк VUE с предрендерингом для SEO.
Сервер на Nginx, ОС Debian 8, с использованием Memcached — для уменьшения нагрузки на БД.

Почему PostgreSQL?



Вопрос выбора БД лучше решать на этапе проектирования. Все знают, что БД — может стать «виновником» тормозов. Прочитав немало отзывов был выбран PSQL. Он бесплатный и более быстрый, нежели другие типы БД. Да и тем более, Яндекс.Почта на PSQL, например, это уже о многом говорит.
Да, администрирование PSQL по сравнению с MySQL сложнее, но у PostgreSQL есть превосходства в другом и мы это рассмотрим ниже.
Индексы — MySQL работает быстро только с одним индексом, а точнее с первичным ключом, тогда как, PSQL хорошо работает с несколькими индексами.
Типы данных — в PSQL их невероятно много от XML и JSON до circle(окружности).
PostgreSQL лучше сжимает и разжимает данные, позволяя сохранить больше данных на дисковом пространстве. При этом компрессионные данные читаются быстрее с диска, тогда как MySQL компрессия для разных движков частично поддерживается, частично нет, и это зависит от конкретной версии конкретного движка.
Хэширование индексов: в MySQL– частичное, в PostgreSQL – полное. Полнотекстовый поиск: в MySQL– частичный, в PostgreSQL – полный.
Есть партиционирование данных (когда у тебя есть очень большая таблица ее можно разбить на несколько физических файлов)

Почему memcached?



Да, по некоторым тестам, и по функционалу и по отзывам, Redis превосходит Memcached. Но проект не будет чрезмерно огромным, поэтому будем использовать более-менее знакомый Memcached, хотя, если он не будет справляться, будем смотреть в сторону Redis.

Почему debian 8?



По личному опыту Debian зарекомендовала себя как более безопасная и стабильная ОС, нежели Ubuntu. Поэтому остановим свой выбор на ней.

В следующей статье мы начнём описывать реализацию данного проекта.

Данный пост подготовлен автором @zheev. В рамках данного цикла статей он расскажет о том, что и как он программировал, какие языки и технологии использовал. С какими трудностями пришлось столкнуться и их решение на реальных примерах.

Источники фото bataliy.ks.ua cadar.info, sunpe.info, blog-xtraffic.pep.vn

10
287.791 GOLOS
На Golos с August 2017
Комментарии (7)
Сортировать по:
Сначала старые