Теневой стол

Теневые таблицы — это объекты в информатике, используемые для улучшения способа обработки информации машинами, сетями и программами. [1] Более конкретно, теневая таблица — это объект, который читается и записывается процессором и содержит данные, аналогичные (в том же формате, что и) его основной таблице, которая является таблицей, которую он «затеняет». Теневые таблицы обычно содержат данные, необходимые для работы и обслуживания основной таблицы, но не входят в подмножество данных, необходимых для существования основной таблицы. [2] Теневые таблицы относятся к типу данных «следы» в системах хранения данных. Треки очень похожи на теневые таблицы, но вместо хранения идентично отформатированной информации, которая отличается (например, теневые таблицы), они хранят историю изменений и функций, выполняемых с таблицей. [3]
История
[ редактировать ]Теневые таблицы как абстрактное понятие использовались с самого начала современных вычислений. Однако широкое использование конкретной фразы «теневая таблица» началось, когда системы управления реляционными базами данных (СУБД). в 1970-х годах стали широко использоваться [4]
Первоначальное использование реляционных DBM в коммерческих целях привело к распространению термина «теневые таблицы». Реляционная DBM использует связанные поля данных (столбцы) для корреляции информации между таблицами. [5] Например, две таблицы, «transaction_user» и «transaction_amount», будут содержать столбец «ключ», а ключи между таблицами будут совпадать, что позволит легко найти как пользователя, так и сумму конкретной транзакции, если ключ известен. Эта реляционная технология позволяла людям сопоставлять информацию, хранящуюся в основной таблице, и ее тени.
Приложения
[ редактировать ]Поскольку теневые таблицы — абстрактное понятие, их применение остается в сфере информатики. Хотя их использование не может быть конкретно объявлено как «теневые таблицы», концепция остается той же. Теневые таблицы обычно используются для повышения производительности, емкости и возможностей существующей компьютерной/сетевой системы. В большинстве приложений теневые таблицы обычно представляют собой точную копию структуры своих основных таблиц, но с уникальными данными.
Теоретическое применение
[ редактировать ]Поскольку теневые таблицы представляют собой особый тип объектов в информатике, приложения сильно различаются, поскольку их применение зависит от того, какие данные хранятся в теневой таблице и как эти данные используются. Ниже приводится список общих абстрактных приложений для теневых таблиц, которые охватывают все реальные приложения.
- Хранилище — хранилище записи данных в теневой таблице, которая обычно была бы удалена или изменена.
- Инкапсуляция — размещение данных в теневой таблице для отделения одного набора данных от другого.
- Модульность . Размещение данных в теневой таблице для упрощения модификации и обработки данных.
Инженерные приложения
[ редактировать ]Когда теневые таблицы используются для решения текущих проблем в современных компьютерных/сетевых системах, обычно используется комбинация более чем одного из вышеупомянутых теоретических/абстрактных применений теневых таблиц. Следующий список представляет собой очень небольшую часть всех реальных применений теневых таблиц и показан только для примера распространенных применений теневых таблиц.
Системы управления базами данных
[ редактировать ]Системы управления базами данных (СУБД) — это программное обеспечение, которое обеспечивает обслуживание, безопасность и манипулирование таблицами данных. Хорошо известными и широко используемыми примерами СУБД являются SQL Server, MySQL, Oracle и PostgreSQL. Каждая из этих СУБД создает виртуальную «среду», в которой хранятся таблицы данных, которые можно читать и записывать с помощью определенного типа языка программирования, известного как язык запросов . Языки запросов специализируются на простой модификации или извлечении больших и определенных объемов данных. Большинство современных СУБД специально поддерживают SQL (особый тип языка запросов). Используя SQL, можно легко создавать таблицы, имеющие ту же структуру, что и уже существующие таблицы. SQL также может получать данные, записываемые в эти новые таблицы, создавая теневую таблицу. Теневые таблицы часто используются с СУБД для повышения эффективности за счет предотвращения выполнения избыточных операций с помощью СУБД. Теневые таблицы также легко реализовать в большинстве современных СУБД, поскольку они не влияют на исходные данные, поэтому на совместную работу баз данных и приложений, обращающихся к ним, это не влияет, если это нежелательно. [6]
Например, теневые таблицы можно использовать в эффективной системе резервного копирования, поддерживающей большие таблицы данных, которые редко изменяются.
- Без теневых таблиц можно было бы создать программу, которая просто сохраняла бы версию этой таблицы каждый день.
Через 50 дней с помощью этой системы резервного копирования будет 50 копий одной и той же таблицы. - С помощью теневых таблиц можно создать пустую «теневую таблицу» этой таблицы и использовать программу, которая вставляет копию строки в теневую таблицу каждый раз, когда эта строка удаляется из основной таблицы.
Через 50 дней использования системы теневых таблиц в худшем случае останется одна копия основной таблицы, при условии, что каждая строка в основной таблице будет удалена. [5] [7]
Интерфейс
[ редактировать ]Взаимодействие — это процесс использования «уровней» для упрощения связи между технологиями, а также между людьми и технологиями. Одним из примеров многоуровневого интерфейса являются кнопки и меню, используемые операционными системами домашних компьютеров. Эти графические объекты существуют как ссылки на базовые «кнопки» операционной системы. Командная консоль находится на один уровень ниже этих графических объектов, поскольку она дает вам еще более тесную связь с базовыми функциями операционной системы.
Теневые таблицы часто используются как прослойки между конечным пользователем и базой данных. Например, если пользователь входит в свой банковский счет и запрашивает историю всех своих прошлых транзакций, база данных обычно хранит все транзакции для всех пользователей в одной огромной таблице и различает стороны, участвующие в каждой транзакции, в одном конкретном столбце. этого стола. На этом этапе у сервера есть два варианта:
- База данных может отправить всю таблицу транзакций.
- База данных может отправить теневую таблицу, содержащую только транзакции с участием пользователя, запросившего историю транзакций.
Второй вариант обычно более предпочтителен, поскольку он экономит полосу пропускания и вычислительную мощность на стороне пользователя. Он также обеспечивает безопасность данных транзакций других лиц.
Виртуализация операционной системы
[ редактировать ]Виртуализация операционной системы — это процесс моделирования работы одного компьютера внутри другого компьютера. Этот метод полезен для тех, кто хочет одновременно запускать на своем компьютере несколько типов операционных систем. Таблицы теневых страниц часто используются при моделировании более чем одной операционной системы на одном наборе памяти и процессора. Таблица страниц используется операционной системой для сопоставления виртуальной памяти , фактической памяти, используемой программами и операционной системой для хранения информации, с ее расположением в физической памяти , аппаратной памяти, хранящейся в байтах в ОЗУ (случайная память). Доступ к памяти). [8] Таблица теневых страниц — это таблица псевдостраниц в основной таблице страниц компьютера, которая позволяет системе одновременно запускать более одного типа операционных систем. [9]
Ссылки
[ редактировать ]- ^ «Теневые базы данных» . Поддержка достижений . Проверено 26 октября 2011 г.
- ^ Эмблер, Скотт. «Теневая информация и леса» . Сопоставление объектов с реляционными базами данных: подробное сопоставление O/R . Гибкие данные . Проверено 28 октября 2011 г.
- ^ Велу, Мартин. «Тени и тропы» . Велу . Проверено 26 октября 2011 г.
- ^ Браун, Пит. «Горный человек» . Краткая история управления информационными технологиями современных СУБД . Проверено 30 октября 2011 г.
- ^ Перейти обратно: а б Кодд, Эдгар (июнь 1970 г.). «Реляционная модель данных для больших общих банков данных» (PDF) . Коммуникации АКМ . 13 (6): 377–387. дои : 10.1145/362384.362685 . Проверено 28 октября 2011 г.
- ^ Спикер: Девин Спакман, Марк (2005 г.). Корпоративные интеграционные решения . Редмонд, Вашингтон: Microsoft Press. п. 45. ИСБН 978-0-7356-2060-5 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Кент, Джек и Гектор Гарсиа-Молина. 1988. с. 13.
- ^ Деннинг, П.Дж. «Таблицы страниц» . Проверено 30 октября 2011 г.
- ^ «Виртуализация: архитектурные соображения и другие критерии оценки» (PDF) . Проверено 30 октября 2011 г.