Реализации систем управления базами данных |
---|
Реализации систем управления базами данных |
---|
Встраиваемая СУБД — это… Что такое Встраиваемая СУБД?
Встраиваемая система управления базами данных — архитектура систем управления базами данных, когда СУБД тесно связана с прикладной программой и работает на том же компьютере, не требуя профессионального администрирования.
Встраиваемые СУБД применяются во многих программах, которые хранят большие массивы данных, но при этом не требуется доступ с многих компьютеров. На «рабочем столе» неопытного пользователя тоже есть программы, в которых может найтись встраиваемая СУБД: почтовые клиенты и мессенджеры (базы переписки)[1], медиапроигрыватели (плейлисты и обложки)[2], просмотрщики изображений (метаданные и уменьшенные эскизы)[3], различные локальные БД наподобие телефонных справочников и геоинформационных систем (предоставляемые данные).
Исторически локальные и файл-серверные СУБД предоставляли скриптовый язык, на котором пользователь мог писать прикладную программу. Так устроены Microsoft Access, FoxPro, Clipper, файл-серверные версии 1С: Бухгалтерии. Недостатком этого подхода была крайняя бедность результирующих программ, ограниченные средства отладки. И зачастую не существовало компактной среды исполнения, которую можно распространять вместе с программой; нужна программа — устанавливай весь пакет. С распространением динамической линковки и opensource-сообщества маятник качнулся в другую сторону: пусть программист пишет свою программу на том языке высокого уровня, на котором удобно. СУБД же будет подсоединена к программе и станет единым целым с ней.
Особенности
- Нет отдельной программы-сервера
- Физически встраиваемая СУБД является библиотекой, статически или динамически подсоединённой к основной программе. Программа и СУБД общаются не через сетевые сокеты, а через специализированное API.[4][5]. В этом, правда, есть и недостаток: зачастую программист сам должен не допускать многопоточных гонок.
- Высокая скорость и малый расход памяти, особенно на длинных строках и BLOBах
- Благодаря специализированному API количество операций чтения-записи минимально.
- Как правило, специализированный язык запросов или неполная совместимость с SQL-92
- В угоду производительности часто разработчики реализуют или неполный SQL (SQLite)[6], или специализированный язык запросов (BerkeleyDB). К тому же встраиваемые СУБД могут действовать совсем по другому принципу, чем клиент-серверные: пинг к БД нулевой, и запрос можно выполнять по частям, несколькими обращениями к СУБД.
- Как правило, нет пользовательских прав[6]; простейшая изоляция транзакций
- Большего однопользовательской БД и не нужно. Как правило, транзакции изолируются по принципу «записываем по одному» с помощью стандартных механизмов ОС наподобие блокировки файлов. Доступ к одному файлу из нескольких программ наладить можно: так, SQLite успешно работает в малонагруженных сайтах.[7] Но высокая нагрузка ему не по зубам.
- Как правило, нет архивации и репликации БД
- Встраиваемая БД надёжна настолько, насколько надёжна библиотека СУБД и файловая система, на которой база данных располагается. Известные встраиваемые СУБД, как правило, хорошо оттестированы,[8] а современные файловые системы очень надёжны. Тем не менее, есть множество способов потерять данные, так что такие решения по надёжности уступают серверным СУБД.
- Как правило, нет языковых средств, упрощающих доступ к БД
- Специализированные СУБД-языки наподобие xBase обычно представляют собой симбиоз языка запросов и языка прикладного программирования. В языках программирования общего назначения правильность запроса будет проверена не при компиляции, а лишь тогда, когда запрос будет послан в СУБД. И, конечно же, на языке программирования общего назначения конструкции доступа к БД (как встраиваемой, так и клиент-серверной) будут тяжеловесными.
- Как правило, планы запросов отделены от их параметров и находятся под управлением программиста
- В SQLite, например, принят такой механизм: программист передаёт в СУБД SQL-запрос с «заглушками» для параметров и получает объект «откомпилированный запрос». Затем он сам, командой
bind
, подставляет в этот объект нужные параметры. Это упрощает СУБД (не нужен кэш запросов) и повышает надёжность ПО (полностью исключаются ошибки экранирования). Клиент-серверные ПО не могут позволить себе такого из-за злонамеренных клиентов, задержек сети и более жёсткой стандартизации.
Примеры
- Accuracer Database System
- Advantage Database Server
- CSQL
- EffiProz
- ElevateDB
- Встраиваемая версия InnoDB
- Empress Embedded Database
- Extensible Storage Engine
- eXtremeDB
- Встраиваемая версия Firebird
- HSQLDB
- InfinityDB
- Встраиваемая версия Informix Dynamic Server
- Встраиваемая версия InterBase
- ITTIA DB
- Kyoto Cabinet
- NexusDB
- Oracle Berkeley DB
- RDM Embedded
- ScimoreDB
- SolidDB
- SQLite
- Microsoft SQL Server Compact
- TurboDB
- Valentina DB
- VistaDB
Примечания
Что такое СУБД? Приведите 2-3 примера СУБД. Что такое СУБД? Приведите 2-3 примера СУБД
Специальным образом организованная и хранящаяся во внешней памяти компьютера взаимосвязанная информация (данные) об объектах называется базой данных (БД) . Система программ, позволяющая создавать БД, обновлять хранимую в ней информацию, обеспечивающая удобный доступ к ней с целью просмотра и поиска, называется системой управления базами данных (СУБД) PC-File, Reflex, Q&A. dBASE, Paradox — фирмы Borland, Fox Pro, Access — фирмы Microsoft.
Есть один сайт. Он называется google.com. Он поможет в решении ваших проблем. Нужно всего лишь набрать в нём запрос «СУБД» — и вы получите и определение и примеры, много всего хорошего.
СУБД — Систе́ма управле́ния ба́зами да́нных Это может быть Access или SQL Server
СУБД — система управления базами данных
>Приведите 2-3 примера СУБД Oracle, DB2, Teradata
У вас есть структурированные данные. Вы придумали, как их хранить на диске, как быстро получать/изменять/добавлять/удалять информацию в вашу базу данных. Вот вы и создали СУБД — систему управления базами данных.
СУБД — Система управления базами данных. Самые известные: MS SQL Server, MySQL, Oracle, Firebird, PostgreSQL. Но на сегодня это понятие по сути уже устаревает. Например, Microsoft SQL Server 2014 – это уже давно непросто СУБД, а полноценная платформа Business intelligence (BI) которая часто используется для построения корпоративной Бизнес – аналитики (BI). Что такое BI, а по-русски просто Бизнес – аналитика можно почитать здесь: <a rel=»nofollow» href=»http://biweb.ru/chto-takoe-business-intelligence.html» target=»_blank»>http://biweb.ru/chto-takoe-business-intelligence.html</a> <img src=»//otvet.imgsmail.ru/download/u_2fff878c5b2cb64133f91e5207dad073_800.png» alt=»» data-lsrc=»//otvet.imgsmail.ru/download/u_2fff878c5b2cb64133f91e5207dad073_120x120.png» data-big=»1″>
Система базы данных — это… Что такое Система базы данных?
- Система базы данных
Система базы данных
Система базы данных — термин, обычно используемый для объединения понятий модели данных, системы управления базами данных и базы данных[1].
Базой данных называют упорядоченное множество логически взаимосвязанных данных. Данные хранятся в специальных информационных структурах базы данных. СУБД — набор компьютерного программного обеспечения, обеспечивающего взаимодействие между пользователями и базой (или базами) данных. СУБД является оболочкой, окружающей базу данных или несколько баз данных, и отслеживает все операции, производимые с базой. Операции для большинства распространенных СУБД делятся на 4 основные группы:
- Определение Данных (Data Definition). Определение новых структур данных для базы данных, удаление ненужных структур из базы, модификация структуры существующих данных.
- Хранение Данных (Data Maintenance). Вставка новых данных в уже существующие сруктуры данных, обновление данных в существующих структурах, удаление данных из существующих структур.
- Выборка Данных (Data Retrieval). Запрашивание существующих данных пользователями и извлечение данных для использования прикладными программами.
- Управление Данными (Data Control). Создание и отслеживание пользователей базы данных, ограничение доступа к данным в базе и отслеживание производительнсти базы данных.
И база данных и ее СУБД сочетают принципы каких-либо отдельных моделей данных[2]. Модели данных бывают иерархическими, сетевыми, реляционными и объектно-ориентированными.
Ссылки
- ↑ Beynon-Davies P. (2004). Database Systems 3rd Edition. Palgrave, Basingstoke, UK. ISBN 1-4039-1601-2
- ↑ Tsitchizris, D. C. and F. H. Lochovsky (1982). Data Models. Englewood-Cliffs, Prentice-Hall.
Wikimedia Foundation. 2010.
- Система автомобильной нумерации в СССР и России
- Система беспузырной стрельбы
Смотреть что такое «Система базы данных» в других словарях:
система базы данных — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN database system … Справочник технического переводчика
распределенная система базы данных — 2.43 распределенная система базы данных (distributed database): Совокупность данных, распределенных между двумя или более базами данных. Источник: ГОСТ Р ИСО/МЭК ТО 10032 2007: Эталонная модель управления данными … Словарь-справочник терминов нормативно-технической документации
Система баз данных — Понятие система баз данных используется как в широком, так и в узком смысле. В широком смысле система баз данных понимается фактически как синоним понятия информационная система и включает в себя данные, аппаратное обеспечение, программное… … Википедия
Базы данных последовательностей — * базы даных паслядоўнасцей * sequences data bases в зависимости от профиля Б. д. п. содержат структурированную информацию о белковых, нуклеотидных либо сигнальных последовательностях, представленную в виде записей. Ниже приводится список… … Генетика. Энциклопедический словарь
Распределенные базы данных — Распределённые базы данных (РБД) совокупность логически взаимосвязанных баз данных, распределённых в компьютерной сети. Основные принципы РБД состоит из набора узлов, связанных коммуникационной сетью, в которой: а)каждый узел это полноценная СУБД … Википедия
Схема базы данных — включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных[1]. Постоянные данные в среде базы данных включают в себя схему и базу данных. Система управления данными использует… … Википедия
Иерархические базы данных — Иерархическая модель базы данных состоит из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию. Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней.… … Википедия
Таблица (базы данных) — У этого термина существуют и другие значения, см. Таблица (значения). Таблица (англ. table) (в реляционной модели данных) структура хранения данных, состоящая из строк и столбцов и обладающая следующими свойствами: значения, находящиеся в одном… … Википедия
Распределённые базы данных — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
Объектно-ориентированные базы данных — Объектно ориентированная база данных база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями. Результатом совмещения возможностей (особенностей) баз данных и… … Википедия
База данных — это… Что такое База данных?
Ба́за да́нных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ) (Гражданский кодекс РФ, ст. 1260).
Нажмите для увеличенияМногие специалисты указывают на распространённую ошибку, состоящую в некорректном использовании термина «база данных» вместо термина «система управления базами данных», и указывают на необходимость различения этих понятий.[1]
Проблемы определения
В литературе предлагается множество определений понятия «база данных», отражающих скорее субъективное мнение тех или иных авторов, однако общепризнанная единая формулировка отсутствует.
Определения из международных стандартов:
- База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.[2]
- База данных — совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения[3].
Определения из авторитетных монографий:
- База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.[4]
- База данных — некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия.[5]
- База данных — совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации.[6]
В определениях наиболее часто (явно или неявно) присутствуют следующие отличительные признаки[7]:
- БД хранится и обрабатывается в вычислительной системе.
Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются. - Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.[8] - БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).
В соответствии с ГОСТ Р ИСО МЭК ТО 10032-2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определенных с помощью схемы. Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных».[2]
Из перечисленных признаков только первый является строгим, а другие допускают различные трактовки и различные степени оценки. Можно лишь установить некоторую степень соответствия требованиям к БД.
В такой ситуации не последнюю роль играет общепринятая практика. В соответствии с ней, например, не называют базами данных файловые архивы, Интернет-порталы или электронные таблицы, несмотря на то, что они в некоторой степени обладают признаками БД. Принято считать, что эта степень в большинстве случаев недостаточна (хотя могут быть исключения).
История
История возникновения и развития технологий баз данных может рассматриваться как в широком, так и в узком аспекте.
В широком аспекте понятие истории баз данных обобщается до истории любых средств, с помощью которых человечество хранило и обрабатывало данные. В таком контексте упоминаются, например, средства учёта царской казны и налогов в древнем Шумере (4000 г. до н. э.),[9] узелковая письменность инков — кипу, клинописи, содержащие документы Ассирийского царства и т. п. Следует помнить, что недостатком этого подхода является размывание понятия «база данных» и фактическое его слияние с понятиями «архив» и даже «письменность».
История баз данных в узком аспекте рассматривает базы данных в традиционном (современном) понимании. Эта история начинается с 1955 года, когда появилось программируемое оборудование обработки записей. Программное обеспечение этого времени поддерживало модель обработки записей на основе файлов. Для хранения данных использовались перфокарты.[9]
Оперативные сетевые базы данных появились в середине 1960-х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов. Простые индексно-последовательные организации записей быстро развились к более мощной модели записей, ориентированной на наборы. За руководство работой Data Base Task Group (DBTG), разработавшей стандартный язык описания данных и манипулирования данными, Чарльз Бахман получил Тьюринговскую премию.
В это же время в сообществе баз данных COBOL была проработана концепция схем баз данных и концепция независимости данных.
Следующий важный этап связан с появлением в начале 1970-х реляционной модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли путь к тесной связи прикладной технологии баз данных с математикой и логикой. За свой вклад в теорию и практику Эдгар Ф. Кодд также получил премию Тьюринга.
Сам термин database (база данных) появился в начале 1960-х годов, и был введён в употребление на симпозиумах, организованных фирмой SDC (System Development Corporation) в 1964 и 1965 годах, хотя понимался сначала в довольно узком смысле, в контексте систем искусственного интеллекта. В широкое употребление в современном понимании термин вошёл лишь в 1970-е годы.[10]
Виды баз данных
Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий баз данных»,[4] по материалам которой написан данный раздел, определяются свыше 50 видов БД.
Основные классификации приведены ниже.
Классификация по модели данных
Примеры:
Классификация по среде постоянного хранения
- Во вторичной памяти, или традиционная (англ. conventional database): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) — как правило жёсткий диск.
В оперативную память СУБД помещает лишь кеш и данные для текущей обработки. - В оперативной памяти (англ. in-memory database, memory-resident database, main memory database): все данные на стадии исполнения находятся в оперативной памяти.
- В третичной памяти (англ. tertiary database): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.
Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.
Классификация по содержимому
Примеры:
- Географическая
- Историческая
- Научная
- Мультимедийная.
Классификация по степени распределённости
- Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.
- Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.
- Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД
- Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.
- Фрагментированная, или секционированная (англ. partitioned database): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.
- Тиражированная (англ. replicated database): методом распределения данных является тиражирование (репликация).
Другие виды БД
- Пространственная (англ. spatial database): БД, в которой поддерживаются пространственные свойства сущностей предметной области. Такие БД широко используются в геоинформационных системах.
- Временная, или темпоральная (англ. temporal database): БД, в которой поддерживается какой-либо аспект времени, не считая времени, определяемого пользователем.
- Пространственно-временная (англ. spatial-temporal database) БД: БД, в которой одновременно поддерживается одно или более измерений в аспектах как пространства, так и времени.
- Циклическая (англ. round-robin database): БД, объём хранимых данных которой не меняется со временем, поскольку в процессе сохранения данных одни и те же записи используются циклически.
Сверхбольшие базы данных
Сверхбольшая база данных (англ. Very Large Database, VLDB) — это база данных, которая занимает чрезвычайно большой объём на устройстве физического хранения. Термин подразумевает максимально возможные объёмы БД, которые определяются последними достижениями в технологиях физического хранения данных и в технологиях программного оперирования данными.
Количественное определение понятия «чрезвычайно большой объём» меняется во времени; в настоящее время считается, что это объём, измеряемый по меньшей мере петабайтами. Для сравнения, в 2005 г. самыми крупными в мире считались базы данных с объёмом хранилища порядка 100 терабайт.[11]
Специалисты отмечают необходимость особых подходов к проектированию сверхбольших БД. Для их создания нередко выполняются специальные проекты с целью поиска таких системотехнических решений, которые позволили бы хоть как-то работать с такими большими объёмами данных. Как правило необходимы специальные решения для дисковой подсистемы, специальные версии операционной среды и специальные механизмы обращения СУБД к данным.[12]
Исследования в области хранения и обработки сверхбольших баз данных VLDB всегда находятся на острие теории и практики баз данных. В частности, с 1975 года проходит ежегодная конференция International Conference on Very Large Data Bases («Международная конференция по сверхбольшим базам данных»). Большинство исследований проводится под эгидой некоммерческой организации VLDB Endowment (Фонд целевого капитала «VLDB»), которая обеспечивает продвижение научных работ и обмен информацией в области сверхбольших БД и смежных областях.
Примечания
- ↑ «Следует отметить, что термин база данных часто используется даже тогда, когда на самом деле подразумевается СУБД. […]Такое обращение с терминами предосудительно». — К. Дж. Дейт. Введение в системы баз данных. — 8-е изд. — М.: «Вильямс», 2006, стр. 50.
«Этот термин (база данных) часто ошибочно используется вместо термина ‘система управления базами данных’». — Когаловский М. Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002., стр. 460.
«Среди непрофессионалов […] путаница возникает при использовании терминов „база данных“ и „система управления базами данных“. […] Мы будем строго разделять эти термины». — Кузнецов С. Д. Основы баз данных: учебное пособие. — 2-е издание, испр. — М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007, стр. 19. - ↑ 1 2 ГОСТ Р ИСО МЭК ТО 10032-2007: Эталонная модель управления данными (идентичен ISO/IEC TR 10032:2003 Information technology — Reference model of data management)
- ↑ ISO/IEC 2382-1:1993. Information technology — Vocabulary — Part 1: Fundamental terms
- ↑ 1 2 Когаловский М. Р., 2002
- ↑ Дейт К. Дж., 2005
- ↑ Коннолли Т., Бегг К., 2003
- ↑ Мирошниченко Е. А. К формальному определению понятия «база даных» // Пробл. информатики. 2011. № 2. С. 83-87. [1]
- ↑ Важно понимать, что структурированность базы данных оценивается не на уровне физического хранения (на котором все данные представлены совокупностями битов или байтов), а на уровне некоторой логической модели данных.
- ↑ 1 2 Грей, Дж. Управление данными: прошлое, настоящее и будущее
- ↑ Haigh T. How Data Got its Base: Information Storage Software in the 1950s and 1960s // IEEE Annals of the History of Computing. — 2009. — #4 October-December
- ↑ «Экстремальные» базы данных: Cамые большие и самые быстрые, 2010 г.
- ↑ Огромная база данных
Литература
Отечественная
- Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4
- Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с. — ISBN 978-5-94774-736-2
Переводная
- Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: Вильямс, 2005. — 1328 с. — ISBN 5-8459-0788-8 (рус.) 0-321-19784-4 (англ.)
- Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management. — 3-е изд. — М.: Вильямс, 2003. — 1436 с. — ISBN 0-201-70857-4
- Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X
Иностранная