Какую БД и стек технологий выбрать для графического редактора?
Есть онлайн графический редактор. Для него будем разрабатывать базу данных для хранения user-generated контента и REST API серверной части.
Детали проектирования такие
docs.google.com/...jKxRMibpQMRW63tpt6lU/edit
https://lucid.app/lucidchart/518d1ce3-1e6d-40b4-a89d-26c48277fb5f/view?page=0_0#
Похожие графические редакторы (типа canva.com, crello.com) используют такие технологии: AWS (S3, CloudFront, ELB, SQS, SNS, SES, SWF), ZooKeeper, Cassandra, MongoDB. Возможно NodeJS.
В оценке стека нам нужно было учитывать такие факторы:
— хотелось бы заложить ядро и построить инфраструктуру рассчитав все шаги наперёд. То есть выйти на минимальную поддержку системы в будущем.
— Несмотря на веру в успешность проекта, мы не можем позволить себе аналогичные затраты на сервера как у конкурентов так как у нас заложена другая бизнес-модель (free + реклама) и у нас нет инвесторов. То есть если при количестве например в 37 млн дизайнов у нас будет
product.canva.com/csesoc-site-visit
cassandra.apache.org/...t/operating/hardware.html
Our users upload more than 1.5 million image uploads every day, and create more than 14 designs every second. That means petabytes of media data on Amazon S3 and hundreds of gigabytes of design data in our MongoDb cluster. We also have a large Cassandra cluster (tracking comments on designs, likes, and followers), several large Solr clusters (media and design search), and many more traditional relational stores (e.g. for billing, profile and subscription data). The backend infrastructure consists of between
— В связи с этим напрашивается больше подход вертикального масштабирования (увеличение мощности сервера), которое гораздо эффективнее горизонтального(увеличение количества серверов).
Если простым языком, то получается мы хотим чтобы было: быстродейственно, с небольшим количеством серверов и минимальной поддержкой при полном росте, гибко на случай перехода на другую систему.
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Найкращі коментарі пропустити