Что альтернативы к устройству хранения данных базы данных SQL для веб-сайта?

    let result = await Promise.all(model.reviews.map(async (item, index)=>{
      console.log('item', item)
      console.log('model', model)

      let user = await User.findOne({ _id: item.user_id }, function (error, user){
        if (error || !user) { return error }
        else {
          return user
        }
      })

      model.reviews[index].user = user


    }))
19
задан vartec 24 March 2009 в 16:45
поделиться

14 ответов

Существует много альтернатив. Но наличие SQLite, который дает Вам питание SQL, объединенное без суеты хранения файлов, нет никакой потребности искать эти альтернативы. SQLite достаточно легок, чтобы использоваться в сотовых телефонах и MP3-плеерах, таким образом, я не вижу, как это можно было считать излишеством.

Таким образом, если для Вашего приложения не нужно что-то очень определенное, не беспокоиться. Большинство альтернатив намного более твердо использовать и иметь меньше производительности.

33
ответ дан 30 November 2019 в 02:00
поделиться

Каждый уравнивает от баз данных SQL, ISAM (Индексно-последовательный метод доступа) - в основном таблицы и индексы, но никакой SQL и никакие явные отношения среди таблиц. Пока концептуальное основание соответствует Вашему дизайну, оно масштабируется приятно. Я использовал Кодовую базу эффективно в течение долгого времени.

Если Вы хотите работать с данными типа БД SQL, то рассмотрите FileMaker.

0
ответ дан 30 November 2019 в 02:00
поделиться

Я проверил бы XML на вашем месте. Посмотрите учебный раздел w3schools XML по левой стороне. Тонны возможностей, не используя базу данных SQL.

-4
ответ дан 30 November 2019 в 02:00
поделиться

Я привык LINQ для XML как источник данных в проекте.NET. Это было небольшим решением и использовало кэширование для смягчения проблем производительности. Я сделал бы это снова для быстрого сайта, который просто должен сохранить данные в общем месте, не увеличивая требования сервера.

1
ответ дан 30 November 2019 в 02:00
поделиться

In Perl I use DBM or Storable for such tasks. DBM will update automatically when variable is updated.

0
ответ дан 30 November 2019 в 02:00
поделиться

Зависит от того, что Вы храните и как необходимо получить доступ к нему. Обычно sql обеспечивает большое создание отчетов и ручную способность к управлению. Почти всему нужен некоторый способ управлять тем, что хранится и отчет о нем.

0
ответ дан 30 November 2019 в 02:00
поделиться

Проверьте CouchDB.

1
ответ дан 30 November 2019 в 02:00
поделиться

Это, вероятно, зависит, насколько динамичный Ваш веб-сайт. Я использовал программное обеспечение Wiki, после того как это использовало RCS для регистрации и текстовые файлы. Я не рекомендовал бы, что решение для чего-то, что получает столько же обновлений сколько StackOverflow или Википедия. Вещь о базе данных состоит в том, что они масштабируются хорошо, и устройства записи механизма базы данных выяснили все трудные небольшие детали одновременного доступа, выравнивания нагрузки, репликации, и т.д.

4
ответ дан 30 November 2019 в 02:00
поделиться

Я не выбрал бы, использовать ли базу данных SQL на основе того, сколько данных я хотел хранить - я выберу на основе того, какие данные я хотел хранить и как это должно использоваться.

Wikipeadia определяет базу данных как: база данных является структурированным набором записей или данных, которые хранятся в компьютерной системе. И я думаю, что Ваш ответ заключается там: Если Вы хотите сохранить записи, такие как клиентские счета, права доступа и так далее затем DB, такие как MySQL или SQLite или независимо от того, что не излишество. Они дают Вам испытанный и доверяемый механизм для управления теми записями.

