Организация данных файловой системы, как решить
Обновлено: 21.11.2024
Ключевые проблемы в традиционной файловой среде перечислены ниже:
- Избыточность данных
- Несогласованность данных
- Изоляция данных
- Проблемы с доступом к данным
- Проблема целостности
- Проблема атомарности
- Аномалии одновременного доступа
- Проблемы безопасности
Избыточность данных. Избыточность данных означает дублирование одних и тех же данных или файлов данных в разных местах. Плоские файловые системы страдают от проблемы высокой избыточности данных. Например, запись (такая как идентификатор студента, имя, уровень, программа, раздел и т. д.) студента может появиться в файлах данных библиотеки, а также в файлах данных экзамена. Такая избыточность приводит к увеличению стоимости хранения и доступа. С другой стороны, системы управления базами данных могут значительно уменьшить проблему избыточности данных. Обратите внимание, что СУБД не может полностью устранить проблему избыточности данных.
Несогласованность данных. Несогласованность данных является побочным эффектом избыточности данных. Данные называются несогласованными, если различные копии одних и тех же данных могут больше не согласовываться. Непостоянство данных возникает, если измененные данные отражаются в файлах данных в одном месте, но не в другом месте системы. Например, если файл данных библиотеки содержит номер ячейки студента как 9841567843, но в файлах данных экзамена в качестве номера ячейки студента хранится 9851167895, то мы можем сказать, что данные противоречивы. Плоские файловые системы могут страдать от проблемы несогласованности данных. Но системы баз данных могут решить проблему непостоянства данных, автоматически распространяя обновления данных, сделанные в одном файле базы данных, в другие файлы данных.
Изоляция данных: поскольку данные разбросаны по разным файлам, а файлы могут иметь разные форматы, написание новых прикладных программ для извлечения соответствующих данных в неструктурированных файловых системах затруднено. Например, один файл данных может содержать данные, разделенные запятой, а другой файл данных может содержать данные, разделенные пробелом.
Сложность доступа к данным: системы обработки файлов не позволяют извлекать необходимые данные эффективным и удобным способом. Например, предположим, что у нас уже есть программа для создания списка книг на основе темы. Теперь, если нам нужно сгенерировать список книг на основе имени автора, нам нужно либо извлечь данные из файлов данных книг вручную, либо мы должны попросить программиста написать программу для извлечения необходимых данных из файла данных книг. Оба варианта неудовлетворительны.
Проблемы целостности. Целостность означает правильность данных до и после выполнения транзакции. Ограничения целостности — это условия, применяемые к данным. Например, если максимальная заработная плата в организации составляет 150 000, то у нас есть ограничение целостности «зарплата ≤ 150 000». Ограничения целостности важны для поддержания правильности данных. Это играет жизненно важную роль, чтобы предотвратить ошибки пользователей. Например, если пользователь по ошибке вводит 200 000 вместо 20 000 при переводе зарплаты сотрудника в свой аккаунт, указанное ограничение целостности нарушается, и, следовательно, система сообщает пользователю об ошибке.
К сожалению, плоские файловые системы не позволяют указывать ограничение целостности, поэтому поддерживать правильность данных сложно. С другой стороны, системы управления базами данных позволяют нам указывать ограничения целостности данных, поэтому относительно легко поддерживать правильность данных
Проблемы атомарности: выполнение транзакций должно быть атомарным. Это означает, что транзакции должны выполняться полностью или не выполняться вообще. Если выполнение транзакции не является атомарным, она оставляет базу данных в неправильном состоянии. Рассмотрим пример транзакции, которая переводит 5000 рупий со счета A на счет B.
Если выполнение транзакции не выполняется в момент, указанный на рисунке выше, это приводит к вычету 5000 рупий со счета A без внесения их на счет B. Система обработки файлов не гарантирует атомарное выполнение транзакций и, следовательно, этот тип проблемы могут возникнуть в базах данных. Но системы баз данных гарантируют атомарность выполнения транзакций и, следовательно, вышеупомянутую проблему можно устранить.
Точка отказа
Аномалии одновременного доступа. Одновременное обновление одних и тех же данных различными транзакциями в одно и то же время может привести к несогласованности данных. Рассмотрим банковский счет «А», содержащий 50 000 рупий. Если два клиента снимают средства, скажем, 15 000
и 20 000 соответственно со счета A примерно в одно и то же время, результат параллельных исполнений может оставить счет в неправильном (или несогласованном) состоянии, если программы, выполняющиеся от имени каждого снятия, считывают старый баланс, как показано ниже. Плоские файловые системы не поддерживают выполнение параллельных транзакций и, следовательно, могут страдать от проблемы, упомянутой ниже. Но системы баз данных поддерживают одновременное выполнение транзакций с одними и теми же данными, не приводя к непостоянству данных.
Метод системы обработки файлов для организации данных и управления ими был явным улучшением по сравнению с ручной системой. Традиционная система обработки файлов уже давно хорошо справляется с управлением данными.
Однако существуют различные недостатки управления данными файловой системы.
Различные проблемы с обработкой управления данными файловой системы заключаются в следующем.
1. Проблемы с файловой системой: длительное время разработки
Первая и самая важная проблема системного подхода на основе файлов заключается в том, что даже простейшая задача извлечения данных требует сложного программирования.
В традиционной файловой среде программистам приходилось указывать, что и как нужно делать. Но современные базы данных используют непроцедурный язык манипулирования данными, который позволяет пользователю указать, что должно быть сделано, не указывая, как это должно быть сделано.
2. Проблемы с файловой системой управления данными: трудности с получением быстрых ответов
Еще одна важная проблема в традиционной системе файловой среды – сложность получения быстрых ответов, поскольку для новых отчетов требуется больше специальных запросов и больше программирования. Таким образом, мы не можем принять решение очень быстро.
3. Проблемы с файловой системой: сложное системное администрирование
В старой традиционной файловой системе администрирование системы усложняется по мере увеличения количества файлов. Даже простая файловая система с несколькими файлами требует создания и обслуживания нескольких программ управления файлами, поскольку для каждого файла должны быть свои собственные программы управления файлами, позволяющие пользователю добавлять, изменять и удалять записи.
Для просмотра содержимого файла и создания отчетов требуется больше программ для создания отчетов. Эта проблема удваивается, если каждый отдел в организации поддерживает свои данные, создавая свои собственные файлы.
<р>4. Проблемы с файловой системой: отсутствие безопасности и ограниченный обмен даннымиЕще один недостаток файловой системы – отсутствие безопасности и ограниченный обмен данными.
Обмен данными и безопасность тесно связаны между собой. Совместное использование данных между несколькими географически рассредоточенными пользователями создает множество рисков для безопасности. Что касается данных электронных таблиц, хотя многие программы для работы с электронными таблицами предоставляют базовые параметры безопасности, они не всегда используются, и даже когда они используются, их недостаточно для надежного обмена данными между пользователями.
С точки зрения создания программ управления данными и создания отчетов, функции безопасности и обмена данными сложно запрограммировать, поэтому они обычно не используются в среде файловой системы. К таким функциям относятся эффективная защита паролем, возможность блокировки частей файлов или частей самой системы и другие меры, предназначенные для защиты конфиденциальности данных. Даже когда делается попытка улучшить безопасность системы и данных, средства безопасности, как правило, ограничены по масштабу и эффективности.
5. Проблемы с файловой системой: обширное программирование
Внесение изменений в существующую файловую структуру в файловой системной среде требует обширного программирования. Например, для изменения всего одного поля в исходном файле CUSTOMER потребуется программа, которая:
<р>2. Преобразует исходные данные в соответствии с требованиями хранения новой структуры.
<р>3. Записывает преобразованные данные в новую файловую структуру.
<р>4. Повторяет шаги со 2 по 4 для каждой записи в исходном файле.
Любое небольшое изменение в файловой структуре вызывает изменения во всех программах, использующих данные в этом файле. Модификации, скорее всего, приведут к ошибкам (ошибкам), и на поиск этих ошибок будет потрачено дополнительное время с использованием процесса отладки.
6. Проблемы с файловой системой: структурная зависимость
Система на основе файлов демонстрирует структурную зависимость, что означает, что доступ к файлу зависит от его структуры.
Например, при добавлении поля даты рождения клиента в CUSTOMER с учетом этого изменения ни одна из предыдущих программ не будет работать с новой файловой структурой CUSTOMER. Поэтому все программы файловой системы необходимо изменить, чтобы они соответствовали новой файловой структуре.
Таким образом, системные прикладные программы, основанные на файлах, подвержены влиянию модификации файловой структуры, они проявляют структурную зависимость. Если существует структурная независимость, то можно вносить изменения в структуру файла, не влияя на способность прикладной программы обращаться к данным.
7.Проблемы с файловой системой: зависимость данных
Еще одна проблема традиционной файловой системы заключается в том, что изменение характеристик данных, например изменение поля с целого на десятичное, требует внесения изменений во все программы, обращающиеся к файлу.
Поскольку все программы доступа к данным могут быть изменены при изменении любой из характеристик хранения данных файла (то есть при изменении типа данных), говорят, что файловая система демонстрирует зависимость от данных.
Итак, если существует независимость данных, то можно вносить изменения в характеристики хранения данных, не влияя на способность прикладной программы получать доступ к данным.
8. Проблемы с файловой системой: избыточность данных
Избыточность данных — еще одна важная проблема в традиционной системе обработки файлов.
я. Низкая безопасность данных. Наличие нескольких копий данных повышает вероятность несанкционированного доступа к одной из копий данных.
ii. Несогласованность данных. Несогласованность данных возникает, когда разные и конфликтующие версии одних и тех же данных появляются в разных местах.
Например, предположим, что вы изменили номер телефона или адрес агента в файле AGENT. Если вы забудете внести соответствующие изменения в файл CUSTOMER, файлы будут содержать разные данные для одного и того же агента. Отчеты будут давать противоречивые результаты, которые зависят от того, какая версия данных используется.
iii. Аномалии данных. В словаре аномалия определяется как «аномалия». В идеале изменение значения поля должно производиться только в одном месте. Избыточность данных, однако, способствует ненормальному состоянию, вызывая изменения значений полей во многих разных местах. Аномалия данных возникает, когда не все необходимые изменения в избыточных данных вносятся успешно.
Способы управления данными компьютерами сильно изменились за последние несколько десятилетий. Сегодняшние пользователи воспринимают как должное многие преимущества системы баз данных. Однако не так давно компьютеры полагались на гораздо менее элегантный и дорогостоящий подход к управлению данными, называемый файловой системой.
Файловая система
Один из способов сохранить информацию на компьютере – это хранить ее в постоянных файлах. Система компании имеет ряд прикладных программ; каждый из них предназначен для манипулирования файлами данных. Эти прикладные программы были написаны по запросу пользователей в организации. Новые приложения добавляются в систему по мере необходимости. Только что описанная система называется системой на основе файлов.
Рассмотрите традиционную банковскую систему, использующую файловую систему для управления данными организации, показанную на рис. 1.1. Как мы видим, в банке есть разные отделы. Каждый из них имеет свои собственные приложения, которые управляют различными файлами данных и манипулируют ими. Для банковских систем программы могут использоваться для дебетования или кредитования счета, определения остатка на счете, добавления нового ипотечного кредита и создания ежемесячных отчетов.
<р> Рисунок 1.1. Пример файловой системы, используемой банками для управления данными.
Недостатки файлового подхода
Использование файловой системы для хранения организационной информации имеет ряд недостатков. Ниже перечислены пять примеров.
Избыточность данных
Часто внутри организации файлы и приложения создаются разными программистами из разных отделов в течение длительного периода времени. Это может привести к избыточности данных, ситуации, которая возникает в базе данных, когда поле необходимо обновить более чем в одной таблице. Эта практика может привести к нескольким проблемам, таким как:
- Несоответствие формата данных.
- Одна и та же информация хранится в нескольких разных местах (файлах)
- Несогласованность данных — ситуация, когда различные копии одних и тех же данных конфликтуют, что приводит к нерациональному использованию места для хранения и дублированию усилий.
Изоляция данных
Изоляция данных — это свойство, определяющее, когда и как изменения, сделанные одной операцией, становятся видимыми для других одновременно работающих пользователей и систем. Эта проблема возникает в ситуации параллелизма. Это проблема, потому что:
- Новым приложениям сложно получить нужные данные, которые могут храниться в различных файлах.
Проблемы целостности
- Значения данных должны удовлетворять определенным ограничениям согласованности, указанным в прикладных программах.
- Трудно вносить изменения в прикладные программы, чтобы ввести новые ограничения.
Проблемы безопасности
Безопасность может быть проблемой при файловом подходе, потому что:
- Существуют ограничения на доступ к привилегиям.
- Требования к приложениям добавляются в систему по мере необходимости, поэтому трудно обеспечить соблюдение ограничений.
Параллельный доступ
Параллелизм — это способность базы данных разрешать нескольким пользователям доступ к одной и той же записи без негативного влияния на обработку транзакций. Файловая система должна управлять или предотвращать параллелизм прикладных программ. Как правило, в файловой системе, когда приложение открывает файл, этот файл блокируется. Это означает, что в то же время никто другой не имеет доступа к файлу.
В системах баз данных параллелизм управляется, что позволяет нескольким пользователям получать доступ к одной и той же записи. Это важное различие между базой данных и файловой системой.
Подход к базе данных
Трудности, возникающие при использовании файловой системы, привели к разработке нового подхода к управлению большими объемами организационной информации, который называется подход к базе данных.
Базы данных и технологии баз данных играют важную роль в большинстве областей, где используются компьютеры, включая бизнес, образование и медицину. Чтобы понять основы систем баз данных, мы начнем с введения некоторых основных понятий в этой области.
Роль баз данных в бизнесе
Каждый так или иначе использует базу данных, даже если она просто хранит информацию о своих друзьях и семье. Эти данные могут быть записаны или сохранены на компьютере с помощью программы обработки текстов или сохранены в электронной таблице. Однако лучше всего хранить данные с помощью программного обеспечения для управления базами данных. Это мощный программный инструмент, который позволяет хранить, обрабатывать и извлекать данные различными способами.
Большинство компаний отслеживают информацию о клиентах, сохраняя ее в базе данных. Эти данные могут включать клиентов, сотрудников, продукты, заказы или что-либо еще, что помогает бизнесу в его деятельности.
Значение данных
Данные – это фактическая информация, такая как измерения или статистика об объектах и понятиях. Мы используем данные для обсуждения или как часть расчета. Данные могут быть человеком, местом, событием, действием или чем-либо еще. Отдельный факт является элементом данных или элементом данных.
Если данные — это информация, а информация — это то, с чем мы работаем, вы можете начать понимать, где вы можете ее хранить. Данные могут храниться в:
- Картотеки
- Таблицы
- Папки
- Гроссбухи
- Списки
- Кучи бумаг на вашем столе
Все эти элементы хранят информацию, как и база данных. Из-за механической природы баз данных они обладают огромными возможностями для управления и обработки хранящейся в них информации. Это может сделать информацию, которую они хранят, гораздо более полезной для вашей работы.
Благодаря такому пониманию данных мы можем начать понимать, как инструмент, способный хранить коллекцию данных и упорядочивать их, проводить быстрый поиск, извлекать и обрабатывать, может повлиять на то, как мы можем использовать данные. Эта книга и последующие главы посвящены управлению информацией.
параллелизм: способность базы данных разрешать нескольким пользователям доступ к одной и той же записи без негативного влияния на обработку транзакций
элемент данных: отдельный факт или часть информации
несогласованность данных: ситуация, когда разные копии одних и тех же данных конфликтуют
изоляция данных: свойство, определяющее, когда и как изменения, сделанные одной операцией, становятся видимыми для других одновременно работающих пользователей и систем
целостность данных: относится к обслуживанию и обеспечению правильности и согласованности данных в базе данных
избыточность данных: ситуация, возникающая в базе данных, когда поле необходимо обновить более чем в одной таблице
подход к базе данных: позволяет управлять большими объемами организационной информации
система на основе файлов: прикладная программа, предназначенная для управления файлами данных
- Обсудите каждый из следующих терминов:
- данные
- поле
- запись
- файл ол>
- Сколько записей в таблице содержит файл?
- Сколько полей в записи?
- С какой проблемой вы бы столкнулись, если бы захотели создать список по городам?
- Как бы вы решили эту проблему, изменив структуру файла?
Атрибуция
Эта глава книги Проектирование базы данных (включая изображения, если не указано иное) является производной копией книги Нгуен Ким Ань "Концепции системы баз данных" под лицензией Creative Commons Attribution License 3.0
Выбор правильной системы организации файлов для записей базы данных или цифровых файлов влияет на то, что вы можете делать с данными и насколько эффективно работает ваша система. Последовательная файловая организация означает, что компьютеры хранят данные или файлы в определенной последовательности, а не в определенном месте или в соответствии с типом данных или файла. Последовательная организация файлов прозрачна для пользователя, а методы организации последовательных файлов работают с различными типами данных и разными операционными средами. Выбор системы в соответствии с вашими потребностями и создание файлов, соответствующих выбранной системе, помогает эффективно извлекать и изменять данные.
Порядок создания
Самая простая последовательная организация файлов – это сохранение файлов в том порядке, в котором они были созданы. Первый файл сохраняется первым, следующий вторым и так далее. Этот метод прост и позволяет удалять файлы, не нарушая последовательности. Хотя этот метод позволяет размещать вновь созданные файлы в конце последовательности, не указывается местонахождение информации. Низкая сложность организационного метода означает, что поиск информации занимает много времени, так как поиск должен просматривать каждый файл, начиная с первого.
Проиндексированные файлы 101
Индексированные последовательные файлы решают эту проблему, но за счет организационной простоты. Согласно IBM, система перечисляет файлы или данные в заранее определенном порядке. Когда вы создаете файл, система должна либо вставить новый файл в правильной последовательности, либо переиндексировать весь список файлов. Создание новых файлов и размещение их в индексе занимает больше времени, но поиск информации занимает меньше времени, потому что вы знаете, где в проиндексированной системе начать поиск.
Последовательная настройка файловой системы
При разработке последовательной файловой системы необходимо учитывать, как часто вам нужно искать данные и как часто вы планируете добавлять или изменять файлы. Системы архивного типа постоянно расширяются по мере добавления новых файлов, но поиск осуществляется сравнительно редко. Подойдет система, в которой информация сохраняется последовательно, по мере того как вы ее архивируете. Примеры последовательной организации включают в себя такие вещи, как база данных колл-центра, которая относительно статична, но подвергается постоянному поиску. Имеет смысл использовать алфавитный или другой индекс, позволяющий быстро находить определенные записи.
Производительность и последовательные файловые системы
Двумя критическими параметрами методов последовательной организации файлов являются скорость и место для хранения. Когда вы сохраняете файлы последовательно, нет места для последующего увеличения файла. Система либо должна хранить дополнительную информацию в другом месте, либо освобождать место и пересохранять все файлы. Java T Point сообщает, что оба метода требуют много дополнительного времени.
Последовательные файловые системы решают эту проблему, резервируя дополнительное пространство для каждого файла при его создании системой. Это позволяет избежать задержки, но использует гораздо больше места. При настройке системы вы должны решить, что более ценно — сэкономленное время или используемое пространство, и использовать соответствующий метод для организации файлов.
Читайте также: