|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Возможно, мои мысли покажутся странными, сумбурными, тем не менее, попытаюсь изложить свою идею, возможно, найду понимание. Что если подружить SQL c файловой системой напрямую, минуя всяких посредников в виде БД Примерно так: Если Linux: SELECT * FROM / Получаем: /.. /.automount /bin /boot /dev /etc /home и т.д. Думается, что такая "база" даст любой промышл. фору и уделает ее с потрохами по всем показателям. Таким образом, вся поддержка базы отпадает, достаточно хорошо знать файловую систему, полномочия польз., резервирование, стандарт SQL и драйвер стыкующий FS с SQL. Если что-то похожее уже имеется, дайте ссылку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 00:53 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Любая книжка по OLEDB содержит какой-нить пример типа "а теперь давайте построем оледиби провайдера поверх NTFS". WinFS (когда появится) вообще на Юконе обещался быть. SQL уже с чем только не подружили. И еще подружат не раз. Новизны в идее не чувствуется... З.Ы. Был в своё время шокирован таким примером на VB (не про файловую систему, но все же): Пристрелить freecell на машине GAMER Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 01:03 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
orawebВозможно, мои мысли покажутся странными, сумбурными, тем не менее, попытаюсь изложить свою идею, возможно, найду понимание. Что если подружить SQL c файловой системой напрямую, минуя всяких посредников в виде БД Примерно так: Если Linux: SELECT * FROM / Получаем: /.. /.automount /bin /boot /dev /etc /home и т.д. Думается, что такая "база" даст любой промышл. фору и уделает ее с потрохами по всем показателям. Таким образом, вся поддержка базы отпадает, достаточно хорошо знать файловую систему, полномочия польз., резервирование, стандарт SQL и драйвер стыкующий FS с SQL. Если что-то похожее уже имеется, дайте ссылку. Теперь свой собственный internet-ресторан может открыть любой желающий! Как на счет рекурсии? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 10:23 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Да лажевая идея. В любой субд disk IO работает слегка не так как в файловой системе так что насчет уделывания есть большие сомнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 10:29 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
По-моему, задача ФС - хранение плохо структурированной информации. Задача СУБД - хранение хорошо структурированной. Обычно у ФС значительно меньше функций, чем у СУБД. Если пойти путём реализации этих функций для ФС - она начнёт превращаться в СУБД (путь WinFS). Вы уверены, что хотите стать вторым Эллисоном или Шуклиным? С другой стороны, у многих функций ФС по работе с информацией на низком уровне нет аналогов в СУБД. Вы уверены, что рационально расширять ими SQL? Но если вы решите сделать библиотеку, которая обеспечивает единообразную работу с информацией на высоком уровне для любой распространённой ФС с использованием SQL-подобных запросов - для многих она могла бы стать полезной. Я аналогов не видел. Знаю, что есть VxFS (JFS), которая "снаружи" выглядит как ФС, а "изнутри" сильно напоминает СУБД, потому обладает большой надёжностью и быстродействием. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 10:44 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Впринципе, если в любую СУБД встроить пару табличных функций, для доступа к файловой системе напрямую - было бы неплохо (иногда). Однако это такая дыра в системе безопасности что просто п-ц. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 10:49 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
oraweb Что если подружить SQL c файловой системой напрямую, минуя всяких посредников в виде БД Думается, что такая "база" даст любой промышл. фору и уделает ее с потрохами по всем показателям. Таким образом, вся поддержка базы отпадает, достаточно хорошо знать файловую систему, полномочия польз., резервирование, стандарт SQL и драйвер стыкующий FS с SQL. Файловые системы (БД без СУБД) - с этого все начиналось. Это отбрасывает в 60 годы. Т.е. идея старая, до того как допрели что нуны посредники (т.е. пришли к идее СУБД), по-моему, када НАСА лобал какой космический проект. Кроме того, такие системы и сейчас есть - это все допотпные системы. Мож там нет SQL, но есть, например, МУМПС. Так шо это не идея вообще, а план по деградации матобеспечения ИС. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 11:17 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Этот вопрос возник в связи с проблемами хранения двоичных файлов в БД. Что лучше: картинка ~>100 Кб на диске или в базе? У кого-то уже давно есть однозначный ответ, но найдется немало противников решения это задачи в том или ином виде. Вопрос структурирования можно решить осмысленным наименованием папок, которые выполняют функцию таблиц. В каждой папке-таблице имеются свои папки-поля(столбцы). В корне каждой папки-таблицы поместить текстовый файл, где построчно описывается структура папок-столбцов. Таким образом, можно хранить текстовые фалы в одной папке, картинки в другой и т.д. Если необходима индексация, то ее решать также размещением текстового фала в корне таблицы-папки. Таким образом при необходимости параллельно выполняется удаление, обновление, запись во всех папках и индексном фале. Безопасностью занимается сама операционка, например, линукс с этой задачей неплохо справляется. Применение: веб-странички с динамическим содержанием, где информацию удобнее хранить в файлах с уже готовым форматированием-оформлением +двоичные файлы - картинки там всякие архивы и пр. Я в принципе не настаиваю. Мое дело предложить. Чем больше критики, тем лучше. Более компетентно по данному вопросу может высказаться спец линуха ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 11:47 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
orawebЭтот вопрос возник в связи с проблемами хранения двоичных файлов в БД. Что лучше: картинка ~>100 Кб на диске или в базе? У кого-то уже давно есть однозначный ответ, но найдется немало противников решения это задачи в том или ином виде. Вопрос структурирования можно решить осмысленным наименованием папок, которые выполняют функцию таблиц. В каждой папке-таблице имеются свои папки-поля(столбцы). В корне каждой папки-таблицы поместить текстовый файл, где построчно описывается структура папок-столбцов. Таким образом, можно хранить текстовые фалы в одной папке, картинки в другой и т.д. Если необходима индексация, то ее решать также размещением текстового фала в корне таблицы-папки. Таким образом при необходимости параллельно выполняется удаление, обновление, запись во всех папках и индексном фале. Безопасностью занимается сама операционка, например, линукс с этой задачей неплохо справляется. Применение: веб-странички с динамическим содержанием, где информацию удобнее хранить в файлах с уже готовым форматированием-оформлением +двоичные файлы - картинки там всякие архивы и пр. Я в принципе не настаиваю. Мое дело предложить. Чем больше критики, тем лучше. Более компетентно по данному вопросу может высказаться спец линуха -медленно будет крутится -многопользовательский доступ - как блокировать-разблокировать ? -все сразу или несколько - как открыть ? можно конечно как то приспособиться.. но хочется вначале все скинуть в базу - например MUMPS и там работать в конце работы все опять раскидать по папкам (кроме картинок) то есть организующим звеном является древовидный MUMPS нечто подобное реализовано у нас в кадрах-зарплате 3000 фото лежат в файлах с именами=таб.номерам база их выдергивает как понадобятся и выдает на экраны ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 15:19 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
AS/400. Пример где можно работать с файлом как с таблицей и как с файлом и наооборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 20:57 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
MX -- ALEX базу - например MUMPS и там работать в конце работы все опять раскидать по папкам Хорошо шо есть Оракл, чтобы не знать всего этого гемора никогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2006, 23:17 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Если не нравится идея с базой в виде файловой системы, то можно просто нарастить shell дополнительными возможностями написания команд в стиле SQL. Примерно так SELECT * FROM /home/user WHERE flag=l Что равносильно ls -l /home/user А потом при необходимости комбинировать shell-selectы в стиле SQL И потом еще… Все современные БД это шкаф, где есть полки и на каждой полке куча ящиков. Чтобы получить необходимые предметы с нужными характеристиками, нужно знать на какой полке они хранятся, в каком ряду ящиков размещаются, и какие предметы должны лежать в этих ящиках. Упрощенно, на уровне полок, это плоская модель хранения данных. Нужно знать координаты x и y. А в случае БД в виде ФС каждый ящик в свою очередь может быть еще и полкой, в составе которой имеются свои ящики и так фактически до предела, на сколько это позволяет ФС. Структурирование данных в этом случае не плоское и даже не 3-х мерное, а образно говоря, шарообразное и в тоже время упорядоченное. Впрочем, чтобы все это понять, нужно еще иметь не плоское мышление. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 12:17 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Да, шарооборазное мыщление не всем дано :( Полностью с Вами согласен Вам уже сказали про AS/400 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 14:10 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
RMS. (VMS) Теперешний владелец - HP ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 16:43 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
oraweb Впрочем, чтобы все это понять, нужно еще иметь не плоское мышление. Или плоское, но 60-х годов - када файловые БД были в ходу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 16:48 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Вам уже сказали про AS/400 ? Это немного не то. На AS/400 нет вложенности каталогов (в общем смысле). То бишь с корня ты видишь все каталоги (library) В библиотеке могут лежать: файлы (таблицы) с данными фиксированной длины. индексы к ним (AKA logical views) подкаталог с сырцами программ подкаталог с откомпилированным кодом обычный файл (в юниксовом понятии) ... SQL доступен только для работы с первыми двумя типами данных. P.S. Я упростил, так что не пинайте, что забыл что-то ещё упомянуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 18:55 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
БД на файлах стоились в 60х-70х годах на мэйфреймах которые поддерживают понятие "записи" на уровне ОС, даже с возможностью индексирования записей. Несколько позже появилась ОС VMS которая тоже поддерживала понятие записи, под ней был такой продукт RDB который был потом продан Ораклу. В общем данный подход обладал целым рядом существенных недостатков, в ходе устранения которых и появились современные реляционные СУБД. А теперь "животрепещущий пример". Есть такая бухгалтерская система кредитного отдела, называется AFS. Стоит в большинстве крупных американских банков. Поставляется с исходным кодом, каждый банк содержит свою версию. Написана как раз на Коболе путем многократного вложения записей. Вся информация в системе пишется в 4 набора данных (файла в общепринятой терминологии). Уровень вложенности записей - высокий. Банк слился с другим банком и одно из полей пришлось увеличить с 9 символов до 15. На этот проект ушло пол-года упорной работы, была переписана куча кода на Коболе. А теперь подумайте сколько времении у вас уйдет на эту операцию в вашей любимой реляционной СУБД :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2006, 23:58 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
см исходный пост - в as/400 нельзя сделать "select * from '/'" -)) но если написать сторед-процедуру, то можно -)) кстати. и для IFS, а не только для library-based FS Serge Reva ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2006, 03:35 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Зл0йБД на файлах стоились в 60х-70х годах на мэйфреймах которые поддерживают понятие "записи" на уровне ОС, даже с возможностью индексирования записей. Несколько позже появилась ОС VMS которая тоже поддерживала понятие записи, под ней был такой продукт RDB который был потом продан Ораклу. В общем данный подход обладал целым рядом существенных недостатков, в ходе устранения которых и появились современные реляционные СУБД. ... RDB юзал, или просто где-то слыхал про существование этого зверя? Дык вот, RDB идеологически НИЧЕМ не отличается от Oracle v7-8. Мало того, этот продукт был кросс-платформным (до того как оракуль благополучно его похоронил; скупка по оракулю - вид конкурентной борьбы), и были версии даже под MS DOS. Под VMS использовалась RMS, дык там это основная файловая система... Под VMS была и есть RMS (Record Management System). Есть - потому как система жива и успешно продается по сей день (описание всего барахла см. на www.hp.com) В основе RMS - индексный файл, т.е. система изначально строится на индексах (чего угодно) + понятие версионности... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2006, 06:29 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
Кстати, существуют проекты free/open VMS. Например: http://www.openvms.org/ http://freevms.free.fr/indexGB.html (здесь фунукционал RMS еще не полностью) ... (гугль рулит) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2006, 06:43 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
На примере супермаркета все станет понятно. В супермаркете все отсортировано по группам: Продукты, Книги, Одежда и т.д. это различные отделы. Соответственно создаем таблицу отделов. Каждый отдел в свою очередь имеет свои секции, например: Продукты разделяются на мясные ликероводочные, кондитерские и т.д. Секции, на примере ликероводочной, в свою очередь делятся на вина, водку, коньяки, пиво и т.д. Можно еще и вина классифицировать, по различным признакам, но ограничимся тем, что есть, достаточно. По своей сути вся эта классификация является древовидной (раннее писал шарообразной, что не совсем удачно) и чтобы описать ее нам нужно создать кучу таблиц и привязать друг другу связками по полю ID, например. А в файловой системе ничего этого не потребуется. Т.к. сама ФС по своей сути древовидная. Таким образом, создаем папку supermarket, в ней папку Products, в папке Products создаем папку buhalovo, в папке buhalovo создаем папку wine и пишем: SELECT * FROM /home/user/supermarket/Products/buhalovo/wine Получаем список вин, которые продаются в супермаркете 1. А теперь напишите этот запрос, используя современные базы данных, если меня интересует какие вина продаются в супермаркете 2. Сколько потребуется условий WHERE чтобы объединить все таблицы? Немереное кол-во. А я просто напишу: SELECT * FROM /home/user/supermarket2/Products/buhalovo/wine И все. Любая конечная информация является листочком на дереве, но почему-то понадобилось все стволы и ветки обрубить, нарубить дрова и сделать дровяник - современные БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2006, 15:42 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
При этом хочу заметить, что полностью отказываться от СУБД не надо. Их уже в свою очередь имеет смысл применять в конечной стадии, т.с. на уровне листочков. Когда вина нужно дополнительно классифицировать по разным признакам - год изготовления, производитель, сухое или красное и т.д. Т.е. СУБД в обычном режиме применяем, в папке wine. На этом уровне "дровяной" подход уместен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2006, 16:54 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
orawebНа примере супермаркета все станет понятно. В супермаркете все отсортировано по группам: Продукты, Книги, Одежда и т.д. это различные отделы. Соответственно создаем таблицу отделов. Каждый отдел в свою очередь имеет свои секции, например: Продукты разделяются на мясные ликероводочные, кондитерские и т.д. Секции, на примере ликероводочной, в свою очередь делятся на вина, водку, коньяки, пиво и т.д. Можно еще и вина классифицировать, по различным признакам, но ограничимся тем, что есть, достаточно. По своей сути вся эта классификация является древовидной (раннее писал шарообразной, что не совсем удачно) и чтобы описать ее нам нужно создать кучу таблиц и привязать друг другу связками по полю ID, например. на самом деле эта классификация - сферическиконевакуумная :) oraweb А в файловой системе ничего этого не потребуется. Т.к. сама ФС по своей сути древовидная. Таким образом, создаем папку supermarket, в ней папку Products, в папке Products создаем папку buhalovo, в папке buhalovo создаем папку wine и пишем: SELECT * FROM /home/user/supermarket/Products/buhalovo/wine Получаем список вин, которые продаются в супермаркете 1. А теперь напишите этот запрос, используя современные базы данных, если меня интересует какие вина продаются в супермаркете 2. Сколько потребуется условий WHERE чтобы объединить все таблицы? Немереное кол-во. А я просто напишу: SELECT * FROM /home/user/supermarket2/Products/buhalovo/wine Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3.
ЗЫ oraweb Любая конечная информация является листочком на дереве, но почему-то понадобилось все стволы и ветки обрубить, нарубить дрова и сделать дровяник - современные БД. на дворе дрова на дровах братва у братвы трава... а Вы где себе такую траву достаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2006, 17:05 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
orawebНа примере супермаркета все станет понятно. В супермаркете все отсортировано по группам: Продукты, Книги, Одежда и т.д. это различные отделы. Соответственно создаем таблицу отделов. Каждый отдел в свою очередь имеет свои секции, например: Продукты разделяются на мясные ликероводочные, кондитерские и т.д. Секции, на примере ликероводочной, в свою очередь делятся на вина, водку, коньяки, пиво и т.д. Можно еще и вина классифицировать, по различным признакам, но ограничимся тем, что есть, достаточно. а если продукт относится и к ликероводочному, и к безалкогольным напиткам (например, тоник)? ааа понял, понял, тогда вы просто в другие папку сделаете shortcut на этот продукт... гениально... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2006, 17:19 |
|
Файловая система в качестве БД.
|
|||
---|---|---|---|
#18+
oraweb пишет: > На примере супермаркета все станет понятно. В первую очередь станет понятен уровень квалификации в рассматриваемом вопросе. > По своей сути вся эта классификация является древовидной (раннее писал > шарообразной, что не совсем удачно) и чтобы описать ее нам нужно создать > кучу таблиц и привязать друг другу связками по полю ID, например. Уж деревья то в базе - достаточно банальная задача. И дерево для описанной ранее задачи (и не только) можно реализовать в одной простейшей таблице. > И все. Учи матчасть. Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2006, 20:27 |
|
|
start [/forum/topic.php?fid=35&tid=1552176]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 241ms |
total: | 426ms |
0 / 0 |