Репозиторий по сравнению с базой данных по сравнению с файловой системой

Что делает репозиторий отличающимся от базы данных, файловой системы или какого-либо другого вида устройства хранения данных? Как я могу точно сказать, что это или это - репозиторий, судящий некоторым набором функций, что он имеет или не имеет?

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

5
задан raven 5 February 2010 в 15:41
поделиться

5 ответов

Когда я много лет назад работал над программным обеспечением для репозиториев. В то время разница между базами данных (общего назначения) и репозиториями заключалась в разнице между «данными» и «метаданными».

Итак, база данных хранит данные. Репозиторий - это особый класс баз данных, предназначенный для хранения метаданных, то есть данных, описывающих другие данные.

В качестве репозитория можно использовать любое универсальное программное обеспечение для баз данных, но есть некоторые характеристики метаданных, которые делают желательным использование специального инструмента. Как правило, детализация данных невелика, с большим количеством перекрестных ссылок на другие данные. Количество записей, вероятно, будет управляемым. Часто возникает потребность в контроле версий и / или различиях содержимого.

Из-за этих особых требований производители баз данных были склонны писать специальные системы СУБД для поддержки потребностей разработчиков репозиториев. (Кто-нибудь помнит Microsoft Repository или Unisys UREP ?) Я больше не в этой области и не могу рассказать вам о прогрессе за последнее десятилетие.

4
ответ дан 18 December 2019 в 13:14
поделиться

Я бы дополнил «места, где вы можете хранить что-то» с «... для вас и других людей, чтобы получить его». Или, может быть, ReWORD, что как «места, где вы можете хранить коллекцию связанных с вами и других людей, чтобы получить их». Смысл на самом деле это общий.

Напротив, файловая система и базу данных имеют более технические определения: «В вычислении файловая система представляет собой способ хранения и организации компьютерных файлов и данных, которые они могут легко найти и получить доступ к ним». См. Вход в википедии . База данных - это коллекция логически связанных данных, структурированных в том, что легко добраться, управляется и обновляется.

1
ответ дан 18 December 2019 в 13:14
поделиться

Я нашел эту ссылку.

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

-121--2959382-

Как упомянули другие плакаты, сначала необходимо вычислить базовый URL-адрес для сценария, чтобы найти его, можно использовать сценарий ниже.

// find the base path of a script
var settings = {};
settings.basePath = null;

if (!settings.basePath) {
  (function (name) {
    var scripts = document.getElementsByTagName('script');

    for (var i = scripts.length - 1; i >= 0; --i) {
      var src = scripts[i].src;
      var l = src.length;
      var length = name.length;
      if (src.substr(l - length) == name) {
        // set a global propery here
        settings.basePath = src.substr(0, l - length);

      }
    }
  })('myfile.js');
}

log(settings.basePath);
-121--1327372-

Хранилище является только описательным термином, выбранным автором.

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

* * Что делает репозиторий отличным от базы данных, файловой системы или любого другого типа места хранения? * *

Ничего. Это место хранения. Это файловая система. Это база данных. Это всего лишь слово, которое они выбрали, чтобы им не пришлось говорить «местоположения файловой системы, в которых мы храним ваши вещи». Они сократили его до «хранилища».

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

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

Как точно сказать, что тот или иной репозиторий, судя по набору функций, которыми он обладает или не обладает?

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

Это всего лишь слово, которое они выбрали, чтобы им не пришлось говорить «местоположения файловой системы, в которых мы храним ваши вещи».

Не совсем ясно, какие у него точные различия

Почему это имеет значение? Кого это на самом деле волнует? Какая у вас проблема?

Почему важно, какие файлы являются «репозиторием», какие файлы являются «базой данных» и какие файлы являются просто файлами?

Вы можете иметь файлы, которые являются «резервными копиями» или «хранилищем». Вы можете иметь файлы, которые являются «коллекцией» или все, что разработчики хотят назвать это.

Они могут свободно использовать любой описательный термин, который они хотят заменить «местоположениями файловой системы, в которых мы храним ваши вещи».

7
ответ дан 18 December 2019 в 13:14
поделиться

С точки зрения базы данных вы должны быть более точными. Это RDBMS, ODBMS или большой сохраняемый хэш-стол? Для меня файловая система также является своего рода «внедрение базы данных» (иеерахичко и каталог / файл на основе файлов).

0
ответ дан 18 December 2019 в 13:14
поделиться

База данных - это место, где хранятся данные, предпочтительно в табличной форме и могут содержать многочисленные таблицы, которые соединены (или могут быть) соединены / связаны друг с другом. База данных может быть облегчела создание некоторых отчетов с помощью языкового запроса (в основном SQL), чтобы облегчить вашу работу. Следует отметить, что база данных, как правило, подвергается "СТРУКТУРНЫМ" модификациям, когда это необходимо.

Репозиторий будет по существу связан по крайней мере с одной базой данных, но в целом он связан со многими базами данных. Репозиторий будет предлагать выбор базы данных, из которой он будет выбирать информацию для пользователя (это может быть раскрывающееся меню или автоматический выбор на основе ваших учетных данных для входа или IP-адреса, или что-то, что может помочь репозиторию идентифицировать вас и вашу область). Репозиторий по существу имеет логический интерпретатор, работающий между пользователем и базой данных, следовательно, любитель, не знающий базы данных, также может управлять ею.Языковые запросы могут по-прежнему использоваться экспертами для выполнения некоторых конкретных операций, но они не являются существенной частью. Репозиторий не будет хранить информацию в себе, но предложит средство для ввода или отображения информации, хранящейся в связанной базе данных или взятой из нее. Следует отметить, что репозиторий подвергнется «логической» модификации или управлению версиями, чтобы предложить измененное представление, добавленные функции и т. Д.

0
ответ дан 18 December 2019 в 13:14
поделиться
Другие вопросы по тегам:

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