Какую бесплатную глобальную базу данных вы можете порекомендовать для хранения информации о пользователях, такую как логины, имена, даты авторизации и т.д.?

Как выбрать бесплатную базу данных для постоянно доступной ASP.NET программы, в которой нужно хранить и солить пароли, а не сами пароли? Желательно без подписок. Если есть несколько вариантов, расскажите, пожалуйста, о различиях, плюсах и минусах каждого из них.
  • 9 февраля 2024 г. 17:49
Ответы на вопрос 3
Если вам нужна бесплатная база данных для хранения данных о пользователях, есть несколько популярных вариантов, которые можно рассмотреть:

1. **SQLite**:
   - *Плюсы*: очень легковесная, не требует отдельного сервера, легко встраивается в приложения.
   - *Минусы*: не подходит для высоконагруженных систем или рабочих сред, где важна одновременная многопользовательская запись.

2. **MySQL / MariaDB**:
   - *Плюсы*: широко используемая, обладает большим сообществом, поддерживает множество функций.
   - *Минусы*: настройка и оптимизация могут потребовать определенных знаний.

3. **PostgreSQL**:
   - *Плюсы*: предлагает продвинутые функции, такие как JSON поддержка, надежный и масштабируемый.
   - *Минусы*: может быть сложнее в настройке и управлении, чем MySQL/MariaDB.

4. **MongoDB** (если вас интересуют NoSQL решения):
   - *Плюсы*: документоориентированная, хорошо подходит для гибких схем данных и хранения JSON.
   - *Минусы*: отличается от реляционных баз данных, что повлечет за собой изменение подхода к проектированию.

5. **Microsoft SQL Server Express**:
   - *Плюсы*: подходит для тех, кто использует ASP.NET и предпочитает экосистему Microsoft; хорошо интегрируется с Visual Studio и другими инструментами.
   - *Минусы*: ограничен в ресурсах и возможностях в сравнении с полной версией.

Все эти системы баз данных обычно поддерживают хэширование и "соление" паролей, что является важным аспектом надежной системы безопасности. Вы не храните сами пароли, а храните их хэши с солью. Функции для хэширования паролей обычно реализуются на уровне кода, а не на уровне базы данных. Например, вы можете использовать хэш-функции, предоставляемые .NET, такие как `Rfc2898DeriveBytes` для создания безопасного хэша.

При выборе системы баз данных стоит учитывать несколько факторов:
- *Размер и сложность вашего проекта*: если проект небольшой, SQLite может вполне хватить, но для крупного проекта лучше выбрать что-то масштабируемое, вроде PostgreSQL или MySQL/MariaDB.
- *Ожидаемая нагрузка*: если ожидается множество одновременных запросов, SQLite может быть не лучшим выбором.
- *Опыт команды*: выбирайте ту базу данных, с которой ваша команда наиболее знакома.
- *Условия размещения*: если вы используете облачные сервисы, проверьте, какие базы данных они предлагают в качестве управляемых сервисов и каковы их условия бесплатного использования.

По возможности протестируйте несколько баз данных с вашим текущим проектом, чтобы определить, какая из них лучше всего подходит под ваши требования по производительности, удоб
никакую, купи уже vps за минимальную цену и разворачивай нужную тебе cубд
Под ваши критерии попадает абсолютно любая БД - PostgreSQL, SQLite, MariaDB, MongoDB. Так что используйте любую. Различия, плюсы и минусы сами найдете в сети - все уже давно описано, сравнено и протестировано.
Похожие вопросы