s255 | Ненулевой строковый столбец длиной 255 |
L50 | Обнуляемый локализуемый строковый столбец длиной 50 |
i2, I2 | Короткий целочисленный столбец |
i4, I4 | Длинный целочисленный столбец |
тело> таблица>
Перевод управляющих символов
При экспорте таблицы в файл текстового архива управляющие символы преобразуются во избежание конфликтов с разделителями файлов. При записи в файл .idt управляющие символы транслируются следующим образом.
"Архив SQLite" – это файловый контейнер, похожий на ZIP-архив или Tarball, но основанный на базе данных SQLite.
Архив SQLite — это обычный файл базы данных SQLite, который содержит следующую таблицу как часть своей схемы:
Каждая строка таблицы SQLAR содержит содержимое одного файла. Имя файла (полный путь относительно корня архива) находится в поле «имя». Поле «режим» представляет собой целое число, которое представляет собой права доступа к файлу в стиле unix. «mtime» — время модификации файла в секундах с 1970 года. «sz» — исходный несжатый размер файла. Поле «данные» содержит содержимое файла. Контент обычно сжимается с помощью Deflate, хотя и не всегда. Если поле "sz" равно размеру поля "данные", содержимое сохраняется в несжатом виде.
1.1. База данных как объект-контейнер
Архив SQLite — это один из примеров более общей идеи о том, что база данных SQLite может вести себя как объект-контейнер, содержащий множество более мелких компонентов данных.
При работе с клиент-серверными базами данных, такими как PostgreSQL или Oracle, пользователи и разработчики склонны думать о базе данных как о службе или "узле", а не как об объекте. Это связано с тем, что содержимое базы данных распределено по нескольким файлам на сервере или, возможно, по нескольким серверам в сервисном кластере. Нельзя указать на один файл или даже на один каталог и сказать «это база данных».
Исследования показывают, что многие приложения уже используют SQLite в качестве объекта-контейнера. Например, Кеннеди (не имеющий отношения к разработчику SQLite) сообщает, что 14% Android-приложений никогда не пишут в свои базы данных SQLite. Считается, что эти приложения загружают целые базы данных из облака, а затем используют информацию локально по мере необходимости. Другими словами, приложения используют SQLite не столько как базу данных, сколько как запрашиваемый формат телеграфного перевода.
1.2. Приложения, использующие архивы SQLite
Распределенная система управления версиями Fossil предоставляет пользователям возможность загружать проверки в виде архивов Tarballs, ZIP-архивов или архивов SQLite.
Архив SQLite является гибким. ZIP-архивы и тарболлы могут хранить только файлы. В архиве SQLite хранятся файлы, а также любые другие табличные и/или реляционные данные, которые кажутся полезными для приложения.
Архив SQLite является транзакционным. Обновления являются атомарными и долговечными, даже если в середине обновления происходят сбои или потери питания. Читатели видят непротиворечивую и неизменную версию контента, даже если какой-то другой процесс одновременно обновляет архив.
Архив SQLite можно обновлять постепенно. Отдельные файлы можно добавлять, удалять или заменять без перезаписи всего архива.
К архиву SQLite можно обращаться с помощью языка запросов высокого уровня (SQL). Некоторые примеры:
- Каков общий размер всех файлов в архиве, имена которых заканчиваются на ".h" или ".cpp"?
- Какой процент файлов сжат менее чем на 25 %?
- Сколько исполняемых файлов находится в архиве?
Архив SQLite может обойти цензуру брандмауэра. Например, определенные типы файлов, считающиеся «опасными» (примеры: библиотеки DLL), будут заблокированы Gmail и, вероятно, многими другими почтовыми службами и брандмауэрами, даже если файлы упакованы в ZIP-архив или архив. Но эти брандмауэры обычно (пока) не знают об архивах SQLite, поэтому содержимое может быть помещено в архив SQLite, чтобы избежать цензуры.
Архив SQLite — относительно новый формат. Впервые он был описан в 2014 году. ZIP-архивы и тарболы, с другой стороны, существуют уже несколько десятилетий и хорошо зарекомендовали себя как стандартные форматы. Большинство программистов знают, что такое ZIP-архив или Tarball, но если вы скажете «Архив SQLite», вы, скорее всего, получите ответ «Что?» Инструментарий для обработки ZIP-архивов и архивов с большей вероятностью будет установлен на стандартных компьютерах.
Поскольку база данных SQLite является более общим форматом (она предназначена для гораздо большего, чем простое хранение набора файлов), она не такая компактная, как форматы ZIP Archive или Tarball. Архив SQLite обычно примерно на 1% больше, чем эквивалентный ZIP-архив.Тарболы сжимаются как единое целое, а не сжимаются каждый файл отдельно, как это делается в архивах SQLite и ZIP. По этой причине архивы, как правило, меньше, чем архивы ZIP или SQLite.
Например, в следующей таблице показаны относительные размеры архива SQLite, ZIP-архива и архива Tarball из 1743 файлов в исходном дереве SQLite 3.22.0:
Архив SQLite поддерживает только метод сжатия Deflate. Тарболы и ZIP-архив поддерживают более широкий набор методов сжатия.
Чтобы получить список всех файлов в архиве SQLite с именем «example.sqlar», используйте одну из следующих команд:
Чтобы извлечь все файлы из архива SQLite с именем "example.sqlar":
Чтобы создать новый архив SQLite с именем alltxt.sqlar, содержащий все файлы *.txt в текущем каталоге:
Чтобы добавить или обновить файлы в существующем архиве SQLite:
Чтобы получить подсказки по использованию и сводку всех параметров, просто укажите в интерфейсе командной строки параметр -A без дополнительных аргументов:
Все эти команды работают одинаково, если аргумент имени файла является ZIP-архивом, а не базой данных SQLite.
4.1. Другие инструменты командной строки
Точно так же, как существует программа "zip" для управления ZIP-архивами и программа "tar" для управления архивами Tarballs, существует программа "sqlar" для управления архивами SQL. Программа «sqlar» может создавать новый архив SQLite, отображать содержимое существующего архива, добавлять или удалять файлы из архива и/или извлекать файлы из архива. Отдельная программа sqlarfs может монтировать архив SQLite как файловую систему Fuse.
Приложения могут легко читать или записывать архивы SQLite, связываясь с SQLite и включая расширение ext/misc/sqlar.c для обработки сжатия и распаковки. Расширение sqlar.c создает две новые функции SQL.
sqlar_compress(X)
Функция sqlar_compress(X) пытается сжать копию строки или большого двоичного объекта X, используя алгоритм по умолчанию, и возвращает результат в виде большого двоичного объекта. Если вход X несжимаемый, то возвращается копия X. Эта процедура используется при вставке содержимого в архив SQLite.
sqlar_uncompress(Y,SZ)
Функция sqlar_uncompress(Y,SZ) отменит сжатие, выполненное функцией sqlar_compress(X). Параметр Y представляет собой сжатое содержимое (результат предыдущего вызова sqlar_compress()), а SZ — исходный несжатый размер входных данных X, которые сгенерировали Y. Если SZ меньше или равен размеру Y, это указывает на то, что сжатия не было, поэтому sqlar_uncompress(Y,SZ) возвращает копию Y. В противном случае sqlar_uncompress(Y,SZ) запускает алгоритм Inflate для Y, чтобы распаковать его и восстановить его исходную форму, а также вернуть несжатое содержимое. Эта процедура используется при извлечении содержимого из архива SQLite.
Используя две приведенные выше процедуры, приложения могут легко вставлять новые записи или извлекать существующие записи из архива SQLite. Вставьте новый в архив SQLite, используя такой код:
Извлеките запись из архива SQLite, используя следующий код:
Приведенный выше код предназначен для общего случая. Для особого случая архива SQLite, в котором хранится только несжатое или несжимаемое содержимое (это может произойти, например, в архиве SQLite, в котором хранятся только изображения JPEG, GIF и/или PNG), тогда содержимое может быть вставлено и извлечено. из базы данных без использования функций sqlar_compress() и sqlar_uncompress(), и расширение sqlar.c не требуется.
Быстрые изменения в технологиях означают, что форматы файлов могут быстро устаревать и создавать проблемы для вашей стратегии управления записями. Долгосрочная перспектива и тщательное планирование помогут преодолеть этот риск и обеспечить выполнение юридических и операционных требований.
По закону ваши записи должны быть достоверными, полными, доступными, юридически приемлемыми в суде и храниться столько времени, сколько этого требуют ваши утвержденные графики хранения записей. Например, вы можете преобразовать запись в другой, более надежный формат (например, из почти устаревшей программы в текстовый файл), и эта копия, если она создана надежным образом, является юридически приемлемой.
Программное обеспечение, в котором создается файл, обычно использует формат по умолчанию при сохранении файла. На это указывает суффикс имени файла (например, .PDF для переносимого формата документа). Однако большинство программ позволяет авторам выбирать из множества форматов при сохранении файла. Например, Microsoft Word позволяет автору выбрать документ [DOC], форматированный текст [RTF] или текст [TXT], а также другие параметры формата. Некоторое программное обеспечение, например Adobe Acrobat, предназначено для преобразования файлов из одного формата в другой. Выбранный формат повлияет на ваши возможности долгосрочного управления записями.
Правовая база
Для получения дополнительной информации о правовой базе, которую необходимо учитывать при разработке политики форматов файлов, см. главу Правовая база настоящих правил и Государственного архива Миннесоты. Хранение и уничтожение государственных документов.
Ключевые понятия
При рассмотрении доступных вам форматов файлов вам необходимо ознакомиться со следующими понятиями:
Проприетарные, непатентованные форматы файлов, файлы с открытым исходным кодом и открытые стандартные форматы
- Запатентованные форматы. Проприетарные форматы файлов контролируются и поддерживаются только одним разработчиком программного обеспечения. Формат Microsoft Word (.DOC) приведен в качестве примера.
- Непатентованные форматы. Эти форматы поддерживаются более чем одним разработчиком, и к ним можно получить доступ с помощью различных программных систем. Расширяемый язык разметки (XML) – это популярный непатентованный формат для государственных документов.
- Форматы с открытым исходным кодом. В общем, открытый исходный код относится к любой программе, исходный код которой доступен для использования или модификации по усмотрению пользователей или других разработчиков. Форматы с открытым исходным кодом — это опубликованные общедоступные спецификации для хранения данных, которые часто поддерживаются организацией по стандартизации. Открытые форматы могут использоваться как проприетарным программным обеспечением, так и программным обеспечением с открытым исходным кодом.
- Открытые стандартные форматы. Открытые стандартные форматы программного обеспечения создаются с использованием общедоступных спецификаций (форматы с открытым исходным кодом). Хотя исходные коды программного обеспечения остаются собственностью, доступность стандарта повышает совместимость, позволяя другим разработчикам создавать аппаратные и программные решения, взаимодействующие с другим программным обеспечением или заменяющие его.
Выбирая формат файла для использования в целях управления электронными записями, важно понимать, как проприетарные, непроприетарные, открытые форматы и открытые стандарты могут повлиять на доступность и подотчетность ваших записей в долгосрочной перспективе.< /p>
Типы файлов и связанные с ними форматы
Ниже приведены краткие описания основных типов и форматов файлов, с которыми вы, вероятно, столкнетесь. Дополнительную информацию можно найти в главе Цифровые изображения этих рекомендаций, а ресурсы в аннотированном списке ресурсов содержат более подробную информацию об отдельных форматах файлов.
Текстовые файлы. Текстовые файлы чаще всего создаются в программах обработки текстов. Общие форматы файлов для текстовых файлов включают:
- Проприетарные форматы, такие как файлы Microsoft Word, имеющие расширение программного обеспечения, в котором они были созданы.
- Файлы в формате RTF или Rich Text Format поддерживаются различными приложениями и сохраняются с инструкциями по форматированию (например, с макетом страницы).
- Файлы формата Portable Document Format (PDF), которые содержат изображение страницы, включая текст и графику. Файлы PDF широко используются для обмена файлами только для чтения. Adobe Acrobat на сегодняшний день является самым популярным приложением для работы с файлами PDF, хотя доступны и другие.
Файлы - Portable Document Format (PDF/A). PDF/A, как стандартный формат файлов для долгосрочного архивирования электронных документов, является подмножеством PDF. Файлы на 100 % автономны и не зависят от внешних источников информации о документах. Стандарт ISO: ISO 19005-1:2005.
Графические файлы. Графические файлы хранят изображение (например, фотографию, рисунок) и делятся на два основных типа; векторные и растровые.
- Векторные файлы сохраняют изображение в виде математических формул. Программы векторного изображения используют эту математическую формулу для отображения и масштабирования изображения без искажений. Общие типы векторных форматов файлов включают
- Файлы в формате обмена чертежами (DXF), которые широко используются в программах автоматизированного проектирования, например, в программах, которыми пользуются инженеры и архитекторы.
- Инкапсулированные файлы PostScript (EPS), которые широко используются в настольных издательских программах.
- Файлы метафайлов компьютерной графики (CGM), которые широко используются во многих программах, ориентированных на работу с изображениями (например, Photoshop), и обеспечивают высокую степень надежности.
- Шейп-файлы (SHP) — ГИС-приложения ESRI используют векторные координаты для хранения нетопологической геометрии и информации об атрибутах объектов.
- Растровые файлы (BMP) — это файлы относительно низкого качества, которые чаще всего используются в текстовых редакторах. Без сжатия.
- Файлы в формате Tagged Image File Format (TIFF) могут использоваться во многих различных программах и часто являются предпочтительным форматом для высококачественного мастер-изображения. Сжатие без сжатия или без потерь.
- Файлы JPEG, созданные Объединенной группой экспертов по фотографии (Joint Photographic Experts Group), являются очень распространенным форматом для цифровой фотографии. JPEG также является предпочтительным форматом для доставки фотографий через Интернет и обмена файлами.Сжатие с потерями.
- Объединенная группа экспертов по фотографии (JPEG2000). Развивающийся формат с несколькими методами сжатия, основанными на технологии вейвлетов. Сжатие без потерь.
- Файлы формата Graphics Interchange Format (GIF) широко использовались в Интернете для графики и логотипов с областями сплошного цвета. Из-за ограничений по цвету фотографии в этом формате воспроизводятся неточно. GIF также можно использовать для анимации с низким разрешением. (В PNG улучшены цветовые ограничения GIF.) Сжатие без потерь.
- Файлы Portable Network Graphics (PNG), разработанные для замены GIF, не защищены патентами и лицензиями и создают файлы более высокого качества, чем GIF. Формат PNG предпочтительнее для изображений, содержащих текст или штриховую графику, особенно в Интернете. Сжатие без потерь.
Файлы данных. Файлы данных создаются в программах баз данных и поэтому часто представляют собой проприетарные форматы. Файлы данных разделены на поля и таблицы, которые содержат дискретные элементы информации. Программное обеспечение строит отношения между этими дискретными элементами. Например, база данных обслуживания клиентов может содержать поля имени клиента, адреса и истории выставления счетов. Эти поля могут быть организованы в отдельные таблицы (например, одна таблица для всех полей имени клиента). Вы можете преобразовать файлы данных в текстовый формат, но вы потеряете связи между полями и таблицами. Например, если вы преобразуете информацию из базы данных клиентов в текст, вы можете получить десять страниц с именами, десять страниц с адресами и тысячу страниц с платежной информацией без указания того, какая информация относится к делу.
Файлы электронных таблиц. Файлы электронных таблиц хранят значения чисел в своих ячейках, а также отношения этих чисел. Например, одна ячейка может содержать формулу, суммирующую две другие ячейки. Как и файлы данных, файлы электронных таблиц чаще всего имеют собственный формат программы, в которой они были созданы. Данные могут совместно использоваться различными программами для работы с электронными таблицами путем сохранения отдельных электронных таблиц в виде текстового файла в формате обмена данными (DIF), однако значение и взаимосвязь чисел могут быть потеряны.
Видео- и аудиофайлы. Эти файлы содержат движущиеся изображения (например, оцифрованное видео, анимацию) и звуковые данные. Чаще всего они создаются и просматриваются в проприетарных программах и хранятся в проприетарных форматах. Общие используемые форматы файлов включают форматы QuickTime (.MOV), Windows Media Video (.WMV) и форматы Motion Picture Experts Group (MPEG) (.MP3); другие включают файлы .AVI и .WAV.
Языки разметки. Языки разметки, также называемые форматами разметки, содержат встроенные инструкции для отображения или понимания содержимого файла. Они предоставляют средства для передачи и обмена информацией через Интернет. Следующие форматы файлов языка разметки поддерживаются консорциумом World Wide Web (W3C) в качестве стандартов
- Стандартный обобщенный язык разметки (SGML), распространенный язык разметки, используемый в государственных учреждениях по всему миру, является международным стандартом. HTML и XML являются производными от SGML.
- Язык гипертекстовой разметки (HTML) используется для отображения большей части информации во Всемирной паутине. Поскольку презентация объединяется с содержимым посредством использования предопределенных тегов, HTML прост в использовании, но имеет ограниченные возможности. Другие языки разметки, такие как XHTML и XML, обеспечивают большую гибкость.
- Расширяемый язык разметки (XML) – это относительно простой язык, основанный на SGML, который набирает популярность для управления информацией и обмена ею. XML обеспечивает даже большую гибкость и контроль, чем XHTML, избегая при этом сложностей, связанных с SGML.
- Расширяемый язык гипертекстовой разметки (XHTML) сочетает в себе гибкость, присущую XML, с простотой использования, характерной для HTML. Строгие правила XHTML улучшают согласованность и дают возможность создавать собственные теги разметки. Поскольку они используют схожие правила, преобразование XHTML в XML проще, чем преобразование HTML в XML.
В таблице ниже приведены наиболее распространенные форматы файлов.
Таблица 1. Распространенные форматы файлов
Сохранение: преобразование и миграция
Чтобы обеспечить доступность ваших файлов с течением времени, вам необходимо постоянно проверять, поддерживаются ли форматы файлов, которые вы используете. Когда форматы больше не поддерживаются, вам нужно будет решить, собираетесь ли вы конвертировать и/или переносить свои форматы файлов. Если вы конвертируете свои записи, вы измените их форматы, возможно, на независимый от программного обеспечения формат. Если вы переносите свои записи, вы переместите их на другую платформу или носитель без изменения формата файла. Однако вам может потребоваться преобразовать записи, чтобы перенести их, чтобы они оставались доступными.Например, если вы переносите записи из операционной системы Apple в операционную систему Microsoft Windows, вам может потребоваться преобразовать записи в формат файла, доступный в операционной системе Windows (например, RTF, Word 2000). Дополнительные сведения о преобразовании и переносе см. в главах Стратегия управления электронными записями и Долгосрочное хранение настоящего руководства.
- Данные. Если вы потеряете данные или они будут повреждены, вы в той или иной степени потеряете содержимое записи. Имейте в виду, что по закону ваши записи должны быть полными и заслуживающими доверия. Метаданные также могут быть изменены или утеряны.
- Внешний вид. Если вы конвертируете все текстовые документы в формат RTF, вы рискуете потерять структуру записи; вы можете потерять часть макета страницы. Вы должны определить, влияет ли эта потеря на полноту записи. Если структура важна для понимания записи, эта потеря может быть неприемлемой.
- Отношения. Другим риском является потеря взаимосвязей данных внутри файла или между файлами (например, формул ячеек электронной таблицы, полей файла базы данных). Опять же, эта потеря может повлиять на юридическое требование о полной документации.
Сжатие
В рамках вашей стратегии управления записями вы можете выбрать сжатие файлов. Ниже приведены некоторые плюсы и минусы.
Таблица 2. Плюсы и минусы сжатия файлов
Сжатие файлов приводит к уменьшению размера файла, что уменьшает объем необходимого места для хранения. Однако для создания файла меньшего размера информация часто удаляется из файла. Например, когда файл изображения сжимается, пиксели, которые, по мнению программного обеспечения, не будут пропущены, удаляются, полагаясь на человеческий глаз для заполнения отсутствующих деталей. Когда аудиофайл сжимается, звуки, часто незаметные для человеческого уха, удаляются, что приводит к уменьшению размера файла, который для большинства людей звучит так же, как несжатый файл. Варианты сжатия различаются по степени потери данных. Некоторые преднамеренно «с потерями», такие как описанные выше, в то время как другие предназначены для «без потерь». Сжатие без потерь приводит к меньшему размеру файла, но позволяет точно восстановить исходный файл из сжатых данных, в отличие от сжатия с потерями, которое только приближает исходные данные. Из-за этих проблем вы можете сжимать одни файлы, а другие нет.
Важность планирования
Многие проблемы, связанные с управлением записями, можно решить при правильном планировании. При попытке определить наиболее подходящий формат(ы) файлов для долгосрочного доступа необходимо учитывать множество факторов. Взвешивание плюсов и минусов каждого из приведенных ниже предложений поможет вам в планировании.
- Специальные возможности. Формат файла должен позволять сотрудникам и общественности (в соответствии с MGDPA) находить и просматривать запись. Другими словами, вы не можете преобразовать запись в формат, который сильно сжат и удобен для хранения, но недоступен.
- Долголетие. Разработчики должны поддерживать формат файла в долгосрочной перспективе. Если формат файла не будет поддерживаться в течение длительного времени, вы рискуете получить неустойчивые записи, поскольку программное обеспечение для чтения или изменения файла может быть недоступно. Записи должны быть перенесены или преобразованы, если вы определили, что формат файла больше не поддерживается. Открытый исходный код, открытый стандарт и непатентованные форматы предпочтительнее, чем полностью проприетарные.
- Точность. Если вы конвертируете свои записи, формат файла, в который вы конвертируете, должен привести к записям с приемлемым уровнем данных, внешнего вида и потери связей, если таковые имеются.
- Полнота. Если вы конвертируете свои записи, формат файла, в который вы конвертируете, должен соответствовать вашим операционным и юридическим целям в отношении приемлемого уровня данных, внешнего вида и потери отношений, если таковые имеются.
- Гибкость. Формат файла должен соответствовать вашим целям по совместному использованию и использованию записей. Например, вам может понадобиться часто обмениваться копиями записей с другим агентством, использовать записи в своей повседневной работе или позже преобразовать и/или перенести записи. Если формат файла может быть прочитан только специализированным оборудованием и/или программным обеспечением, ваши возможности делиться, использовать и манипулировать записями ограничены.
Ключевые вопросы, которые следует учитывать
Теперь, когда вы знакомы с некоторыми основными понятиями форматов файлов, вы можете использовать приведенные ниже вопросы, чтобы обсудить, как эти понятия относятся к вашему агентству. Обратите особое внимание на вопросы, поставленные правовой базой, включая необходимость общедоступности, полноту, достоверность, долговечность и юридическую допустимость. Учитывайте степень приемлемости данных, внешнего вида и потери отношений.Используйте долгосрочный подход, чтобы ваши форматы файлов соответствовали вашим операционным и юридическим требованиям сейчас и в будущем.
Читайте также: