Вопрос достаточно глупый. Среди известных мне способов хранить информацию есть базы данных, облачные хранилища и файлы. Я собираюсь реализовать систему хранения данных. При поиске информации о способах хранения я остановился на системе на основе файлов, но есть ли еще какие-либо альтернативы?
Альтернатив - миллионы. Есть библиотеки которые предоставляют доступ к файлам наподобие баз данных. Это LevelDb например.
Но обсуждать этот вопрос глубоко - нет смысла т.к. неясны требования к твоей системе хранения.
Если тебе достаточно файлов (csv, json, xml) то ради бога! Храни в файлах. Это будет очень даже
экономно с точки зрения TCO и никакой админ не нужен. А вот когда ты будешь гонять запросы
по файлам и тебе понадобится индексирование, транзакции и изоляция - вот с этого момента
можно обуждать всякие dbms или системы на файлах.
Спасибо за Ваш ответ, я только учусь, не могли бы Вы подробнее рассказать, как реализуются запросы к файлам? Насколько я понимаю, это аналог sql-запросов? Как составить вопрос, чтобы подробнее ознакомиться с этими альтернативами, как я не пытаюсь, ничего кроме БД найти не могу?
БД - это просто набор каким-либо образом структурированных данных. А вот для управления БД используется Система Управления БД или СУБД (MySQL, Mongo и т.п.). По факту, любая СУБД хранит данные тоже в файлах. Файловая система - это простой и универсальный способ доступа к хранилищу данных. СУБД решает задачи типа структуризации данных, чтения, записи, обновления, а так же поиска как по параметрам так и с использованием специфических критериев. А еще более широкие возможности доступа к данным, их сохранения, обновления и оптимизация всего этого дела. ФС - штука очень простая и её возможности ограничены, а вот БД данные можно хранить в любом удобном виде. И вот как раз поиск - и есть эти самые "запросы к файлам". Для упрощения поиска и фильтрации придумали языки запросов к БД - например SQL и прочие. По сути запрос - это правила, по которым СУБД должна найти какие-то данные и что-то с ними сделать.