Если вы хотите, чтобы быстро работало, используйте MariaDB или MongoDB, если задача позволяет.
Postgre подойдет для сложной аналитики и сложной БД, хранимок и т.д.
3. Речь и шла о GitLab. Вы можете захостить его на своем личном компьютере в офисе и не тратить деньги на хостинг. Высунуть машину в интернет несложно.
4. Здесь речь идет не об открытии доступа, а скорее наоборот, об ограничении. Например кто-то украл код и разместил его в публичном доступе, или даже не код, а просто написал README.md и в нем описал, как сделать какую-нибудь петарду, способную убить человека. Это автоматически попадает под экстремизм или терроризм. А можно просто выложить туда гос.тайну по примеру ВикиЛикса. ГитХаб такое в момент прибьет. ГитЛаб на своем хостинге тоже. А вот непонятно где расположенный самозахостченный гитлаб будет жить. Даже если в стране его заблокируют, он все равно будет доступен из другой страны. Особенно, если хостинг абузоустойчивый.
Для нормального проекта с открытым исходным кодом проблем нет никаких. Вы можете спокойно хостить его на GitHub. И для закрытого кода тоже. Просто платите свой платеж и спите спокойно. В случае легитимного использования сервисов, хостить репозитарии у себя не имеет большого смысла. Но держать бэкап смысл имеет. А то вдруг метеорит упадет на датацентр.
Лично я пользуюсь GitHub и не вижу смысла с него съезжать куда-либо. Хотя их последние телодвижения не очень мне по душе.
iDisconnect: для PHP это все применимо и часто используется.
В Ruby несколько другой подход. Честно говоря про Ruby у меня сложилось странное впечатление. Я на низком уровне не сильно работал, но с Ruby on Rails успел познакомиться. С одной стороны все сделано для того, чтобы создавать корпоративные приложения, но с другой возможны проблемы с масштабированием.
Про C#/.NET ничего не могу сказать. Не работал с ними. Как пользователь часто вижу их "лежачими". Сама по себе архитектура Windows не очень приспособлена для построения высоконагруженных сетевых сервисов. Ну и обслуживание обойдется вам в копеечку. Плюс все закрытое, если где-то есть косяк в каком-нибудь сервисе, вы не можете тупо форкнуть это и поправить, особенно, если "горит". В том же мире PHP я периодически что-то переделываю или исправляю.
Про NoSQL советую вам сначала познакомиться с CAP-теоремой. Потом идите сюда https://db-engines.com/en/ranking и выбирайте по вкусу. NoSQL это не серебрянная пуля, а другой подход к видению структуры данных. Разумеется со своими недостатками, с которыми прийдется бороться. Лично я работал с MongoDB довольно долгое время и при должном подходе больших проблем с ней нет. Мой LinuxQuestions работает на ней и Node.js. На работе применяю на протяжении 4х лет. Да, проблемы бывают, но аналогичные возникают и с MySQL. Из практики, у меня ранее был проект, в котором в одну и туже таблицу часто писалось и из нее же часто читалось, так вот MySQL c InnoDB просто вешался на этой операции и тормозил (форк от Percona еще кое-как спасал). У меня есть абсолютно похожий компонент в текущем проекте на MongoDB и она работает молниеносно. Например каталог товаров достаточно легко реализуется на MongoDB. Плюс в последней версии они добавили фасетные операции.
А коннекторы к C#/.NET есть практически у любой современной NoSQL базы. У некоторых просто обычное REST API (тот же Solr).
Делаете рендеринг на стороне сервера используя PhantomJS. В остальном все тот же HTML.
Если хочется enterprise, то просто покупаете это https://www.jsreports.com/
Forbidden: а какое у вас железо? Используете ли шардинг?
У меня примерно 64 Gb RAM, Data Size ~ 1.2 TB. Диск SSD. Обычная реплика.
Самые тяжелые аггрегации считает в пределах 200мс.
Нагрузка выглядит так: Т.е. очень смешанная
Правда записи пачкой в миллион я не вставляю, считаю это не самой разумной практикой. Т.к. это NoSQL, то в ней все, что нельзя записать сразу, кладется в очередь. Это помогает эффективно обрабатывать вслески нагрузки. Но это имеет и обратную сторону - при переполнении очереди в памяти, база начинает свопить и без того уже загруженный сервер начинает уходить в отказ.
Если MySQL выдает что-нибудь вроде "Server gone", то Mongo держится до последнего. Обычно в реплике это заканчивается выборами, т.к. если праймари не отвечает в течение 15 секунд, то арбитер запускает голосование.
Forbidden: как это выглядело?
У меня есть коллекции подобных масштабов, но данные хранятся нормально.
Просто интересно узнать, что произошло? И какое у вас было хранилище и как версия движка?
Нода постоянно запущена. Это ваш вебсервер. Когда вы работаете с PHP, веб-сервер принимает запрос, разбирает его и потом запускает процесс с пыхом.
Нода сама по себе запускается, потом работает постоянно, пока не будет пуст цикл событий. Например пока вы не закроете соединение с базой.