Если с другой стороны, Ваш веб-сайт хранит и поставляет неизменное основанное на файле содержание, такое как PDFs, отчеты, mp3s и так далее затем, просто хранение их в четко определенном расположении каталога на диске более чем достаточно. Я также включал бы XML-документы здесь: если у Вас был, например, производственный отдел, который создал статьи для веб-сайта в формате XML нет никакой потребности поместить их в DB - хранят их на диске и используют XSLT, чтобы поставить им.

Ваш выбор SQL или не будет также зависеть от того, как содержание, которое Вы хотите сохранить, должно быть получено. SQL очевидно хорош для получения многих записей на основе критериев поиска, тогда как дерево каталогов, база данных XML, база данных RDF, и т.д., более вероятно, будет использоваться для получения единственных записей.

Выбор механизма хранения очень важен, когда попытка масштабировать сайт интенсивного трафика и наполнение всего в DB SQL быстро станут узким местом.

4
ответ дан 30 November 2019 в 02:00
поделиться

Я сказал бы, что это не зависит от того, храните ли Вы меньше или больше информации, это зависит от того, как часто Вы запрашиваете хранившие данные. Databasemanagers превосходны при кэшировании запросов, таким образом, они часто - лучшее мудрое выполнение выбора. Как когда-либо, если Вы не нуждаетесь в динамической веб-странице и просто загружаете статические данные - возможно, текстовый файл является более оптимальным вариантом. То, которые форматируют данные, хранится в (т.е. XML, JSON, key=pair) не имеет значения - это - операции ввода-вывода, которые являются тяжелой производительностью.

Когда я разрабатываю веб-приложения, я всегда использую RDBMS в качестве держателя первичных данных. Если веб-приложение не должно служить динамическим данным в каждом запросе, я просто применяю функциональность кэша, хранящую данные в файле кэша, который требуют, когда нет новых данных были добавлены к основному источнику данных (RDBMS).

4
ответ дан 30 November 2019 в 02:00
поделиться

Распределенная хеш-таблица как bigtable Google или hadoop является простым и масштабируемым не база данных SQL и часто удовлетворяет веб-сайтам намного лучше, чем база данных SQL. SQL является большим для сложных реляционных данных, но большинство веб-сайтов не имеет этого требования. Большинство веб-сайтов хранит и получает данные в нескольких формах и не должно выполнять сложные операции на данных.

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

6
ответ дан 30 November 2019 в 02:00
поделиться

SQLite изобретен для этого.

Это - просто плоский файл, который содержит полную базу данных SQL. Можно запросить, обновить, вставить, удалить, нет мало ни к каким издержкам в установке и всем, в чем Вы нуждаетесь, драйвер (который прибывает стандарт в PHP),

SQLite является библиотекой программного обеспечения, которая реализует автономное, без сервера, нулевую конфигурацию, транзакционный механизм базы данных SQL.

Довольно странный, что никто уже не упомянул это?

12
ответ дан 30 November 2019 в 02:00
поделиться

CouchDB (http://couchdb.apache.org/index.html) является non-sql базой данных и, кажется, популярный проект в эти дни, а также bigtable Google, или GT.M (http://sourceforge.net/projects/fis-gtm), который был вокруг навсегда.

Объектные базы данных имеются в большом количестве также; dbforobjects (http://www.db4o.com/), ZODB (http://www.zope.org/Products/StandaloneZODB), только для именования некоторых.

Все они, предположительно, быстрее и более просты, чем традиционные базы данных SQL для определенных вариантов использования, но ни один не приближается к простоте плоского файла.

9
ответ дан 30 November 2019 в 02:00
поделиться

Это зависит, что Вы храните. Мой блог использует Blosxom (записанный в Perl, но подобная вещь могла быть сделана для PHP), где каждая отдельная запись является отдельным текстовым файлом. Первая строка является простым текстом (заголовок), и остальное - неограниченный HTML. После нескольких простых правил они представляются для формирования простой, но эффективной платформы блоггинга.

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

2
ответ дан 30 November 2019 в 02:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: